Иногда возникает необходимость загрузить LiveCD на рабочей системе с уже установленным линуксом. При использовании загрузчика grub2 необходимость в нарезке балванок отпадает. В grub1 проблема загрузки линукс образов решается патчами. Lilo не использовал никогда, возможно там тоже можно.
Кладём образ, допустим в /boot/iso/test.iso, можно использовать любой другой раздел и директорию. Для первого grub нужно указывать в любом случае где находится /boot, например (hd0,2) - номер диска, номер раздела. В grub нумерация начинается с нуля, а в grub2 c единицы. К примеру используется простая разбивка разделов. sda1 - windows, sda2 - /, sda3 - /home, sda4 - swap
Grub
# cat /boot/grub.conf title Test (Live CD) map (hd0,1)/boot/iso/test.iso (hd32) map --rehook chainloader (hd32) rootnoverify (hd32) boot
Работает для win, для linux вешается при загрузке initrd и приходится патчить, чтобы заработало. Также некоторые дистрибутивы выпускают уже пропатченные образы, но это редкость.
патч для убунту образов
Grub2
# cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Test (Live CD)" {
loopback loop /boot/iso/test.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/test.iso
initrd (loop)/casper/initrd.lz
}
# grub-mkconfig -o /boot/grub/grub.cfg
Работает для любых образов с незначительными модификациями.
