Наши партнеры

UnixForum





Библиотека сайта 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
}

файл /etc/grub.d/40_custom

Если вы захотите вместо этого запустить Gparted:

Или Fedora:

Обратите внимание, что аргументы меняются в зависимости от дистрибутива. Их описание нетрудно найти в интернете. Кроме того, проверьте, где хранится ваш образ. Если ваша домашняя директория зашифрована, или недоступна по какой-либо другой причине, лучше поместить образ в загрузочную директорию, как показано в примере, если там достаточно дискового пространства.
В конце не забудьте сохранить файл 40_custom и обновить настройки grub с помощью команды:

# sudo update-grub

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-образа может помочь вам во многих вещах, начиная от быстрой загрузки образа и заканчивая быстрым стиранием данных. Все зависит от вашей фантазии.