LINUX.ORG.RU

Заставить запустится через Grub4DOS в LiveUSB

 


0

1

Всем добрых дней! Пользуюсь Strelec LiveUSB, в нем есть загрузчик Grub4DOS, этот загрузчик работает через файл menu.lst В этом файле можно прописать параметры загрузки дистрибутивов, которые распакованы из .ISO в папки на самой флешке, например E:\Linux\ubuntu

Флешкой Strelec я пользуюсь из-за удобства, она позволяет иметь сразу несколько систем и загружать их очень просто и быстро.

Некоторые дистрибутивы прекрасно работают и запускаются кодом в menu.lst который написан автором Strelec LiveUSB, а вот некоторые нет и это проблема. Спросить автора или написать ему не представляется возможным. Я достаточно долго спрашивал нейросети о том, что можно поменять, и сейчас мы застряли на этапе «Система загружается, но не вся».

Вот пример кода из файла.

title Kaspersky Rescue Disk 10 
find --set-root /Linux/KRD10/live/vmlinuz
kernel /Linux/KRD10/live/vmlinuz boot=live live-media-path=/Linux/KRD10/live/ kav_lang=ru kavshell vga=791 debug
initrd /Linux/KRD10/live/initrd.img
boot

Позволяет загрузить диск, даже графический интерфейс, но не позволяет использовать саму программу антивируса в образе, даже ярлыки будто удалены. (Сам диск пишет что ошибка в KRD.service (Такого файла на диске нет)

сам автор предлагает следующий код

iftitle [if exist  /Linux/krd2018/boot/grub/initrd.xz] Kaspersky Rescue Disk 2018
set _path= /Linux/krd2018
set lang=ru
# en=English; ru=Russian
set _kernel=k-x86_64
checkrange 0,1 is64bit && set _kernel=k-x86_64
find --set-root %_path%/boot/grub/%_kernel%
kernel    %_path%/boot/grub/%_kernel% net.ifnames=0 lang=%lang% dostartx trace subdir=%_path%/data
initrd    %_path%/boot/grub/initrd.xz
boot

Который вообще не работает.

Самое смешное, что я помню как заставлял работать этот образ как нужно, только не помню какой код использовал. krd2018 и KRD10 имеют одинаковую структуру и не важно что использовать, ни то ни другие не работает нормально.

если сделать ход конем и загрузится через .ISO

iftitle [if exist /Linux/KRD10/krd10.iso] Kaspersky Rescue Disk 10 1
find --set-root --ignore-floppies /Linux/KRD10/krd10.iso
map /Linux/KRD10/krd10.iso (0xff) || map --mem /Linux/KRD10/krd10.iso (0xff)
map --hook
chainloader (0xff)

Загрузка пойдет, только мы даже не выйдем в графический интерфейс и ошибка будет раньше.

Добавлю что некоторые версии linux, например ubuntu. Вообще не загружаются, ни если скачать (Как рекомендуется автором) Ubuntu Desktop amd64, ни Ubuntu LiveUSB.

Для примера привожу еще один рабочий код

iftitle [if exist /Linux/kalilinux2019/live/initrd.img] Kali Linux 2019 amd64
kernel /Linux/kalilinux2019/live/vmlinuz boot=live live-media-path=/Linux/kalilinux2019/live components splash username=kali hostname=kali noeject
initrd /Linux/kalilinux2019/live/initrd.img

Здесь все загружается и работает как нужно.

Я честно пытался разобраться сам, через нейросети, менял сам код и пробовал разное, зашел в тупик. Все рекомендации выполнены, почему не работает не знаю. Если вы сможете помочь, будет помощь даже не мне, а другим людям у которых такие же сложности.

У этого STRELCA и сайт есть, где он делает православные сборочки Windows.

Скажите пожалуйста, зачем вам работать именно со Strelec LiveUSB? Цель ваша какая? Запускать много разных ОС с флешки? Для этого есть оригинальные рабочие решения, на основе которых ваш SERGEI скорее всего и сделал свой SCOROSTRELEC.

Если вы так хотите отведать сергеевского strelca, то почему не напишите ему напрямую?


Если отойти от шуток, то расскажите подробнее, что кроме запуска разных ОС предлагает этот STRELEC. Вдруг там какое-то чудо?

mamina_radost
()
Последнее исправление: mamina_radost (всего исправлений: 1)
Ответ на: комментарий от mamina_radost

Благодарю за ответ!

Сайт у него есть, только ни форума, ни формы для связи. Регистрацию отключил.

Этот LiveUSB первый который я нашел, и поскольку он нужен дай бог один раз в пару лет, нет смысла делать свою сборку. Немного докрутить, добавить пару образов, как эти антивирусы и линукс систему, а большего не надо. Я бы добавил что автор обновляет сборку, хотя учитывая что эта проблема с загрузкой никем не исправляется, то так себе плюсы.

Потому что иной вариант, как я вижу. Это поделить флешку на разделы и туда уже залить нормальный загрузчик и все iso образы которые нужны. Если ситуацию нельзя решить в параметрах самого LiveUSB, то пусть их два будет.

lofiska
() автор топика

Двачую верхнего, попробуй ventoy.
Сам я grub4dos тыкал лет 15 назад, но тогда с этими вот kernel, initrd не заморачивался, а просто маппил iso-образы. Единственный ньюанс здесь - образы не должны быть фрагментированы на флешке. Проще всего это устранялось ее опустошением и закидыванием всего нужного сразу скопом\подряд без удалений.

sehellion ★★★★★
()

Как вам уже посоветовали, возьмите Ventoy. Это самая актуальная на данным момент программа с функционалом множественной загрузки ОС. На гитхабе 66к звёзд, значит программа находится в постоянной поддержке.


С ума сойти! Нашёл по названию этого STELCA целове видео на ютубу, где азиат на английском реально обозревает с причмокиванием православные сборки виндовс аля зверь, только современные версии. Спасибо вам @lofiska вы открыли для меня новый пласт интернета.

mamina_radost
()
Ответ на: комментарий от krasnh

Да, действительно. Теперь запускается оригинальный образ KRD2018

Верный код, без пробела:

iftitle [if exist  /Linux/krd2018/boot/grub/initrd.xz] Kaspersky Rescue Disk 2018
set _path=/Linux/krd2018
set lang=ru
# en=English; ru=Russian
set _kernel=k-x86_64
checkrange 0,1 is64bit && set _kernel=k-x86_64
find --set-root %_path%/boot/grub/%_kernel%
kernel    %_path%/boot/grub/%_kernel% net.ifnames=0 lang=%lang% dostartx trace subdir=%_path%/data
initrd    %_path%/boot/grub/initrd.xz
boot

Сейчас скачав krd2018 и сравнив с KRD10, увидел что они отличаются по структуре. У krd2018 есть файлы initrd.xz в папке grub, у KRD10 есть только initrd.img в папке Live.

Попробовал загрузить KRD10, поменяв код оригинала

iftitle [if exist /Linux/krd10.iso] Kaspersky Rescue Disk 10
find --set-root --ignore-floppies /Linux/krd10.iso
map /Linux/krd10.iso (0xff) || map --mem /Linux/krd10.iso (0xff)
map --hook
chainloader (0xff)

Выдает ошибку

Unable to find a medium containing a live file system

lofiska
() автор топика

загрузчик Grub4DOS

оно ещё живое?! // пользовался лет 10-15 назад

Позволяет загрузить диск, даже графический интерфейс, но не позволяет использовать саму программу антивируса в образе, даже ярлыки будто удалены. (Сам диск пишет что ошибка в KRD.service (Такого файла на диске нет)

Вероятно, какие-то проблемы с монтированием файловой системы этого live ISO. Может чего-то не находит («не видит») сам носитель и/или директории на нём, может проблема в

дистрибутивов, которые распакованы из .ISO в папки на самой флешке

В файловой системе iso9660 есть «фишки» которых нет и быть не может в FAT32 (флешка же FAT32?). Поэтому «распакованный» образ может быть не работоспособным.

некоторые версии linux, например ubuntu. Вообще не загружаются

да, помню такое. Убунта очень «нетерпима» к ручным модификациям загрузочных образов // это прошлый опыт, может нагнетаю – давно не было необходимости «тыкать» образы Убунту

Для себя решил вопрос через большую флешку (64 ГБ мне хватает):

  • создаю разделы «в стиле GPT» // возможно это не работает с legacy загрузкой – но я «старых» компов давно не видел, поэтому так
  • образ заливается в раздел
  • далее либо «прошивка» компа видит загрузочный раздел(ы), либо используется какой-либо загрузчик на компьютере (Grub и т.д.) для передачи хода на загрузчик в образе

Тебе после загрузки в графику надо было выполнить диагностику:

  • dmesg просмотреть на предмет ошибок и др. подозрительных сообщений
  • посмотреть чего там намонтировано (lsblk, mount, …)
  • посмотреть состояние сервиса с ошибкой systemctl status <service_name>

дальше бы появились бы идеи (или нет :) что с этим всем делать

anonymous
()
Ответ на: комментарий от anonymous

Ошибок почти нет

 2.433897] piix4_smbus 0000:00:07.3: SMBus Host Controller not enabled!
[   18.434537] Bluetooth: hci0: unexpected cc 0x0c12 length: 2 < 3
[   18.435804] Bluetooth: hci0: Opcode 0x0c12 failed: -38
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0 460.9M  1 loop /usr/lib/live/mount/rootfs/filesystem.squashfs
                                 /run/live/rootfs/filesystem.squashfs
sda      8:0    0     2G  0 disk 
sdb      8:16   0  29.5G  0 disk 
└─sdb4   8:20   0  29.5G  0 part /usr/lib/live/mount/medium
                                 /run/live/medium
sr0     11:0    1  1024M  0 rom  

А вот в /var/log/krd.log

KL product is <KRD2024>
Can't find SRM folder at </run/live/medium/live/KRD>!
lofiska
() автор топика
Ответ на: комментарий от lofiska

Can’t find SRM folder at </run/live/medium/live/KRD>!

Так в образе диска krd.iso есть еще несколько сжатых squashfs, которые нужно монтировать! Они лежат в live/KRD.
Нужно смотреть с какими заклинаниями запускает ядро grub внутри образа диска. Из файла boot/grub/krd_menu.cfg:

linux /live/vmlinuz boot=live components findiso=${iso_path} locales=${krd_locale}

В вашем конфиге отсутствуют команды «components findiso=…», поэтому система инициализации внутри initrd.img не находит и не монтирует необходимые SRM образы.

sigurd ★★★★★
()

Решили проблему запуска krd2018 из-за пробела, думаю этого достаточно. В случае необходимости запуска сторонних ISO, хороший совет создать мультисборку с Ventoy и запускать образы из него. Всем спасибо за помощь.

lofiska
() автор топика