- Grub4dos
- Получение Grub4dos
- Установка Grub4dos на жёсткий диск
- Команды Grub4dos
- Загрузка ISO-образов в Grub4dos
- Загрузка Grub4dos «по цепочке»
- Загрузка Grub4dos по цепочке в Windows NT/2000/XP
- Загрузка Grub4dos по цепочке в Windows Vista/7/8
- Загрузка Grub4dos из Linux
- Запуск других загрузчиков из Grub4dos
- Создание условных меню
- Литература
- Справочная информация
- Установка grub4dos из linux
Grub4dos
Grub4dos это специальная версия загрузчика операционных систем GRUB для использования в DOS и Windows системах.
Grub4dos умеет загружаться с жёсткого диска, USB-флешек и CD/DVD дисков, если используется поддерживаемая им файловая система, а также выступать в качестве PXE-загрузчика. Grub4dos в состоянии полностью заменить оригинальный загрузчик операционной системы, например как описано в статье Модернизация загрузчика Windows 7. Grub4dos обеспечивает запуск инструментов, других систем прямо с ISO-образов, расположенных на жёстком диске, используя механизм «загрузки-по-цепочке».
Получение Grub4dos
Для получения загрузчика Grub4dos
# в браузере может быть использована страница sourceforge.net/grub4dos или # wget http://download.gna.org/grub4dos/grub4dos-0.4.4-2009-06-20.zip
Установка Grub4dos на жёсткий диск
Для установки Grub4dos на жёсткий диск/USB-флешку
- запускается операционная система Linux, например Parted Magic
- подключается целевое устройство — USB-флешка или жёсткий диск
- содержимое пакета с загрузчиком распаковывается на целевое устройство, например в корневую систему
- в каталоге с загрузчиком выполняется команда
# bootlace.com --time-out=0 --no-backup-mbr --mbr-disable-floppy /dev/sda где /dev/sda это целевое подключённое устройство
Для установки Grub4dos на USB-флешку/жёсткий диск из FreeDOS
- запускается операционная система FreeDOS
- подключается целевое устройство — USB-флешка или жёсткий диск
- содержимое пакета с загрузчиком распаковывается на целевое устройство, например в корневую систему
- в каталоге с загрузчиком выполняется команда
# bootlace.com 0x80 - установка на первый жёсткий диск # bootlace.com 0x81 - установка на второй жёсткий диск
Для начала использования загрузчика Grub4dos следует создать файл конфигурации меню C:\menu.lst
Команды Grub4dos
Файл конфигурации Grub4dos состоит из команд (неполный список)
# комментарий - знак решётки - указание загрузчику не обрабатывать строку boot - передача управления ядру, загруженному командой kernel или "следующему" загрузчику, по команде chainloader color light-gray/black yellow/green light-cyan/black light-green/black - задаёт цвета меню cat - выводит на экран содержимое файла cmp - сравнивает содержимое двух файлов chainloader /ntldr - передает управление загрузчику, в примере /ntldr chainloader (hd0)+1 - передает управление на загрузочный сектор устройства (hd0) chainloader +1 - передает управление на загрузочный сектор корневого устройства configfile /cfg/next.lst - открывает файл конфигурации, перейти в субменю default 0 - установка пункта меню по умолчанию, выполняемого по истечении таймаута fallback 1 - установка пункта меню выполняемого, если невозможна загрузка по умолчанию find --set-root /file - поиск файла и установка раздела на котором он расположен в качестве корневого halt - выключение рабочей станции help [команда] - вывод подсказки для команды gfxmenu /boot/message33.gz - установка фоновой графической картинки, оно же русификация меню lock - блокировка выполнения команд для пользователя не указавшего пароль команды password quit - выход из GRUB, в DOS makeactive - установка флага АКТИВНЫЙ на раздел диска, выбранный командой root map (hd0) (hd1) - "свопирование" разделов для обеспечения возможности загрузки windows со второго и последующих дисков map (hd1) (hd0) timeout 20 - установка времени в секундах до выполнения команды следующей команды title Boot Name - название пункта меню testvbe MODE - тестирование режима MODE видеоадаптера password abcd - установка пароля, при достижении команды требует ввода пароля pause - ожидание нажатия клавиши partnew - создание первичного раздела partype - изменение типа раздела rootnoverify (hd0,0) - отмена проверки тип файловой системы диска выбранного командой root root (hd0,1) - выбор корневого (текущего) диска reboot - перезагрузка рабочей станции hide - скрытие раздела жёсткого диска unhide - отменяет скрытие раздела жёсткого диска vbeprobe - определение и вывод доступных режимов видеоадаптера
Эти же директивы могут быть использованы в командной оболочке загрузчика, вызываемой при запущенном меню клавишей C.
Загрузка ISO-образов в Grub4dos
Grub4dos поддерживает загрузку систем расположенных на ISO-образах, как прямо с жёсткого диска, так и предварительно перемещая их в оперативную память. В этом смысле Grub4dos выгодно отличается от других загрузчиков семейства Grub. Загрузка с ISO-образов может быть востребована для восстановления или обслуживания системы, например с помощью ERD Commander.
Для добавления в Grub4dos загрузки с ISO-образа
Внимание! следует помнить, что : если ISO-образ размещается в оперативной памяти компьютера - то ОЗУ компьютера должно быть больше, чем загружаемый ISO-образ если ISO-образ "загружается" с жёсткого диска - то он должен быть непрерывным (не содержать фрагментов) и не быть сжатым
title Boot from ISO find --set-root /.iso map --sectors-per-track=0 --heads=0 /.iso (0xff) || map --sectors-per-track=0 --heads=0 --mem /.iso (0xff) map --hook chainloader (0xff) boot
Загрузка Grub4dos «по цепочке»
Для использования Grub4dos нет необходимости устанавливать его основным загрузчиком жёсткого диска. Grub4dos может быть внедрён в системах Linux и Windows путём организации загрузки «по цепочке».
Загрузка Grub4dos по цепочке в Windows NT/2000/XP
Операционные системы Windows NT/2000/XP, а также Windows Server 2000/2003 используют загрузчик ntldr.
Для загрузки Grub4dos «по цепочке» из NTLDR
- специальный загрузчик grldr размещается в доступном месте, например в корне диска C:\
Внимание! В сжатой ntfs-системе лучше деактивировать сжатие файла grldr.
- рядом с файлом grldr создаётся файл конфигурации меню C:\menu.lst
- в меню загрузчика ntldr — C:\boot.ini — добавляется строка с пунктом загрузки
Загрузка Grub4dos по цепочке в Windows Vista/7/8
Операционные системы Windows Vista/7/8 используют загрузчик bootmgr.
Для загрузки Grub4dos «по цепочке» из Bootmgr
- специальный файл Grub4dos — grldr.mbr (образ MBR диска) — размещается в доступном месте, например в корне диска C:\
- рядом с файлом grldr.mbr размещается специальный загрузчик Grub4dos grldr
Внимание! В сжатой ntfs-системе можно деактивировать сжатие файлов grldr.mbr и grldr.
- рядом с файлом grldr создаётся меню загрузчика Grub4dos — например C:\menu.lst
- запускается командная строка Windows от имени Администратора, например так
> runas /user:Администратор cmd.exe
> bcdedit /create /d "Grub4Dos" /application bootsector - создание новой записи с именем "Grub4Dos" в хранилище данных конфигурации загрузки > set store= - где это идентификатор созданной записи, выданный первой командой > bcdedit /set %store% device partition=C: - указание раздела на котором находится файл grldr.mbr > bcdedit /set %store% path \grldr.mbr - ввод имени файла > bcdedit /displayorder %store% /addlast - смещение новой записи в конец меню
Дополнительно могут быть использованы команды > bcdedit — просмотр параметров всех установленных пунктов меню > bcdedit /set description «Новое название» — изменение названия записи с указанным > bcdedit /default — задание системы с указанным загружаемой по умолчанию > bcdedit /timeout XX — задание времени показа меню перед загрузкой (в секундах) > bcdedit /delete — удаление записи с указанным
Загрузка Grub4dos из Linux
Операционные системы Linux,*nix (на текущий момент) используют загрузчик Grub2.
Для загрузки Grub4dos «по цепочке» из Grub2 — так называемое «Grub to Grub» — на примере Debian
menuentry "Grub4Dos" --class gnu-linux < linux16 /boot/grub4dos/grub.exe --config-file=/boot/grub4dos/menu.lst >
Запуск других загрузчиков из Grub4dos
Grub4dos поддерживает загрузку «по цепочке» ОТ СЕБЯ множества других загрузчиков напрямую или через MBR раздела, на котором они установлены.
Примеры организации запуска Grub4dos «по цепочке» в файле конфигурации menu.lst
title Chainload (hd0) # "цепочка" с MBR жёсткого диска, где установлен другой загрузчик root (hd0,1) # указание на второй раздел первого жёсткого диска rootnoverify chainloader +1 # передача управления к MBR на устройстве (hd0,1) boot
title Windows XP booting # "цепочка" на загрузчик NT-версий Windows NTLDR find --set-root /ntldr # поиск и установка корневым раздела с загрузчиком ntldr chainloader /ntldr # передача управления к загрузчику ntldr boot
Создание условных меню
Grub4dos (начиная с 2012 г.) поддерживает организацию условных меню. Условный пункт меню формируется в зависимости от наличия/отсутствия файла в доступном для загрузчика месте.
Синтаксис условного меню Grub4dos
iftitle [if exist //filename] TitleName label command .
Например iftitle [if exist файл.iso] Загрузка файла.iso - если файл.iso отсутствует, то пункт меню не будет отображаться map --mem файл.iso (hd32) map --hook chainloader (hd32)
Внимание! 1. После открывающей скобки [ и перед закрывающей ] пробелы отсутствуют. 2. На файловой системе NTFS проверка [if exist] может осуществляться как к файлу, так и к папке. А на FAT32 только к файлу.
Литература
Справочная информация
- 08.05.2011: Grub4dos: создание статьи, описание установки grub в windows xp и загрузки с ISO-образа
- 04.04.2014: Grub4dos: актуализация описания, добавлены разделы Установка Grub4dos на жёсткий диск и Команды Grub4dos
- 06.02.2015: Grub4dos: добавлен раздел Загрузка Grub4dos из ntldr
- 17.02.2016: Grub4dos: добавлен раздел Создание условных меню
- 21.03.2018: Grub4dos: добавлен раздел Загрузка Grub4dos из Bootmgr
Установка grub4dos из linux
Требуется: операционная система на базе ядра linux. Файл bootlace.com .
Его можно взять из пакета grub4dos (http://sourceforge.net/projects/grub4dos/).
Если имеем полноценную ОС типа Debian или Slackware, устанавливающих на диск системный каталог программ (/bin), то установку загрузочной записи на флешку можно свести к одной команде:
sudo bootlace.com [устройство] (например bootlace.com /dev/sdb)
Флеш-диски в linux обозначаются sdX, где X — номер диска.
Просмотреть список доступных дисков можно так:
Для удобства пользования поместим файл bootlace.com в корневую папку /bin системы. Теперь если в терминале набрать bootlace.com, то увидим следующее:
Т.е. мы поместили программу в систему и можем использовать её в любом месте так же, как и встроенные команды.
Программа сообщила нам, что отсутствует необходимый параметр и вывела справку.
При успешной записи MBR программа выводит сообщение:
Если же мы работаем из системы типа Puppy или Slax, то нам необходимо иметь файл bootlace.com. В командной строке набираем полный путь к программе, например:
sudo /media/Flash-disk/soft/bootlace.com [устройство]
Есть другой способ прописать главную загрузочную запись MBR на диск с помощью двух строчек команд, так сказать напрямую:
sudo dd if=~/grldr.mbr of=/dev/sdX bs=440 count=1
sudo dd if=~/grldr.mbr of=/dev/sdX skip=1 seek=1
Не забудте поместить файл grldr.mbr из архива grub4dos в домашний каталог.
Далее необходимо поместить сам загрузчик на флешку: достаём из архива grub4dos файл grldr и размещаем его в корне диска.
Всё, загрузчик установлен.
0 Спам
Во! Отлично! Отличная статья. А то все под досом ставим и под виндой граб. Особенно понравилось с добавлением файла bootlace.com в каталог bin. Удобно с livecd
0 Спам
> В командной строке набираем полный путь к программе, например:
Или:
cd /media/Flash-disk/soft/
sudo ./bootlace.com
0 Спам
Статья конечно хорошая . но название . э-э-э. несколько неправильное. Оно должно было быть: «Установка Grub4Dos из под linux«. А то я решил что эта статья про то как загрузку в Grub4Dos линукса настроить.