Заметки программиста | info.sectorit.net

 
Загрузочный CD/DVD диск с Grub2 (1.99) PDF Печать E-mail
Оценка пользователей: / 0
ПлохоОтлично 
OS - Ubuntu
Автор: Sorbing    11.08.11 12:03

Сейчас этих загрузочных дисков и флешек тьма (тот же Hirens Boot CD решает в 95% случаев)! Зачем снова поднимать тему?

Эта статья идет в продолжение VMWare Workstation 7.1.4 под Ubuntu 11.04. Поскольку у меня был TIB-образ винды, который нужно развернуть с помощью Acronis TIH14 возник вопрос: "Как перенести образ TIB с Windows 7 в пустую виртуальную среду?".

Шаринг папок отпадает - система еще не установлена, добавил второй виртуальный HDD на который смонтировал раздел физического диска - так ATIH его не видит.. В итоге смонтировал виртуальный диск (предварительно размеченый) в реальную систему, залил туда образ TIB и только теперь я смог развернуть систему с помощью Acronis (загруженный с BootCD на виртуальной машине). Я подумал: "Нахрен такой геморой!", можно ж проще: разбираем ISO-образ ATIH, добавляем в него образ системы, которую хитим развернуть, пакуем обратно в ISO (конечно с загрузочным сектором) и все в шоколаде! Мы имеем один загрузочный исошник с ATIH и самим TIB-архивом.

Них..на из этого не вышло! Т.к. Акронис лихо пакует свои загрузочные образы - то ли скрывая файлы, то ли размещая их все в загрузочном секторе (выходя за доступные 2KB) MBR.

Но идею с размещением архива TIB на одном (загрузочном) диске с ATIH я отбросить не смог. Решение было следующим:

  • Создаем пустой BootCD используя загрузчик GRUB2;
  • В меню добавляем опцию загрузки оригинального образа ATIH (да и другой софт можно по желанию);
  • На этот же, получается уже, DVD-диск добавляем TIB-архив;

Приступим...

Что бы создаем пустой BootCD с GRUB2 нужно:

  1. Создаем в нашей домашней директории /home/user скелет нашего BootCD (дерево каталогов): /bootcd - это будет корнем нашего будущего диска; В этом каталоге создаем вложенные директории: /boot/grub;  Полный путь к каталогу /grub: /home/user/bootcd/boot/grub/
    Дальше я буду опуска путь до корневой директории надего будущего BootCD - /home/user
  2. Создаем базовый конфигурационный файл (он же файл меню) /bootcd/boot/grub/grub.cfg:
    # Timeout for menu

    set timeout=5
    # Set default boot entry as Entry 0
    set default=0
    # ATIH 14
    menuentry "ATIH 14" {
    loopback loop /iso/ATIH_2011_14.0.0.6857.iso
    set root=(loop)
    set gfxpayload=1024x768x32
    linux /Recovery\ Manager/kernel.dat quiet
    initrd /Recovery\ Manager/ramdisk.dat
    }

    Меню GRUB2 будет в текстовом режиме без картинок - "красотульки" мне пока ни к чему.
  3. Создаем загрузочный ISO:
    grub-mkrescue -o /home/user/bootcd.iso /home/user/bootcd
    * При ошибке "/usr/bin/grub-mkrescue: 317: xorriso: not found" установите xorriso: apt-get install xorriso
    ** Посмотреть версию GRUB: dpkg -l | grep grub

!!! Не путать Grub2 и Grub4dos - это не один и тот же загрузчик и синтаксис комманд у них отличается !!!

 

Комманды Grub2

set isofile="/iso/ATIH_2011_14.0.0.6857.iso" - объявить переменную $isofile. Вызывать также: $isofile

loopback loop $isofile - создаем loop-устройство и монтируем к нему iso

set root=(loop) - установить корневой раздел. Можно указать любое устройство или каталог (комманда set устанавливает значение для параметра: set parav=value)

linux /Recovery\ Manager/kernel.dat quiet - загрузить ядро. Аналог команды kernel.

initrd /Recovery\ Manager/ramdisk.dat - загрузить initrd.

ls - посмотреть доступные устройства (CD, HDD, FDD)

ls / - посмотреть содержимое корневого раздела

set gfxpayload=1024x768x24 - установить параметры монитора (set gfxpayload=800x600x16, 800x600)

boot - используется для загрузки указанного ядра и файла инициализации из консоли Grub2. В меню "граба" указывать эту комманду не обязательно.

 

Grub2 на WiKi (рус),

Последнее обновление: 12.08.11 11:52
 

Добавить комментарий


Защитный код
Обновить

Поиск


[+]
  • Increase font size
  • Decrease font size
  • Default font size
  • default color
  • blue color
  • green color