Загрузка с iso-образа через GRUB

Загрузка с iso-образа через GRUBЗагрузка с iso-образа через GRUB позволяет загрузить систему с образа диска в формате ISO, в частности, Live CD, таким же образом, как и с использованием физического дисковода и CD или DVD. Ну, не точно таким же, но очень похожим. И, соответственно, вы можете, к примеру, проверить файловую систему, побродить в Интернете, поработать с дисковыми разделами, и так далее. И самое приятное в том, что для этого не надо прилагать больших усилий, надо просто немного поменять конфигурацию GRUB’а. Вот как это сделать.

Размещение iso-образов

Образ диска в формате iso должен размещаться в том разделе, с которого загружается система. Для указания загрузчику раздела надо помнить, как обозначаются разделы в конфигурационных файлах GRUB’а. Первый раздел первого диска (sda1) будет обозначаться как «(hd0,1)», второй раздел (sda2) как «(hd0,2)» и так далее.

Добавление пунктов в меню загрузчика

Для добавления пунктов меню для загрузки с образов iso нужно добавить соответствующие записи в файл /etc/grub/40_custom. Формат записей будет выглядеть примерно так:

menuentry "<Название пункта меню>" { 
    set isofile="<Полный путь к файлу iso>"
    loopback loop <Загрузочный раздел>$isofile 
    <Дополнительные параметры (kernel, initrd,...)>
}

Например, для GParted пункт меню будет выглядеть так:

menuentry "GParted Live CD i486" { 
    set isofile="/boot/iso/gparted-live-0.18.0-1-i486.iso" 
    loopback loop (hd0,1)$isofile 
    loopback loop $isofile 
    linux (loop)/live/vmlinuz boot=live config union=aufs noswap noprompt ip=frommedia toram=filesystem.squashfs findiso=${isofile} 
    initrd (loop)/live/initrd.img 
}

После загрузки этого пункта меню вы увидите работающую систему с запущенной программой GParted.

Загрузка с iso-образа через GRUB

Для Tails пункт будет выглядеть следующим образом:

menuentry "Tails 1.5 i386" { 
    set isofile="/boot/iso/tails-i386-1.5.iso" 
    loopback loop (hd0,1)$isofile 
    loopback loop $isofile 
    linux (loop)/live/vmlinuz boot=live config apparmor=1 security=apparmor nopersistent timezone=Etc/UTC block.events_dfl_poll_msecs=1000 noautologin module=Tails findiso=$isofile
    initrd (loop)/live/initrd.img 
}

Загруженная система будет выглядеть так:

Загрузка с iso-образа через GRUB

А для Kali Linux чуть попроще:

menuentry "Kali Linux 2.0 i386" { 
    set isofile="/boot/iso/kali-linux-2.0-i386.iso" 
    loopback loop (hd0,1)$isofile 
    loopback loop $isofile 
    linux (loop)/live/vmlinuz boot=live username=root hostname=kali findiso=${isofile} 
    initrd (loop)/live/initrd.img 
}

И она, соответственно, будет выглядеть так:

Загрузка с iso-образа через GRUB

После изменения файла /etc/grub.d/40_custom не забывайте выполнять команду

update-grub

 

Загрузка с iso-образа через GRUB: 1 комментарий

  1. RiD_32

    Наконец то нашёл то, что работает. На остальных сайтах написано, что в строке linux (loop)/live… нужно писать iso-scan/filename=$isofile root=(loop). Но с этими параметрами live-система не загружается. Загружается только с findiso=${isofile}. Огромное спасибо!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.