Библиотека сайта rus-linux.net
Как загрузить компьютер с ISO-образа на жестком диске с помощью Grub
Оригинал: How to boot on an ISO image from GrubАвтор: Adrien Brochard
Дата публикации: 17 ноября 2014 года
Перевод: А. Кривошей
Дата перевода: декабрь 2014 г.
Если вам требуется использовать в работе несколько дистрибутивов Linux, это можно реализовать несколькими способами. Вы можете установить все дистрибутивы на жесткий диск, использовать виртуальные машины или загружаться с ISO-образа в live-режиме. Третий вариант наименее требователен к дисковому пространству - вам нужен только ISO-образ на жестком диске, и вы загружаетесь с него в live-режиме, получая полнофункциональную среду для работы. Я покажу как сделать это, используя популярный загрузчик Grub.
Требования
Естественно, вам потребуется Grub, но он и так используется в подавляющем большинстве дистрибутивов Linux. Вам также нужен ISO-образ, с которого вы будете загружаться, на вашем жестком диске. И вы должны знать, где расположен ваш загрузочный раздел, и как выразить его название на языке Grub. Для этого воспользуйтесь командой:
# fdisk -l
Загрузочный раздел помечен символом "*". У меня это /dev/sda1, что на языке Grub записывается как (hd0,1).
Соответственно sda2 будет (hd0,2), sdb1 будет (hd1,1) и так далее.
Правка конфигурационных файлов
Сначала откройте файл /etc/default/grub, и проверьте, что следующая строка:
#GRUB_HIDDEN_TIMEOUT=0
действительно закомментирована, то есть перед ней стоит "#".
Сохраните файл и откройте /etc/grub.d/40_custom.
В этот файл вы внесете аргументы для загрузки ISO-образа. Структура файла следующая:
menuentry "[Entry's title in the grub screen]" { set isofile="[path to ISO file]" loopback loop [boot partition in Grub language]$isofile [some specific] arguments }
Например, если вы хотите загружать из ISO-образа Ubuntu, вам необходимо добавить в этот файл следующий текст:
menuentry "Ubuntu 14.04 (LTS) Live Desktop amd64" { set isofile="/boot/ubuntu-14.04-desktop-amd64.iso" loopback loop (hd0,1)$isofile linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash initrd (loop)/casper/initrd.lz }
Если вы захотите вместо этого запустить Gparted:
Или Fedora:
Обратите внимание, что аргументы меняются в зависимости от дистрибутива. Их описание нетрудно найти в интернете. Кроме того, проверьте, где хранится ваш образ. Если ваша домашняя директория зашифрована, или недоступна по какой-либо другой причине, лучше поместить образ в загрузочную директорию, как показано в примере, если там достаточно дискового пространства.
В конце не забудьте сохранить файл 40_custom и обновить настройки grub с помощью команды:
# sudo update-grub
Что дальше?
Хотите узнать больше? Поигравшись с аргументами, вы можете настроить загрузку так, чтобы дистрибутив, загружающийся с ISO-образа, начал немедленно выполнять какую-либо задачу. Например, вы законченный параноик, и хотите иметь возможность быстрого стирания жесткого диска. Это можно сделать с помощью чего-нибудь типа DBAN. Теперь будьте предельно осторожны, так как приведенная ниже конфигурация при выборе этой опции сотрет ваш диск без возможности восстановления.
menuentry "Darik's Boot and Nuke" { set isofile="/boot/dban.iso" loopback loop (hd0,1)$isofile linux (loop)/dban.bzi nuke="dwipe" silent }
Альтернатива:
menuentry "Darik's Boot and Nuke" { set isofile="/boot/dban.iso" loopback loop (hd0,1)$isofile linux (loop)/dban.bzi }
покажет вам опции DBAN и позволит выбрать стирание жесткого диска.
Будьте осторожны, так как это также очень опасно для ваших данных.
Подводя итоги, можно сказать, что возможность загрузки с ISO-образа может помочь вам во многих вещах, начиная от быстрой загрузки образа и заканчивая быстрым стиранием данных. Все зависит от вашей фантазии.