Установка Grub4Dos на жесткий диск




 Вам уже стало известно какой "мощный" инструмент представляет Grub4Dos и сколько разных возможностей предоставляет. Теперь вы бы хотели загружать его с жесткого диска с установленной на нем Windows XP/Vista/7/8, выбирая Grub4Dos в меню загрузчика Windows.

В данной статье я покажу как добавить запись в меню загрузки, не изменяя загрузчика по умолчанию (в WinXP - это ntldr и конфигурационный файл boot.ini, в WinVista/7/8 - это bootmgr с конф.базой BCD). Познакомлю со средствами работы с конф.базой BCD, а именно, с консольной утилитой встроенной в WinVista/7/8 - bcdedit, и программой с GUI интерфейсом от NeoSmart Technologies - EasyBCD. Также приведу скрипт для автоматического добавления записи Grub4Dos в меню загрузки ОС.


Рассмотрим 2 ситуации:

1. У нас есть WinXP и его загрузчик ntldr.
2. У нас есть Windows XP/Vista/7/8 с современным оригинальным загрузчиком bootmgr.

Начнем с простого:
Добавление Grub4Dos в меню загрузки Windows XP.

1. Скачиваем последний Grub4Dos.
2. Распаковываем grldr и menu.lst из скачанного архива в корень активного диска (можно и в другое место, но тогда придется прописывать другие пути).
3. Редактируем boot.ini. В конец файла дописываем:
C:\grldr="Grub4Dos"
В результате получим файл boot.ini примерно следующего содержания:


Так же можем изменить время и пункт загружаемый по умолчанию.
Перезагружаемся и теперь мы можем выбрать Grub4Dos.


Примечание:
В menu.lst я обязательно первым бы пунктом сделал возврат в данное загрузочное меню, т.е.:

title Boot HDD0
chainloader (hd0)+1
rootnoverify (hd0)

Добавление Grub4Dos в меню загрузки Windows Vista/7/8.

Итак, у нас имеется загрузчик bootmgr, через который грузятся другие ОС. Он устанавливается с WinVista/7/8. Наиболее понятным средством для работы с ним является программа EasyBCD. Освоить ее не составит труда, все просто и понятно. Но она не предоставит тех возможностей как консольная утилита bcdedit. Поэтому я покажу как работать именно с ней.

1. Прежде чем преступать к правке загрузочной конфигурации, советую подготовить диск восстановления системы потому, что неправильные действия могут привести к невозможности загрузки ОС. Так же для восстановления загрузочной информации советую обратиться к этой статье.
2. Загружаемся в Windows Vista/7/8.
3. Скачиваем последний Grub4Dos.
4. Распаковываем grldr.mbr, grldr и menu.lst из скачанного архива в корень диска содержащий хранилище BCD (можно и в другое место, но тогда придется прописывать другие пути), обычно это активный основной раздел с загрузчиком bootmgr.
5. Запускаем ком.строку от имени администратора.
6. Создаем резервную копию BCD:

bcdedit /export C:\BCD.bak

Чтобы в случае чего можно было востаниться до начального состояния командой:

bcdedit /import C:\BCD.bak

7. Создадим новую запись с именем "Grub4Dos" в хранилище данных конфигурации загрузки:

bcdedit /create /d "Grub4Dos" /application bootsector

8. В ответ получим id созданной записи, который подставим в последующие три команды за место {id}:

bcdedit /set {id} device partition=C:
bcdedit /set {id} path \grldr.mbr

bcdedit /displayorder {id} /addlast

9. Смотрим что получилось. Вводим команду bcdedit без параметров:

bcdedit

У меня получилось следующее (кроме Win7 у меня есть запись с WinXP):




Видим что у нас добавилась запись Grub4Dos.

10. Выходим из ком.строки. Перезагружаем ПК. Видим что у нас теперь есть возможность грузить Grub4Dos из меню загрузки ОС.

Расскажу еще про несколько параметров команды bcdedit:

- Удаление записи с указанным {id}:
bcdedit /delete {id}
- Изменение названия записи с указанным {id}:
bcdedit /set {id} description "Новое название"
- Задание системы с указанным {id} загружаемой по умолчанию:
bcdedit /default {id}
- Задание таймаута :
bcdedit /timeout XX
где XX – время в секундах.

Скрипт автоматического добавления Grub4Dos в меню загрузки Windows XP/Vista/7/8.

Данный скрипт позволяет автоматически определять ОС, и в зависимости от системы работает с конфигурационными файлами загрузчика.

Для его запуска скачиваете этот архив. Распаковываете его на диск С: (активный диск с системой и загрузчиком). И запускаете от имени администратора.

Архив состоит из след.файлов:

grldr - сам загрузчик grub4dos
grldr.mbr - запись загрузочного сектора (ищет grldr в корне дисков и передает ему управление)
install.bat - cам скрипт
libiconv2.dll - библиотеки программы sed
libintl3.dll - библиотеки программы sed
menu.lst - конф.файл grub4dos
sed.exe - потоковый текстовый редактор (Sed)

Скрипт install.bat имеет следующее содержание:
@echo off
ver | find "XP" > nulif %ERRORLEVEL% == 0 goto ver_xp
goto ver_vista
:: Windows XP:ver_xp
:: Backupattrib -R -H -S c:\boot.inicopy c:\boot.ini c:\boot.ini.bak
:: Check if installedfindstr /L grldr "c:\boot.ini" > nulif %ERRORLEVEL% == 0 goto END
:: Add boot entryecho C:\grldr="GRUB4DOS" >> "c:\boot.ini"
:: create restore.bat file for XPecho attrib -R -H -S "c:\boot.ini" >> restore.batecho %CD%\sed -ri "/grldr/d" "c:\boot.ini" >> restore.batecho %CD%\sed -ri "s/$/\r/" "c:\boot.ini" >> restore.bat
goto END
:: Windows Vista:ver_vista
:: Check if installedSet BCDEDIT=C:\windows\System32\bcdedit.exe%BCDEDIT% /enum | findstr /L grldr > nulif %ERRORLEVEL% == 0 goto END
:: Backup%BCDEDIT% /export "C:\BCD.bak"attrib +H +S C:\BCD.bak
:: Add boot entrySet GUIDFILE=bcdguid.txt%BCDEDIT% /create /d "GRUB4DOS" /application bootsector > %GUIDFILE%sed -ri "s/[^{]*([^}]+}).*/\1/" %GUIDFILE%set /p GUID= < %GUIDFILE%
%BCDEDIT% /set %GUID% device partition=%SYSTEMDRIVE%%BCDEDIT% /set %GUID% path \grldr.mbr%BCDEDIT% /displayorder %GUID% /addlast
:: create restore.bat file for Vistaecho %BCDEDIT% /delete %GUID% >> restore.bat
goto END
:END

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