Консультация № 181280
13.12.2010, 05:31
0.00 руб.
0 5 0
Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:
может кто сможет подсказать в какую сторону копать, рассказать "на пальцах" может, от чего отталкиваться.
задача: организовать LiveUSB
загрузчиком стоит grub4dos
если с загрузкой BartPE или WindowsLive более менее понятно как из iso загружать, то с *nix-системами както запутался.
для WinLive (mhdd.iso, memtest.iso, acronis.iso...) делаю так:
Код:

title Запуск Win7 Rescue
map (hd0,0)/grub4dos/iso/Win7.Rescue.iso (hd32)
map --hook
root (hd32)
chainloader (hd32)
boot

c WinKey пришлось поступить так:
Код:

title Windows Key Enterprise Edition
map --mem /grub4dos/firadisk.gz (fd1)
map --mem /grub4dos/iso/WinKey.iso (hd32)
map --hook
chainloader (hd32)

а с *nix-bsd как поступить?
пробовал так:
Код:

title Запуск GeeXboX
root (hd0,0)
kernel /grub4dos/iso/geexbox/boot/vmlinuz
initrd /grub4dos/iso/geexbox/boot/initrd.gz
boot

работает, но не всегда
для Kaspersky
Код:

title Загрузка Kaspersky RescueCD
find --set-root /grldr
kernel /grub4dos/ISO/kav/rescue root=/dev/ram0 looptype=squashfs loop=/grub4dos/ISO/kav/image.squashfs subdir=/grub4dos/ISO/kav cdroot=/dev/sd[a-z][0-9] quiet init=/linuxrc
initrd /grub4dos/ISO/kav/rescue.igz

вроде работает

а вот если в образе загрузчик стоит isolinux - то как его перевести в grub?
что и как переписывать из isolinux.cfg в grub?

Спасибо

Обсуждение

Неизвестный
13.12.2010, 09:38
общий
Во первых LiveCD часто имеют механизм для записи себя на флешку (в общем случае сделать раздел, распаковать себя туда, поставить grub4dos) через пункт меню/значок на рабочем столе.
Во вторых linux легко ставится на флешку и работает с нее (не в livecd режиме, а в полноценном с сохранением данных и обновлением), при этом ставится нормальный grub, которым можно грузить другие операционки с других разделов флешки.
Ну, а если руками, то тогда нужно искать в файлах isolinux такие примерно строки:
Код:

kernel /casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --

и приводить к виду (не проверено на работоспособность)
Код:

kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash
initrd=/casper/initrd.gz

Так как-то вероятно.
Если вообще не понятно, что и как, можно распаковать initrd и посмотреть, как происходит поиск устройства и монтирование коневого каталога.
Неизвестный
13.12.2010, 12:38
общий
Цитата: 303901
Во первых LiveCD часто имеют механизм для записи себя на флешку

ну так то там несколько LiveCD а мЭханизм почему то обычно любит считать себя единственным :(
Во вторых linux легко ставится на флешку и работает с нее (не в livecd режиме, а в полноценном с сохранением данных и обновлением), при этом ставится нормальный grub, которым можно грузить другие операционки с других разделов флешки.

тоесть? вот есть образ с grub и образ с isolinux. вот как их подружить? т.е. меню привести к виду:
Код:

-загрузка ОС
-- ОС1 (nix1)
-->
-- ОС2 (isolinux)
-->
Неизвестный
13.12.2010, 17:50
общий
Цитата: 8870
ну так то там несколько LiveCD а мЭханизм почему то обычно любит считать себя единственным :(

Обычно так и есть. Это нужно для того, чтобы посмотреть, что будет прописано в конфиг grub4dos.
Цитата: 8870
тоесть? вот есть образ с grub и образ с isolinux. вот как их подружить? т.е. меню привести к виду:

Вставляем флешку, грузим убунту или slax или debian или еще что-то. Уменьшаем GPartedом раздел vfat на флешке, чтобы было пустое место 4-5 Gb. Запускаем установку, выбирем там "я умный, укажу разделы самостоятельно", создаем в пустом месте раздел в ext4, точка монтирования / и ставим туда штатным образом.
Таких разделов можно сделать несколько с разными дистрибутивами.
grub4dos с раздела с виндовыми livecd прописывается в меню нормального grub как
kernel grub.exe
хотя полностью не уверен.
У меня по крайней мере таким образом он прописан в меню isolinux.
[offtop]
А зачем нужен Windows Key Enterprise Edition, если можно в любой livecd доставить пакет chntpw и получить то же самое.
[/offtop]
Неизвестный
13.12.2010, 18:42
общий
А скачался образ iso live. Подумал, а что мне мешает добавить еще что нибудь. вот под руку winkey и попался
Вставляем флешку, грузим убунту или slax или debian или еще что-то. Уменьшаем GPartedом раздел vfat на флешке, чтобы было пустое место 4-5 Gb. Запускаем установку, выбирем там "я умный, укажу разделы самостоятельно", создаем в пустом месте раздел в ext4, точка монтирования / и ставим туда штатным образом.

нет. вроде не то. по инету порылся - там по другому. типа как у меня в вопросе. только вот разобраться туговато получается пока. не дружу я с никсами (((
Неизвестный
14.12.2010, 10:24
общий
Цитата: 8870
нет. вроде не то. по инету порылся - там по другому.

В данный момент именно таким образом ставлю убунту на "флешку" (usb жесткий диск).
Иначе можно просто создавать по разделу на каждый livecd и копировать туда содержимое диска. Должно работать.
Как конкретно запускать, чтобы находился свой корень - надо смотреть содержимое initramfs - каждый делает по своему.
Если попроще, то можно тупо запустить udev, дождаться, пока он определит жесткие диски и примонтировать в /cdrom или еще куда там предполагается по uuid, так как монтировать все по порядку и искать файл-маркер медленно и не очень правильно. То есть запустить livecd или скачать его сборщик, собрать там initramfs с указанным выше алгоритмом в premount для флешки, записать куда-нибудь, скопировать содержимое livecd на раздел флешки, подменить initrd.gz, поправить меню grub4dos.
Форма ответа