LINUX.ORG.RU

Grub2 iso


0

3

Посмотрел разные примеры. Возник вопрос, а можно просто загрузится с образ не прописывая пути к ядру итд. Так как это происходит когда идет загрузка с реального СД через менюшку биоса...

в виртулке запросто

anonymous ()

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

Даже при загрузке с ISO пути к kernel и initrd прописывать надо. Выглядит как-то так.

Есть, конечно, ещё вариант использовать chainloader, тогда прописывать пути не надо, но внутри ISO должен быть свой загрузчик.

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

Внутри iso почти всегда свой загрузчик же. Как туда chainload'нуться?

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

Нет, что-то я не догоняю. К примеру есть исошка с фри-досом. Находится на sda2/fd.iso (ext4, mode 777)

Как ее загрузить?

loopback loop (hd0,2)/fd.iso
chainloader (loop)
error: invalid file name `'.

loopback loop (hd0,2)/fd.iso
chainloader (loop)+1
error: invalid signature
drivemap (hd0,2)/fd.iso (hd32)
chainloader (hd32)
error: hd32 connotget C/H/S values
chainloader (hd0,2)/fd.iso
error: invalid signature

chainloader (hd0,2)/fd.iso +1
error: invalid signature
LinuxDebian ★★★★ ()

Я вот сколько не бился, так и не смог этого сделать. Подпишусь на тему, интересно.

false ★★★★★ ()
Ответ на: комментарий от LinuxDebian

Я попробую с конкретно твоей схемой и отпишусь, сейчас просто времени нет :)

sT331h0rs3 ★★★★★ ()
Ответ на: комментарий от LinuxDebian

Экспериментировал с виртуалкой и лайвцд. Есть /dev/sda. В нём партишн /dev/sda1 с ext4, примонтировал тупо к /home/ubuntu/1. Ставим груб (специально проверил, чтобы была версия >=2.0):

grub-install --force --root-directory=/home/ubuntu/1 /dev/sda
Кладём исошник FreeDOS fd11src.iso (хз, почему src - но это не исходники) в корень /dev/sda1.

Создаём файл /home/ubuntu/1/boot/grub/grub.cfg и наполняем следующим:

menuentry "FreeDOS 1.1" {
 set root=(hd0,1)
 loopback loop /fd11src.iso
 linux16 (loop)/isolinux/memdisk 
 initrd16 (loop)/isolinux/fdboot.img
}

Ребутаемся, убирая лайвцд, всё грузится.

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

Вот! В том то и дело, так и у меня работает:

linux16 (loop)/isolinux/memdisk
initrd16 (loop)/isolinux/fdboot.img

Вы указали путь к ядру и загрузчику. А если не известно, что на диске? То есть может ли он «эмулировать диск» из запустится с него так как это делается в биосе, без каких либо явных указаний?

LinuxDebian ★★★★ ()
Ответ на: комментарий от sT331h0rs3

Есть, конечно, ещё вариант использовать chainloader, тогда прописывать пути не надо, но внутри ISO должен быть свой загрузчик.

Да вот это именно и интересно. Первый вариант я знаю. Есть загрузчик как на него перейти? К примеру тот же фриидос, когда я монирую его в виртуалку она же сама находит загрузчик в исошке...

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

Хорошо. Про чейнлоадинг напишу через некоторое время.

sT331h0rs3 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.