Данной статьей я не ставлю задачу ознакомить вас со всеми возможностями этого загрузчика, а только обрисую основные ситуации, для того чтобы вы смогли сделать полноценную загрузочную флешку или диск. Я не буду копипастить описание, а расскажу доступным языком все то, что я узнал в процессе его использования.
Начнем с того, что несмотря на свой мизерный размер, этот загрузчик является по сути небольшой консольной операционной системой, поддерживающий командную строку, множество команд управления, работы с файлами, управления доступом, модификации разделов, поддерживает множество файловых систем, умеет читать данные с любого из определяемых BIOS устройств, поддерживает загрузку по сети, не зависит от геометрии дисков, умеет работать с удалёнными терминалами и т.д., это при размере то чуть больше 200 килобайт!
Еще grub имеет встроенную систему помощи, которая в ответ на всегда выведет список доступных к выполнению команд, а в ответ на выдаст дополнительную информацию. Автозаполнение строки (клавиша TAB) подскажет не только синтаксис команды, но и, в некоторых случаях, варианты её продолжения (доступные устройства, разделы).
Установка GRUB4DOS в windows vista, 7, 8, 8.1, 10, 11
Но я не стану углубляться в дерби, а расскажу поверхностно, самые азы, так сказать.
Для того, чтобы загрузить grub, необходимо иметь на диске загрузочную запись (MBR) для grub-а, сам файл grldr в корневой директории диска и файл menu.lst, который содержит конфигурацию загрузчика. Еще нужна папка boot, в которой grub хранит файлы, необходимые ему для работы, файлы тем и прочий мусор. так же в эту папку можно класть образы, с которых мы будем загружаться, дабы не мозолили глаза в корневой директории и файлы субменю, если возникнет необходимость в их создании. Все это есть во вложении.
Загрузочную запись на диске можно получить различными способами. Самый простой — из-под Windows запустить файл grubinst_gui.exe и инсталлировать загрузочный сектор на нужный физический диск, затем скопировать файлы grldr и menu.lst в корневую директорию. Есть более извращенный способ — если установлена WinXP, переместить файл ntldr во временную папку (например, boot), скопировать в корневую директорию диска grldr, переименовать его в ntldr, для семерки аналогичные действия проводятся с файлом bootmgr. Этот способ хорош, если вам понадобится восстановить на место старую загрузку, достаточно скопировать обратно в корневую директорию оригинальный файл ntldr или bootmgr, и подтвердить перезапись. Плох он тем, что для загрузки системы оригинальный файл все-таки нужен, но его придется переименовать в, например, ntldr1 (bootmgr1) чтобы мы смогли загрузить ОС.
Итак, с MBR мы разобрались, приступим к конфигурированию файла menu.lst
В самом начала файла обычно пишутся команда, задающая цвет для текстового режима. Если включен графический режим, эта строка игнорируется. Выйти из графического режима можно нажав клавишу ESC.
#цветовые схемы
color light-gray/black yellow/green light-cyan/black light-green/black
Подготовка мультизагрузочной флешки [BOOTice] [GRUB4dos]
Знак решётки — комментарии, эти строки не читаются обработчиком.
Первая пара цветов определяет основной и фоновый цвета для «не выбранных» позиций меню, вторая — для «выбранных».
Для того чтобы включить графический режим, прописываются следующие команды
#загрузочная картинка
gfxmenu /boot/pictures/message33.gz
Пункт меню, на котором стоит курсор по умолчанию. Обратите внимание, нумерация ВСЕГО у груба начинается с нуля
#позиция по умолчанию
default 0
Если загрузка по умолчанию по какой-либо причине невозможна, то будет предпринята попытка выполнить позицию, указанную в команде
#если невозможна загрузка по умолчанию
fallback 1
Время в секундах с момента вывода меню до выполнения команды, определенной по умолчанию задается командой
Позиции меню описываются командой
#название пункта меню
title
Далее я просто приведу примеры загрузки осей и образов дисков, не вдаваясь в параметры команд, кому нужно, без труда отыщет их сам, благо статей и документации хватает на просторах инета
Загрузка WindowsXP
title Start Windows XP
rootnoverify (hd0,0)
chainloader /ntldr
Команда rootnoverify не проверяет тип файловой системы диска 1 раздела 1 (еще раз обратие внимание, что нумерация физических дисков и нумерация логических разделов начинается с 0), а сразу делает его корневым. Команда chainloader передает управление загрузчику ntldr и дальше загрузка Windows происходит как обычно. Если загрузочные файлы WindowsXP находятся на другом разделе или диске, соответственно измените значения на
Если вы воспользовались способом инсталляции grub с переименованием файлов, то третья строка у вас будет выглядеть примерно так
Загрузка Windows7 или Vista
title Start Windows 7
rootnoverify (hd0,0)
chainloader /bootmgr
Здесь все аналогично вышеописанному
Консоль восстановления WindowsXP (тут мне самому непонятно, но оно работает
title Recovery console Windows NT/2K/XP
find —set-root /cmldr
chainloader /cmldr
# записываем буквы «cmdcons» в память 0000:7C03 в 2 шага:
### шаг 1. записываем 4 буквы «cmdc» в 0000:7C03
write 0x7C03 0x63646D63
### шаг 2. записываем 3 буквы «ons» в 0000:7C07
write 0x7C07 0x00736E6F
наличие папки cmdcons и файла cmldr приветствуется
Как их создать, думаю объяснять не нужно
Если что ее можно взять
Grub умеет монтировать в память практически все популярные образы дисков и дискет
title Start Acronis Rescue Media 11
find —set-root //boot/ima/acronis.iso
map —mem /boot/ima/acronis.iso (hd32)
map —hook
chainloader (hd32)
boot
Естественно, образ должен лежать в папке bootimaacronis.iso
Положить вы его можете конечно в любую папку, но не забудьте изменить путь. Да, еще небольшой нюанс — в путях grub использует не левый слэш (как windows и dos) а правый / , будьте внимательны
И еще, чем больше образ, тем дольше он грузится в память. Вам может показаться, что компьютер завис, но это не так, нужно набраться терпения.
Пример монтирования и загрузки образа дискеты
title Hirens Boot CD All-In-One
map —mem /boot/ima/hiren.ima (fd0)
map —hook
chainloader (fd0)+1
rootnoverify (fd0)
Grub позволяет так же создавать субменю. например, в основном меню у вас будет 2 пункта
1. HDD Utils
2. Test Utils
Чтобы перейти к субменю, создайте файл hddutils.lst в папке boot (чтобы не мозолил глаза в корневой директории)
title HDD Utils
root (hd0,0)
configfile /boot/hddutils.lst
Файл субменю конфигурируется аналогичным образом. Для возврата в основное меню воспользуйтесь командой
title Return to main menu
find —set-root /menu.lst
configfile /menu.lst
Аналогично добавляются и остальные пункты субменю, для каждого создаем свой файл %name%.lst
В Линуксе я, мягко скажем, не силен, посему оставляю красноглазикам конфигурировать загрузку на свое усмотрение
Расскажу еще о паре фич
команда makeactive ставит флаг АКТИВНЫЙ на ЛЮБОЙ корневой раздел диска, выбранный командой root
Команда hide скрывает разделы, unhide отменяет скрытие
Поскольку ОС семейства win’9x не могут быть загружены из соседних разделов (вне зависимости от флага активности грузится все равно первый из разделов), для их загрузки нужно использовать команды hide и unhide. Так, если первый и второй первичные разделы содержат win’9x, то для загрузки второй системы нужно включить в menu.lst следующие команды:
hide (hd0,0)
unhide (hd0,1)
root (hd0,1)
makeactive
chainloader +1
Последняя команда просто передает управление загрузчику указанного раздела
Еще один геморой с ОС от мелкомягких — неспособность грузиться со второго и последующих дисков. Для его преодоления применяют технику «свопирования» (swapping technique), или, проще — «подмены». Так же работает и BIOS Setup, но какой смысл обращаться к нему, если всего две строки в menu.lst сделают то же самое?
map (hd0) (hd1)
map (hd1) (hd0)
Обратите внимание, что команды map «меняют местами» диски даже в представлении GRUB: второй диск становится после их выполнения hd0, а не hd1.
password abcd задает пароль (в данном случае abcd). Обычно помещается в конфигурационном файле и при достижении ее требует ввода пароля.
Чтобы он заработал, воспользуйтесь командой lock. Вы можете ввести пароль в любое время, нажав клавишу p.
В этом пункте пример использования подсказки для пунктов меню если отключены темы
Подсказки на английском языке, n — переход на новую строку, всего 3 строки
Подсказки можно использовать при выходе из русифицированного gfxmenu-меню, чтоб не создавать англоязычные копии менюшек
title LiveCD_4.9 256n LDR-318576 (311), TXTSETAM.SIF, multin wim-245Mb, 2009.11.21n ________________________________________ _________________________________
find —set-root —ignore-floppies /b386/SETUPLDR.BIN
chainloader /b386/SETUPLDR.BIN
Вот основной список команд, по каждой можно узнать больше, набрав в консоли (вызывается нажатием С) help имя_команды
boot — передать управление ядру, загруженному командой kernel или «чужому» загрузчику, загруженному командой chainloader,
halt — выключить машину,
help [команда] — выдать подсказку,
quit — выйти из GRUB,
reboot — перезагрузиться,
pause — ждать нажатия клавиши;
cat — вывести на экран,
cmp — сравнить содержимое двух файлов;
password — При достижении команды требует ввода пароля;
lock — блокировать выполнение команд для неидентифицированного пользователя;
partnew — создать первичный раздел,
partype — изменить тип раздела;
color — задать цвета меню,
vbeprobe — определить и вывести доступные режимы видеоадаптера,
testvbe MODE — тестировать режим MODE видеоадаптера.
Приведенный список команд не полон, но более подробное обсуждение было бы слишком объемным.
Теперь разберемся с темами оформления
Во вложении есть папка Перепаковка темы gfxboot-3.3
Из файла message33.gz извлекаем WinRAR’ом message33, копируем в папку Перепаковка темы gfxboot-3.3, далее батником Извлечь.bat извлекаем тему из message33, заходим в папку files, меняем картинку и заново упаковываем батником Упаковать.bat. Архиватором 7zip упаковываем в *.gz. Можно обойтись и Тотал Коммандером с установленным плагином, у меня работает.
Файл gfxboot.cfg это конфигурационный файл темы, в нем все прокоментировано. Про таймер не спрашивайте, это отдельная песня, я с ним не разбирался.
Подробное описание настройки gfxboot-3.3 в файле Readme_RUS.txt
В папке Примеры menu.lst комплект примеров, возможно, поможет разобраться в организации меню и найти для себя рабочие варианты загрузки. Все *.lst в кодировке UTF-8.
Ну, и последняя рекомендация, содержащаяся в инструкциях абсолютно ко всем менеджерам загрузки:до инсталляции нового менеджера загрузки сохраните MBR.
Источник: drumbumbum.livejournal.com