Интересная Особенность Grub2: Загрузка Из Iso-Файла.

Вообще-то я хотел посмотреть на Unity. Судя по фото и видео, вроде ничего.

Да, это проблема.

На виртуальной машине запустить нельзя - требуется 3D. Я сам сторонник KDE. Основная ОС на ноуте — kubuntu. Что ж, думаю, мы сможем установить вторую систему.

Кажется, есть немного свободного места.

ХОРОШО.

Скачиваю образ Нэтти, сжигаю, но это ад. Оказалось, что мой компакт-диск не работает. Ноутбук уже довольно старый.

В биосе тоже нет загрузки с флешек.

После минуты паники решение было найдено.

Оказалось, что grub2 научился понимать формат ISO 9660 и может загружать ОС напрямую из ISO-образа, расположенного на жестком диске.

Как выяснилось позже, не все системы готовы к такому повороту событий.

Многие люди по тем или иным причинам путаются при скачивании.

К счастью, Ubuntu не входит в их число.

Что ж, давайте начнем.

Первый шаг — добавить новый пункт меню в Grub2. Для этого отредактируйте /etc/grub.d/custom_40, добавив в конец файла следующие строки:

menuentry "Ubuntu Live" { set root=(hd0,7) loopback loop /ubuntu-11.04-desktop-amd64.iso linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-11.04-desktop-amd64.iso noeject noprompt -- initrd (loop)/casper/initrd.lz }

И что мы здесь сделали: В «set root» указываем раздел, в котором находится iso-образ В «loopback-loop» создаем петлевое устройство, к которому монтируем наш iso-файл (см.

, например, инструкцию по монтированию, раздел «Loop Device», если вы не знаете, что это за петлевое устройство).

Следующие две строки указывают расположение ядра и образа initrd относительно корневого цикла устройства (путь к файлам ядра и initrd внутри ISO-образа).

Если кто-то попытается это повторить, имейте в виду: 1. В set root=(hd0,7) необходимо заменить 7 на номер раздела на вашем компьютере, в котором находится iso-образ системы.

Например, если вы загрузили ubuntu-11.04-desktop-amd64.iso в раздел /dev/sda1, строка изменится на set root=(hd0,1).

2. Я загрузил ISO в корень моего домашнего раздела (то есть (hd0.7).

Если у вас есть образ в какой-либо папке, укажите полный путь к образу относительно корня.

Обновите файл конфигурации grub2:

update-grub

Собственно, дальше я создал с помощью fdisk новый раздел для будущей второй системы и перезагрузился.

Как и ожидалось, в загрузочном меню появился новый пункт «Ubuntu Live», который сразу же был выбран.

Никаких инцидентов при загрузке не было, но вместо Юнити меня встретил Гном :-) Дрова для моей нвидиа в раздачу не входят. Пришло время начать установку.

Нажимаю установить.

После выбора разделов для /, swap и /home меня ждала очередная неудача.

Ubiquity сразу отказалась продолжать, аргументируя это тем, что у меня смонтирован раздел.

Чтобы создать петлевое устройство с нашим образом Ubuntu, grub2 сначала смонтировал раздел, на котором находился этот самый образ.

И не важно, что этот раздел никак не появился среди претендующих на какую-либо модификацию при установке, установщик Ubiquity был непреклонен и отказался продолжать установку.

После недолгих поисков в Google оказалось, что я не первый, кто с этим столкнулся.

Проблема решилась удалением строки с смонтированным разделом (в моем случае это был /dev/sda7) из /etc/mtab. Это нужно было сделать до начала установки.

После его удаления все пошло как по маслу.

Установка завершилась успешно, я установил драйвер видеокарты и после перезагрузки.

ТА-ДА.



Интересная особенность Grub2: загрузка из ISO-файла.
</p><p>

После успешного опыта работы с Ubuntu я решил проверить, насколько универсален этот метод загрузки.

Я должен сообщить, что многие дистрибутивы с этим справляются не очень хорошо.

Сначала grub2 должен быть установлен в основной системе (той, загрузчик которой мы используем).

Grub и другие загрузчики не могут загрузить систему с ISO на диске.

Проблема еще и в том, что разработчики дистрибутива, который мы скачиваем этим способом, должны явно предусмотреть возможность скачивания из ISO-файла.

В Ubuntu, если вы посмотрите на строку в файле конфигурации grub2, в которой указан путь к ядру, вы увидите, что ядру передается специальный параметр iso-scan/filename, который явно указывает, что система загружается с ISO-образа.

файл.

Загрузка из файла ISO работает в дистрибутивах на базе Ubuntu (Mint, Kubuntu, Mythubuntu, BackTrack.).

Поддержка загрузки из ISO-файла есть в Gentoo, SystemRescueCD и нескольких менее известных дистрибутивах: Sidux, Grml, Xbmc. Этот метод также можно использовать для загрузки небольших дистрибутивов, которые после распаковки initrd полностью помещаются в память и не используют файлы образа.

Например, CentOS, Debian (и, возможно, многие другие дистрибутивы) имеют так называемые образы «netinstall», которые содержат только минимум и все пакеты устанавливаются по сети.

Fedora пока «не умеет» загружаться этим методом (хотя в их баг-трекере есть ошибка и работа в этом направлении ведется).

Также этот метод пока не работает в Arch и Debian. Теги: #настройка Linux #grub2

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.