Grub4dos не найден необходимый драйвер
Всем доброго времени суток. Недавно я приобрёл себе флешку на 32 ГБ и был очень счастлив. Захотелось мне на неё залить несколько установочных образов винды, да ещё и свою сборку загрузочной флешки впридачу. Попутно встал вопрос как это делать.
«Ну конечно! Надо же просто смапить образ и запустить загрузку!» — радостно подумал я, и начал проводить сие действие. Но ничего не получилось. А точнее — установщик выпал в BSOD. Смапить в оперативку образ не получилось. То есть получилось, но далеко не с ожидаемым результатом. Установщик даже загрузился, но вот ставить ничего не стал, сославшись на недоступность носителя установки. Флешку я никуда не девал, поэтому лицезреть сию надпись было, как минимум, неприятно.
… спустя два часа гугла и немного говнокода не самого лучшего кода на свет родилась программка с трудно выговариваемым названием WinInstall4Grub4DOS, в которую были впихнуты все утилиты, которые могут понадобиться для создания загрузочной флешки с любым количеством установочных образов Windows, кои не только загружаются и работают, но ещё и устанавливают ОСь. Результат получилось совместить с моей основной загрузочной флешкой, чем я был доволен как слон :). Ну ладно, теперь ближе к делу.
Интерфейс программы представлен на скриншоте ниже:
Для начала необходимо скачать ISO-образы Windows с любого доступного источника. Подойдут абсолютно любые образы, от пиратского Зверя, до оригинальных MSDN-образов.
Выбираем папку с ISO-образом. Их может быть сколько Вам угодно: к примеру недавно я подготавливал сразу 2 образа Windows 8.1 для установки с флешки.
Если в папке нету iso-образов — программа уведомит Вас об этом. Если же они там есть — на следующей странице программа покажет какие именно образы будут обработаны. Если там будет образ диска, например, с фильмом — ничего хорошего из этого не выйдет. Так что лучше сразу смотреть чтобы такого не случилось. Вдобавок некоторые антивирусы могут распознавать в интеграторе FiraDisk (заметьте — не в самой программе!) вирус, поэтому антивирусные программы лучше на время отключить. И процесс быстрее будет, и всяких неожиданностей таким образом можно избежать. К примеру у меня AVG распознавал вирус в программе, кажется, hidcon.exe (программа для запуска bat-скриптов без консольного окна), из-за чего интегратор FiraDisk вылетал. Приходилось самому выдирать из него ImageX и размонтировать wim-образ вручную.
Программа даёт нам список iso-файлов, найденных в выбранной папке:
Если Вы уверены, что лишнего у Вас там ничего нет — можете нажимать «Далее >>». Откроется интегратор FiraDisk, в нём нажмите «ОК». Пойдёт процесс интеграции драйвера в iso-образ установщика Windows. Этот драйвер нужен для того, чтобы при загрузке образа программа установки не выдавала ошибки отсутствия источника установки, и единственное, что он делает — монтирует iso-образ в PE-систему, в которой выполняется установщик Windows. Операция интеграции драйвера достаточно долгая, пока можете сходить попить чаю.
ISO-образы обработаны, переходим к следующему шагу:
Уже почти всё. Самое время зайти в папку с iso-образом и посмотреть на результат нашей работы. Появилась копия iso-образа с префиксом FiraDisk. Если образов было несколько — появится несколько обработанных. Их и нужно скопировать на флешку. Лучше создать для этого определённую папку в корне флешки, например Boot. Русских букв, пробелов и спецсимволов в названии не должно быть, название iso-образа также не должно содержать их. Идеальный вариант названия iso-образа Вы можете увидеть на предыдущих скриншотах.
Программа предлагает сохранить необходимые утилиты:
На этой странице мы можем сохранить утилиты для превращения обычной флешки в загрузочную. Что это и зачем нужно можно узнать нажав на самую большую кнопку. Лучше всё же сразу сохранить эти утилиты, чем лазать по интернету ищя где их скачать.
Если Вы не знаете предназначение этих утилит — лучше прочитайте внимательно. Иначе велика вероятность того, что ничего не получится.
Если в BootICE при выборе флешки становится недоступной кнопка Process MBR — форматируем флешку с помощью HP USB Disk Storage Format Tool. Файловая система: NTFS.
В 1-ой строке выбираем нашу флешку, далее указываем тип файловой системы: NTFS, указываем метку тома, ставим галочку Quick Format. Жмём Start, появится окно, жмём «ДА», потом жмём «ОК».
Распаковываем GRUB4DOS_GUI_Installer.zip, запускаем grubinst_gui.exe.
Вверху ставим галку в графе «Disk», выбираем нашу флешку (ориентируйтесь на размер), жмём «Install». Если всё прошло удачно — появится вот такая надпись:
Берём файлы grldr и menu.lst и копируем их на нашу флешку. Если у Вас есть gfx-меню для GRUB4DOS (можно найти в интернете по запросу gfxmenu) — скиньте его на флешку и добавьте в menu.lst строчку:
, где %filename% — имя файла Вашего меню. Очень желательно установить такое меню, т.к. оно добавляет поддержку русского языка (кодировка UTF-8).
Теперь нам надо скопировать файлы образов Windows на флешку в нужную нам папку. В дальнейшем мы укажем пути к этим файлам в программе.
Скопировали? Вот и славно! Только работать ничего не будет. Почему? Да потому, что образы надо дефрагментировать! Сделаем мы это с помощью WinContig.
Интерфейс WinContig после запуска:
Перетащим iso-образы с флешки в окно программы. Они добавятся в программу:
Дефрагментируем их с помощью одноимённого пункта меню (Действие >> Дефрагментация):
После окончания процесса появится окно с результатами. Закрываем WinContig.
ЗЫ: Не обращайте на размер 0 KB. Это — пустышки, сделанные для создания инструкции.
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
Пытаюсь установить Win7 x64 с флэшки с использованием Grub4Dos. Использую оригинальный образ, из которого с помощью UltraISO удалил файл bootfix.bin.
При установке выдает "не найден драйвер cd/dvd".
В БИОС включен режим AHCI
Пытался подсунуть ему и драйвер AHCI, и драйвер USB - ничего не хочет. Видимо, воспринимает флэшку как экзотический DVD-привод.
В menu.lst прописывал так:
title Установка Win7 X64
find --set-root /Systems/W7x64SP1.iso
map (hd0) (hd1)
map (hd1) (hd0)
map /Systems/W7x64SP1.iso (0XFF)
map --hook
chainloader (0XFF)
Кто сталкивался - подскажите как бороться.
П.С. мат плата Asus P5Q-Deluxe, хотя она скорее всего ни при чем.
Конфигурация компьютера | |
Процессор: Intel C2D E6750 | |
Материнская плата: Asus P5K-VM | |
Память: 4 X 1024MB Kingston KVR800D2N5 | |
HDD: Seagate Barracuda 7200.10 320GB sATAII | |
Видеокарта: Asus Radeon HD5570 | |
Звук: HDA кодек Realtek ALC883 | |
Блок питания: Antec 500W ATX | |
CD/DVD: SonyNEC Optiarc AD-7203S | |
Монитор: Acer 1934M | |
ОС: Windows 7 Ultimate 32-bit | |
Индекс производительности Windows: 5.4 |
-------
Нефиг ставить то, к чему второй сервис-пак не вышел.
"Есть старое правило - чтобы не было геморроя, руки должны быть прямыми, а извилины - кривыми, но не наоборот." © Korzh
Да, обязательно. Поставить Win7 не проблема - у меня диск есть. А флэшка мультизагрузочная - 3 варианта винды, Дос, куча утилит для настройки и диагностики компа.
А если сделать загрузочную флэшку с использованием Win7 USB/DVD Download Tool, и использовать образ этой фэшки вместо образа DVD - диска?
Конфигурация компьютера | |
Процессор: Intel C2D E6750 | |
Материнская плата: Asus P5K-VM | |
Память: 4 X 1024MB Kingston KVR800D2N5 | |
HDD: Seagate Barracuda 7200.10 320GB sATAII | |
Видеокарта: Asus Radeon HD5570 | |
Звук: HDA кодек Realtek ALC883 | |
Блок питания: Antec 500W ATX | |
CD/DVD: SonyNEC Optiarc AD-7203S | |
Монитор: Acer 1934M | |
ОС: Windows 7 Ultimate 32-bit | |
Индекс производительности Windows: 5.4 |
-------
Нефиг ставить то, к чему второй сервис-пак не вышел.
"Есть старое правило - чтобы не было геморроя, руки должны быть прямыми, а извилины - кривыми, но не наоборот." © Korzh
MultiBoot USB - удобная программка, я и так ей пользуюсь.
По поводу второй ссылки: вот это полезня информация: MultiBoot USB - Мультизагрузочная флешка & Windows XPE/7PE
После обработки утилитой (Инструкция по установке Win7) установщик перестает требовать драйвер на CD, но вылезает другая ошибка: "В устройстве нет диска. Вставьте диск в устройство. \device\Harddisk2\DR2". Варианты "повтор" "отмена" и "продолжить". Если нажать "продолжить" - установка продолжается, но в окне выбора диска, на который ставить Винду, флэшка НЕ отображается - значит, тоже некорректно воспринимается установщиком (отображается только жесткий диск). Пока решения не нашел, найду - отпишусь.
Любите экспериментировать? Наверняка вы когда-либо пытались произвести какие-то действия со своей Linux-системой, причем не так важно какие были цели: изучение и познание новых возможностей или же какая-то более конкретная цель, в виде исправления той или иной ошибки. В любом случае, при работе с дистрибутивами Linux, для загрузки которых, в большинстве случаев, и используется Grub, с последним могут возникать неприятные проблемы, ввиду которых дальнейшая эксплуатация системы просто-напросто невозможна. В этой статье вы узнаете, что делать, если не загружается Linux. Как вести себя в подобной ситуации и какие действия производить, чтобы починить загрузчик Grub. Пожалуй, начнем.
Что такое Grub
Grub (или GRand Unified Bootloader) - загрузчик операционных систем с открытым исходным кодом. Распространяется он под лицензией GNU GPL, в полностью свободном виде. С помощью этого замечательного лоадера можно сделать много всего - основная же функция не ограничивается загрузкой лишь одной операционной системы. Вы можете иметь куда больше операционных систем на своем ПК, загружая любую из них с помощью Grub. На скриншоте выше вы можете видеть как примерно Grub выглядит. Кстати говоря, если вы захотите установить Ubuntu 18.04 рядом с Windows, вам определенно понадобится помощь Grub.
Grub используется в большинстве дистрибутивов Linux в качестве загрузчика по-умолчанию. Разумеется и с ним иногда возникают проблемы. Этим самые проблемы чреваты полным отказом операционной системы. Поэтому для починки Grub нам понадобятся дополнительные инструменты. Какие именно - узнаете далее.
От чего могут возникнуть проблемы
Одна из самых распространенных причин - это неправильный порядок установки двух операционных систем (Linux и Windows). Допустим, если вы захотите установить две этих операционных системы на свой ПК - вам непременно стоит знать правильную последовательность:
- Сначала устанавливаем Windows
- И только потом уже Linux
Если, например, сделать наоборот, то как раз-таки Grub будет поврежден; система будет грузиться напрямую в Windows, а дистрибутив Linux останется недоступным.
Grub может сломаться и по другим причинам. Например, из-за попыток ручного изменения параметров запуска (при недостатке опыта), в таком случае нужно будет либо вручную убирать лишнее, либо полностью переустанавливать Grub.
Восстановление Grub с помощью LiveCD/USB
Для этого способа нам понадобится флешка с дистрибутивом Linux на борту. Подойдет любой: от Ubuntu, Arch или даже Linux Mint. Здесь нужен только терминал, поэтому подойдет даже версия без графической оболочки.
Как создать LiveCD/USB
Само собой, нам понадобится носитель, на который мы временно (а может и нет) запишем систему. Сохраните все важные файлы, которые были на этом носителе, после чего (имеется ввиду на другом ПК, желательно под управлением Windows) запишите загруженный образ дистрибутива на носитель. В качестве примера мы будем использовать дистрибутив Ubuntu.
Идем на официальную страницу загрузки. Загружаем любую понравившуюся версию (лучше взять новейшую для десктопа), после чего записываем ее на USB/CD.
С помощью Rufus:
Последняя версия приложения доступна на официальном сайте. Сразу после загрузки и запуска/установки мы увидим такое окно:
Вставляем носитель, выбираем его в соответствующем меню. Далее выбираем нужную схему раздела и тип системного интерфейса, и после уже открываем файловый менеджер с помощью этой кнопки:
Находим загруженный образ через менеджер, после чего жмем "Старт".
С помощью Etcher:
Опять же, идем на официальный сайт, где скачиваем последнюю версию утилиты. Далее делаем все так, как показано на этой гифке:
Ну а теперь, собственно, можно переходить к восстановлению Grub. Вставляем флешку в наш ПК (где сломан загрузчик), после чего перезагружаем его с этой самой флешки. Как только мы войдем в лайв-систему, сразу открываем терминал, после чего проделываем следующие действия:
Открываем таблицу разделов с помощью команды:
Примерно такая таблица будет выведена на экран:
По этой таблице мы видим, что Linux, в нашем случае, расположен на разделе /dev/sda1.
С помощью следующей команды мы смонтируем этот раздел в /mnt:
Теперь, для записи grub в MBR, нужно ввести следующую команду:
Если нужно только восстановить MBR диска (после переустановки Windows, к примеру), то этих действий будет вполне достаточно.
Если же необходимо обновить и меню grub (после установки Windows), то нужно выполнить еще и эту команду:
Вот и все, восстановление закончено!
Восстановление с помощью chroot
Помимо вышеописанного способа, при восстановлении Grub с помощью LiveCD можно использовать и этот. Тут мы будем использовать утилиту chroot.
Здесь нам, опять же, понадобится таблица разделов. Вводим уже известную команду:
В выводе снова будет эта таблица. Теперь нам надо присмотреться к ней еще внимательнее.
В этом способе нам необходимо примонтировать системный, а также нескольких других важных разделов. Для этого вводим эти команды:
Обратите внимание, что если если разделы /boot или /var находятся отдельно, то Вам нужно будет примонтировать их в /mnt/boot и /mnt/var.
Далее мы переходим в окружающую среду chroot с помощью команды:
И теперь, наконец-таки переустанавливаем Grub с помощью следующей команды:
Если все прошло успешно, выходим из chroot, используя команду:
Далее нужно отмонтировать все разделы. Для этого вводим в терминал:
В случае, если вы монтировали раздел /boot введите команду:
Теперь перезагружаем систему с помощью:
Можно также обновить меню Grub, используя команду:
Восстановление Grub в rescue mode
Если по каким-то причинам у вас нет доступа к LiveCD/USB-носителю, а также к компьютеру, с помощью которого этот самый носитель можно было бы сделать, то этот способ для вас.
Само восстановление проходит таким образом: сначала мы подгружаем все модули, чтобы открыть доступ ко всей функциональной части Grub, после чего запуститься с нужного раздела. Надо понимать, что Grub состоит из двух частей:
Одна из этих частей (первая) записана в MBR диска. В ней присутствует базовый функционал и ничего больше (консоль в rescue mode).
Стало быть, нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), и после чего подгрузить все недостающие модули. А вот уже после этого мы сможем запустить загрузчик с нужного раздела. В rescue mode есть всего четыре команды:
Для начала вводим следующую команду:
В выводе будет что-то подобное:
В некоторых случаях Grub неправильно опеределяет файловые системы находящиеся на разделах дисков. В данном примере загрузчик показывает их как msdos. Мы должны попытаться угадать диски, которые видим. В примере доступно два диска. Диск с индексом 0 содержащий три раздела, и диск с индексом 1 содержащий два раздела. Если вы знаете структуру своих дисков, определить нужный труда не составит.
В загрузчике Grub разделы нумеруются в обратном исчислении. Не очень ясно какой именно из разделов назван, к примеру (hd0,msdos3). Чтобы было более понятно, можно использовать вид (hd0,1). Если в грабе отсчет дисков идет с 0, а разделов с 1, то можно определить, что операционная система установлена в первый раздел первого раздела - (hd0,1). Используем следующую команду:
С помощью этих команд мы приказываем системе использовать какой-то конкретный диск, для выполнения всех остальных операций (в нашем случае, это диск (hd0,1)). Чтобы проверить есть ли на данном диске загрузчик, введем эту команду:
Если в выводе будет список файлов и папок, значит мы все сделали правильно. Теперь можно загрузить все необходимые модули. Для этого выполним команды:
После выполнения команд Grub загрузится в полнофункциональном режиме. Будут найдены все операционные системы, которые установлены на компьютере, после чего будет показано стандартное меню загрузки.
Чтобы закрепить результат (и не проделывать все то же самое после перезапуска ПК), нужно зайти в терминал своего дистрибутива Linux, где с root правами выполнить следующую команду:
sdX - диск, на который должен быть установлен Grub.
Если операционная система расположена на разделе с файловой системой btrfs, то нам необходимо выполнить следующие команды:
И подгрузить модули:
Ну и теперь запустить GRUB:
Восстановление Grub с помощью утилиты Boot repair
С помощью этой замечательной утилиты вы сможете восстановить загрузчик всего в пару кликов. Как видно из скриншота, утилита имеет собственный GUI, ее использование не вызовет трудностей.
Чтобы установить boot repair, вы можете воспользоваться одним из приведенных способов:
- Запись и установка специального образа диска Boot Repair (и дальнейшая загрузка с него)
- Установка Boot repair из PPA-репозитория в LiveCD/USB дистрибутиве.
Если с первым способом все понятно: нужно просто скачать и записать образ с помощью соответствующих инструментов. То во втором уже нужно знать конкретные команды, которые выглядят следующим образом:
В утилите будет доступно два варианта на выбор:
Recommended repair исправляет большую часть известных ошибок, которые могли бы возникнуть при запуске. С его помощью вы сможете пофиксить и загрузчик Grub.
Create a BootInfo summary создает Boot-Info-Script – скрипт, который позволяет диагностировать большинство проблем при загрузке.
Здесь же есть и Advanced options. Он включает в себя варианты для восстановления и настройки загрузчика Grub2 (загрузка по-умолчанию, опции загрузки ядра, отображение или скрытие GRUB при загрузке, удаление GRUB). С помощью этих же инструментов, вы можете восстановить MBR и т.д.
Вам обязательно стоит заглянуть на официальный сайт Boot Repair. Там вы сможете найти более подробную информацию обо всех возможностях и особенностях программы. Там же будет доступна информация о выходе новых версий: фиксах и улучшениях самой утилиты, а также многом и многом другом.
Выводы
Вот мы и рассмотрели несколько вариантов исправления загрузчика Grub. Стоит сказать, что некоторые из них могут показаться сложными или даже невыполнимыми. Это не так, каждый из рассмотренных способов нашел подтверждение в виде сотен и тысяч актов исправления загрузчика Grub в опенсорсном сообществе. Кстати говоря, какой из способов выбрать - решать только вам, любой из них достаточно эффективен, чтобы попасть в этот материал.
Возможно вас заинтересуют и другие похожие материалы про починку загрузчика Grub2. Например, в этом материале вы узнаете, как починить GRUB2 если Ubuntu не хочет загружаться. Там более подробно рассказывается, как фиксить груб с помощью утилиты Boot Repair, возможно вам стоит заглянуть туда, если вы не поняли что-то из этого материала. Что же, ну а на сегодня это все. Надеюсь, что данный материал помог вам разобраться в ошибках. Что, в свою очередь, поможет вам их решить.
В этой статье я не планирую подробно рассказывать обо всех типах загрузчиков, но хочу свести воедино всю необходимую информацию, которую нужно знать для создания загрузочных дисков, флэшек, а также для восстановления загрузчиков.
Принципы загрузки операционных систем
При включении компьютера управление процессором получает BIOS, и если он настроен на загрузку (boot) с винчестера, то он подгружает в оперативную память компьютера первый сектор диска (MBR) и передает управление ему. Если у вас несколько жестких дисков, то каждый из них содержит свою MBR. В этом случае можно или менять порядок загрузки дисков в BIOS, или же прописать все операционные системы с разных дисков в один PBR загрузчик, об этом ниже.
Сразу оговоримся, что если у BIOS у вас включен режим загрузки UEFI, то структура разделов диска у вас должна быть не MBR, а GPT. GPT имеет не только другую структуру разделов, но и другую структуру загрузочной области. Там в первый сектор записывается «заглушка» для BIOS (Protective MBR), которая служит для того, чтобы старый Legacy BIOS мог загрузиться с GPT диска в режиме совместимости, если ОС была установлена на GPT (часто в BIOS его называют CSM – Compatibility Support Module). Однако, вы никогда не сможете загрузить ОС с MBR диска, если в BIOS выставлена загрузка в режиме UEFI.
Общая структура MBR может быть представлена следующей таблицей:
Смещение Длина Описание
000h 446 Код загрузчика
1BEh 64 Таблица разделов
1CEh 16 Раздел 2
1DEh 16 Раздел 3
1EEh 16 Раздел 4
1FEh 2 Сигнатура (55h AAh)
Длина указана в байтах.
Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.
Типы MBR
Существуют следующие распространенные типы MBR:
- Windows NT версий 5.х и 6.x, занимает 1 сектор. Может загружать ОС только с первичного активного раздела.
- GRUB4DOS версий 5.х и 6.x – занимает 16 секторов. Представляет собой файл gbldr.mbr. также его можно установить в качестве PBR прямо в раздел.
- GRUB 2.0 – универсальный загрузочный менеджер, занимает 63 сектора. Состоит из файлов boot.img и core.img. Может работать с любыми файловыми системами и загружать ОС как с первичных, так и логических разделов.
- PLoP – занимает 62 сектора и имеет продвинутый интерфейс. Позволяет организовать загрузку с CD/Floppy/USB без поддержки и обращения к BIOS.
- UltraISO USB-HDD – занимает 1 сектор и позволяет выполнять загрузку с внешних USB HDD дисков.
Конечно, с учетом многообразия ОС, существует масса других MBR, но они не так популярны.
Операционные системы дружат только с определёнными типа загрузчиков, однако это не значит, что их нельзя модифицировать для поддержки других ОС. Так, в Windows MBR можно добавить информацию о Linux разделе, но этого недостаточно, чтобы Linux стал грузиться. Для этого также потребуется редактировать и PBR. Однако линуксовый LDLINUX.SYS требует наличия своего микрокода в MBR, чтобы обращаться к нему в процессе загрузки, то есть если у вас загрузочная запись Windows NT MBR, а загрузчик GRUB, то такая схема работать не будет. Виндовсовые загрузчики могут обойтись без наличия соответствующего микрокода в MBR, поэтому они могут грузиться и через GRUB MBR.
Главное, что вам нужно понять, что MBR содержит микрокод, инструкции для процессора, а не файлы. PBR же указывает на загрузчик, который является файлом.
Разнообразие PBR
Мы с вами выяснили, что MBR передает управление на активный раздел с PBR. PBR (Partition Boot Record), так же называют volume boot record (VBR) – это микрокод в начальном секторе раздела диска (часто это сектор 63), который содержит информацию, какой же загрузчик искать.
Существуют следующие загрузчики:
- io.sys для MS-DOS, Windows 95/98/МЕ
- ntldr для Windows 2000/XP/2003
- bootmgr для Windows Vista/7/8/8.1/10
Как я сказал выше, загрузчик является не загрузочной областью, а бинарным файлом.
- Файлы Windows NTLDR или BOOTMGR должны лежать в корне активного системного раздела и работают они по-разному. Об этом ниже.
- Файл GRLDR используется Grub4DOS также должен лежать в корне партиции, с котрой выполняется загрузка
- Syslinux – универсальный загрузчик, содержащий много модулей и поддерживающий загрузку с файловых систем ext2/3/4, FAT, NTFS, CD/DVD дисков, по сети через PXE. Позволяет организовать текстовое или графическое загрузочное меню.
Чаще всего этот загрузчик используют для запуска Linux с файловых систем FAT/NTFS или же создания мультизагрузочных USB флэшек, позволяющих загружать как Linux-совместимые приложения под DOS, так и Windows PE.
Например, типичные пример создания мультизагрузочной флэшки – Multiboot USB 2k10, создаваемые уважаемыми conty9 & korsak7. Мультизагрузочный диск системного администратора с возможностью загрузки c CD/DVD, флешки, USB-HDD и обычного HDD и состоящий из нескольких Windows PE-сборок, а также DOS версий продуктов компании Acronis – например Acronis True Image (выполнены на Linux-ядре). Именно из-за этого смешанного зоопарка систем и приходится использовать загрузчик Syslinux (хотя можно и Grub4DOS).
В своем арсенале вам необходимо обязательно иметь утилиту BootICE. Уникальная в своём роде утилита для изменения или бэкапа/восстановления MBR (Master Boot Record) или PBR (Partition Boot Record). С BOOTICE, вы можете легко изменять тип MBR/PBR. Поддерживается загрузочные записи: Grub4DOS, SysLinux, PLoP, MS NT52/60… Например, с помощью этой утилиты, вы можете установить Grub4DOS вашим MBR или PBR, установить NTLDR или BOOTMGR к вашему PBR, установить SYSLINUX на PBR, и так далее.
Редактирование и установка MBR
Редактирование и установка загрузчика
Помимо работы с MBR и PBR, BootICE позволяет редактировать разделы диска, выполнять ручное разбиение и форматирование, модифицировать тип раздела, сохранять и восстанавливать из бэкапа таблицу разделов.
Работа с таблицей разделов в BootICE
Кратко о загрузчике Syslinux
Обратите внимание, что загрузчик Syslinux сам по себе не может быть установлен в MBR, однако в пакете syslinux имеются два файла, из которых можно установить загрузочный код Syslinux в 440-байтную область загрузочного кода MBR: mbr . bin или gptmbr . bin . Конечно, это имеет смысл только для Linux.
Кстати, syslinux может быть использовать с UEFI – для него загрузчик называется syslinux . efi , однако он еще достаточно сырой.
Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32.
Через BootICE вы также можете установить загрузчик Syslinux, указав в опциях альернативное местоположение файлов ldlinux.sys и и файла меню syslinux.cfg.
Загрузчики Windows
Конечно, основное внимание мы уделим загрузчикам для Windows.
Для Windows 7 он запускает файл \WINDOWS\system32\winload.exe
Загрузка WINDOWS\system32\winload.exe
Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Это позволяет использовать bootmgr для загрузки Windows PE. В соответствии с конфигурацией загрузки, диспетчер BOOTMGR может выполнить загрузку ядра Windows или, например, Linux, обеспечить выход из режима гибернации, загрузить диагностические программы, выполнить загрузку ядра с измененными параметрами и т.п.
Обычно именно конфигурация BCD становится наибольшим камнем преткновения.
Конфигурирование BOOTMGR и BCD
Для работы с загрузчиком Windows вам понадобятся системные утилиты:
Команда BCDEDIT применяется в операционных системах Windows Vista и старше для редактирования BCD. Подробную инструкцию по использованию этой утилиты можно найти здесь.
Однако, я вам крайне рекомендую использовать очень удобную программу EasyBCD для редактирования BCD. Например, с помощью нее вы легко можете добавить Linux раздел в меню загрузки. Вот статья о том, как добавить в BCD конфигурацию Windows 7 пункт загрузки Linux Ubuntu.
При запуске EasyBCD в окне View Settings можно посмотреть текущую конфигурацию BCD. На скриншоте видно, что в текущий момент на диске установлена одна Windows 7, GUID которой и вручную добавленный пункт меню для запуска установки Windows из WIM файла:
А вот BCD меню загрузочной флэшки, на которой присутствуют инсталляторы Windows 7 x86 и x64, а также две среды MSDaRT x86 + x64:
Запуск среды восстановления Windows RE с загрузочной флэшки
Команда bootsect /nt60 E: /mbr /force – создает на диске E: (например, флэшке) записи MBR и PBR и устанавливает загрузчик bootmgr.
Команда Bootrec /FixMbr – записывает основную загрузочную запись (MBR) системного раздела, совместимую с Windows. При этом существующая таблица разделов не перезаписывается.
Bootrec /FixBoot – записывает в системный раздел новый загрузочный сектор, совместимый с Windows.
bootrec /RebuildBCD – перестроить хранилище конфигурации загрузки на данном компьютере. Удобно использовать для изменения конфигурации BCD при добавлении нового диска с установленной Windows, или для внесения изменений в существующую конфигурацию загрузки новых или ранее не использовавшихся ОС.
Загрузчик GRUB4DOS
Загрузчик состоит из следующих файлов:
Файл grldr.mbr нужен для установки GRUB в качестве MBR. Итак, GRUB можно установить руками под Windows или же воспользоваться различными утилитами.
Установка GRUB загрузчика под Windows
Представим, что у вас уже есть Windows с загрузчиком bootmgr. Вам необходимо будет добавить в BCD записи о новом загрузчике, чтобы не лишаться существующего. Порядок действий:
Вот и все, не так и сложно.
Сложнее отредактировать меню menu.lst. Вот список основных команд консоли GRUB (их можно исполнять как вручную из командной строки, так и из файла меню):
Приведу примеру рабочих кусков кода из файла меню:
title Установка Windows XP with SP3 x86 RUS. root (hd0,0) map --mem /WINSETUP/XPpSP3.ISO (0xff) map (hd0) (hd1) map (hd1) (hd0) map --hook root (0xff) chainloader /I386/SETUPLDR.BIN
title Установка Windows 7 with SP1 x86-x64 + MSDaRT 7.0 RUS. find --set-root /bootmgr chainloader /bootmgr boot
title Загрузка WinPe RusLive Special Edition 2k10 RUS. find --set-root --ignore-floppies /2K10/WINPE/RLPE.BIN chainloader /2K10/WINPE/RLPE.BIN title Acronis DD 11 and True Image Home 2012 RUS. map /PROG/ATIH2012PP_6151_ADDH11_2343_ru-RU.iso (0xFF) || map --mem /PROG/ATIH2012PP_6151_ADDH11_2343_ru-RU.iso (0xFF) map --hook chainloader (0xFF)
title Hiren's BootCD v.15.1 RUS. find --set-root /PROG/hiren.ima map /PROG/hiren.ima (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) map --floppies=1 boot
title Victoria v.3.52 RUS. find --set-root /PROG/vcr352r.iso map --mem /PROG/vcr352r.iso (0xff) map --hook root (0xff) chainloader (0xff) boot
title Alkid Live CD root (hd0,0) chainloader (hd0,0)/minint/setuplns.bin
Также, для любителей конфигурировать загрузчик из-под Windows, существует утилитка WinGRUB, которая устанавливает GRUB без форматирования флэшки.
Если все-таки вам не хватило нервов и сил разобраться в написании меню, то есть программки, которые сделают меню загрузки и установят загрузчик за вас, вам нужно только выбрать ISO файлы дистрибутивов, которые надо добавить:
Выводы
Итак, чтобы была возможность загрузить ОС, необходимо, чтобы был установлен корректный загрузчик MBR, который заканчивается валидной сигнатурой, должна быть таблица разделов, и хотя бы один раздел должен быть помечен как активный. А в самом разделе, куда MBR передаст управление, должна быть валидная загрузочная запись, которая укажет, какой системный файл необходимо загрузить в память для начала загрузки самой ОС. Кроме того, должно быть загрузочное меню, которое укажет на местоположение загрузочных файлов ОС.
Читайте также: