Большинство дистрибутивов Linux предлагают живую среду, которую вы можете загрузить с USB-накопителя, чтобы протестировать систему без установки. Вы можете использовать его для оценки дистрибутива или в качестве одноразовой ОС. Хотя их легко скопировать на USB-диск, в некоторых случаях может потребоваться часто запускать один и тот же ISO-образ или регулярно запускать разные. GRUB 2 можно настроить так, что вам не нужно записывать ISO-образы на диск или использовать USB-накопитель, а нужно запускать живую среду непосредственно из меню загрузки.
Получение и проверка загрузочных ISO-образов
Чтобы получить ISO-образ, вам обычно следует посетить веб-сайт нужного дистрибутива и загрузить любой образ, совместимый с вашей установкой. Если образ можно запустить с USB-накопителя, он также должен иметь возможность запускаться из меню GRUB.
После завершения загрузки образа вам следует проверить его целостность, выполнив простую проверку md5. В результате будет выве
Contents
Получение и проверка загрузочных ISO-образов
олов.которую вы можете сравнить с контрольной суммой MD5, представленной на странице загрузки. Они должны быть идентичными.
Настройка GRUB 2
Образы ISO содержат полные системы. Все, что вам нужно сделать, это направить GRUB2 к соответствующему файлу и указать ему, где он может найти ядро и файловую систему initramdisk или initram (в зависимости от того, какую из них использует ваш дистрибутив).
В этом примере живая среда Kubuntu 15.04 будет настроена для запуска на компьютере Ubuntu 14.04 в качестве пункта меню Grub. Он должен работать для большинства новых систем и производных на базе Ubuntu.
В этом примере файл kubuntu-15.04-desktop-amd64.iso
живет в /home/maketecheasier/TempISOs/
на /dev/sda1
.
Чтобы GRUB2 искал его в нужном месте, вам нужно отредактировать
/etc/grub.d/40_custom
файл, который позволяет вам добавлять свои собственные пункты меню. Файл уже должен существовать и содержать несколько строк.
Настройка GRUB 22024/05/rundirectiso-40-custom-empty.png" alt="rundirectiso-40-custom-пустой">
Чтобы запустить Kubuntu из указанного выше местоположения, добавьте следующий код (после настройки его в соответствии с вашими потребностями) под разделом комментариев, не изменяя исходное содержимое.
menuentry "Kubuntu 15.04 ISO" { set isofile="/home/maketecheasier/TempISOs/kubuntu-15.04-desktop-amd64.iso" loopback loop (hd0,1)$isofile echo "Starting $isofile..." linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash initrd (loop)/casper/initrd.lz }
<
Разбор приведенного выше кода
Сначала настройте переменную с именем $menuentry
. Здесь находится файл ISO. Если вы хотите перейти на другой ISO, вам нужно изменить бит в том месте, где написано isofile="/path/to/file/name-of-iso-file-.iso"
.
В следующей строке вы указываете устройство обратной связи; вам также необходимо указать правильный номер раздела. Здесь написано
loopback loop (hd0,1)$isofile
Обратите внимание на бит hd0,1
; это важно. Это означает первый жесткий диск, первый раздел (/dev/sda1
).
Именование GRUB здесь немного сбивает с толку. Для жестких дисков отсчет начинается с «0», то есть первый жесткий диск №0, второй №1, третий №2 и т. д. Однако для разделов отсчет начинается с 1. Первый раздел – №1, второй — №2 и т. д. Для этого может быть веская причина, но не обязательно разумная (конечно, с точки зрения UX это катастрофа)..
Это делает первый диск, первый раздел, который в Linux обычно выглядит примерно так: /dev/sda1
, в GRUB2 становится hd0,1
. Второй диск, третий раздел будет иметь размер hd1,3
и так далее.
Следующая важная строка –
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
Он загрузит образ ядра. На новых компакт-дисках Ubuntu Live он будет находиться в каталоге /casper
и называться vmlinuz.efi
. Если вы используете другую систему, в вашем ядре
Разбор приведенного выше кода
.efiили оно может находиться где-то совсем в другом месте (вы можете легко это проверить, открыв ISO-файл с помощью менеджера архивов и заглянув внутрьquiet splash,
, будут вашими обычными параметрами GRUB, если вы захотите их изменить.
Наконец
initrd (loop)/casper/initrd.lz
загрузит initrd
, который отвечает за загрузку RAMDisk в память для загрузки.
Загрузка работающей системы
Чтобы все заработало, вам нужно будет всего лишь обновить GRUB2
sudo update-grub
Когда вы перезагрузите систему, вам должна быть представлена новая запись GRUB, которая позволит вам загрузить только что настроенный ISO-образ.
Выбор новой записи должен загрузить вас в живую среду, точно так же, как при загрузке с DVD или USB.