Загрузка образа с помощью grub

Иногда возникает необходимость загрузить 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

Работает для любых образов с незначительными модификациями.


← Предыдущая заметка
Отправляем копию писем по расписанию на разные адреса.
Следующая заметка →
Поднятие точки доступа WiFi на домашнем сервере.
10 августа 2011, 13:48    Иван Linux 0    4352 0

Вы можете авторизоваться на сайте через:


       

Комментарии ()

    Вы должны авторизоваться, чтобы оставлять комментарии.