Если у вас есть iso-образ установочного диска Ubuntu и есть уже установленная система, то для того, чтобы загрузить установщик Ubuntu, имеющийся iso даже не обязательно записывать на cd-диск - вы можете загрузиться и произвести установку непосредственно из iso-образа. Для этого вам потребуется установленный загрузчик GRUB2, через который мы и будем загружаться.

Сложность состоит в том, что загрузочное устройство с образом должно быть примонтировано как отдельный носитель. Если жёсткий диск только один, и нет ни cdrom, ни флешки, то решить проблему можно двумя способами, описанными ниже:

  • Использовать утилиту UNetbootin, которая особым образом распакует содержимое образ в корень жёсткого диска и создаст пункты меню Grub.
  • Попытаться создать виртуальный диск в оперативной памяти, с помощью утилиты MemDisk.

Если же есть другой жёсткий диск, то используйте третий способ.

Загрузка утилитой UNetbootin

Утилита UNetbootin (Universal Netboot Installer) имеет простой GUI-интерфейс. Она особым способом распаковывает содержимое образа в корень жёсткого диска и создаёт пункты меню Grub. Установка:

sudo apt-get install unetbootin

Запустить и задать способ установки:

  • По сети, выбрав «Дистрибутив» и его «Версию»
  • С образа диска, выбрав «Образ диска» и путь к образу iso/img.

В пункте «Тип» выбираем «Жёсткий диск». Далее нажать «OK» и перезагрузить компьютер. В меню Grub появятся пункты, из них верхний «UNetbootin» будет загружать заданный образ.

При повторном запуске утилиты она спросит, удалить ли установленный в корне диска образ. (В текущей версии утилита может удалить не всё, оставив в корне диска пустые папки.)

Загрузка с образов Alternate или Desktop

В прежних версиях Ubuntu было разделение установочных дисков на Alternate и Desktop, ниже приведём способы для них.

Загрузка с образа Alternate

В этом разделе описывается загрузка с образа установочного диска Alternate. Для Desktop-диска данный способ не работает.

В нашем примере iso-образ будет называться «ubuntu-9.10-alternate-i386.iso» и лежать в папке ~/iso, которая находится на отдельном home-разделе. Приступим!

Перезагрузите компьютер и дождитесь появления загрузочного меню grub2. Если вместо меню обычно отображается надпись «grub loading…» - нажмите в этот момент Esc. Попав в меню, нажмите C, чтобы перейти в консоль grub2. Здесь мы и будем орудовать.

Монтирование iso-образа производится командой

loopback loop (hd0,6)/username/iso/ubuntu-9.10-alternate-i386.iso

самое интересное здесь - (hd0,6). Первая цифра обозначает номер жесткого диска, где 0 - первый жесткий диск (/dev/sda в Linux), 1 - второй (/dev/sdb) и т.д. вторая цифра обозначает номер раздела на диске, здесь нумерация начинается с единицы. То есть «hd0,6» соответствует разделу номер 6 на первом жестком диске (или же /dev/sda6). Дальше следует полный путь к файлу, начиная от корня файловой системы.

Если честно, hd0 будет именоваться тот жесткий диск, с которого производилась загрузка. Разобраться во всем этом поможет команда ls, которая выведет список найденных разделов. Кроме того, для лучшего понимания grub2 почитайте статью о нем.

После монтирования iso-образа можно для проверки выполнить команду

ls

среди всего прочего должно появиться устройство (loop). Если оно есть - установим его в качестве корневого раздела, т.к. именно с него мы будем загружаться:

set root=(loop)

Данная операция завершится не сразу, т.к. размер установочного iso-образа тоже не мал. По завершении появится сообщение о том, что задан корневой раздел (loop) с файловой системой iso9660. Теперь осталось совсем немного. загрузите ядро такой командой:

linux /install/vmlinuz file=/preseed/ubuntu.seed

Теперь нужно загрузить initrd-образ, содержащий в себе сам установщик и все необходимое для его работы:

initrd /install/initrd.gz

Если все хорошо - даем команду на загрузку:

boot

После этого замелькают строчки загрузки и через несколько секунд вы увидите знакомый синий экран alternate-установщика. Если все прошло успешно - установщик найдет нужные файлы без лишних вопросов. Если же все остановится на этапе «поиск и монтирование cdrom» - где-то что-то не получилось :)

P.S. Несмотря на кажущуюся сложность, все весьма просто и логично. И времени занимает даже меньше, чем прожиг болванки. А отсутствие постоянных обращений к приводу сильно облегчит последнему жизнь.

P.P.S. Поскольку содержимое iso-образа распаковывается в оперативную память, рекомендуется наличие как минимум гигабайта таковой.

Загрузка с образа Desktop

Данная инструкция работает для iso образов Lucid Desktop и более новых и предположительно должна работать для Karmic

Сначала скачайте куда-нибудь образ Ubuntu Desktop. Я загрузил Ubuntu Lucid amd64 Desktop образ, переименовал его в ubuntu.iso и положил в корень sda7 раздела. Главное запомните полный путь до образа от корня раздела и номер этого самого раздела. Можно перезагружаться.

Если вы хотите устанавливать Ubuntu с запущенного таким вот образом iso, то учтите две вещи:
  1. Ваш iso образ не должен лежать на винчестере, на который вы будете устанавливать Ubuntu и который является загрузочным. Иначе ничего не получится. И не важно, на какой вы положите его раздел. Это ограничение можно обойти, смотрите способы в соседних разделах.
  2. После запуска Ubuntu с iso зайдите в терминал, наберите mount и удостоверьтесь, что в выводе действительно нет разделов, удовлетворяющих п.1.

На самом деле проще всего положить образ Ubuntu на флешку, которая определиться в GRUB как (fd0). Но в этом случае возможно разумней будет сделать Live Flash из iso образа с помощью встроенной в Ubuntu утилиты создания загрузочных флешек.

При загрузке компьютера когда появится меню GRUB нажмите клавишу C. Вы попадёте в консоль GRUB. Наберите

ls

Появится список всех ваших разделов. Найдите там нужный, в моём случае он будет называться (hd0,7). hd0 - это обычно sda, hd1 - sdb, и т.д.1)

Теперь выполните

loopback loop (hd0,7)/ubuntu.iso

Поставив нужный вам диск и полный путь до iso образа ubuntu. Если всё успешно сработало, то пишем

set root=(loop)

Далее грузим ядро Linux командой

linux /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso noprompt

Не забудьте поменять путь до образа!

В новых версиях, таких как 13.04, может встретиться ошибка '/casper/vmlinuz file not found', тогда необходимо указать расширения файла .efi
linux /casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu.iso noprompt

Потом initrd:

initrd /casper/initrd.lz

Всё, можно загружаться. Даём команду

boot

и ждём, пока загрузится LiveCD Ubuntu.

Загрузка с помощью grub-imageboot и MemDisk

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

Способ требует объёма памяти, соответствующего размеру образа, и в большинстве случаев не работает по непонятным причинам. Также требуется тестирование настроек.

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

Для работы пригодится утилита grub-imageboot:

sudo apt-get install grub-imageboot

Она ищет файлы образов в папке, указанной в конфиге /etc/default/grub-imageboot.conf (по умолчанию »/boot/images»). Обновление меню Grub запускается командой

sudo update-grub

У этого способа вполне вероятны проблемы с загрузкой. Можно попробовать в /etc/grub.d/40_custom в строке «linux /memdisk iso» поменять параметр «iso» на «raw» или «bigraw». Смотрите справку по MemDisk и рецепты в интернет.

Ссылки

1) См. device.map в /boot/grub