Установка grub на флешку из windows

  1. Главная
  2. Форум
  3. Загрузчики.
  4. GRUB 2



[Цитировать]

  • 20037
  • Стаж: 4 года 9 месяцев
  • Сообщений: 7
  • Репутация:2[+] [-]


Всех приветствую, небольшой гайд по установке Grub-2.02 UEFI+Grub4dos-0.4.6a из под Windows.
Данной статьей хочу описать несложный способ создания флешки с базовым функционалом загрузчиков.
Для начала что нам потребуется :
1) флешка (для примера подойдет и на 1 гб) а дальше по вашим нуждам;
2) Программа HPUSBDisk скачать можно тут;
3) Программа BOOTICE скачать можно тут;
4) Программа Grub4DosUSB (авторство zxen) ранее выкладывали на этом форуме;
5) Программа QemuBootTester для тестирования ранее выкладывали на этом форуме;
Начнем:
1.1) Для предотвращения ошибок программой HPUSBDisk форматируем флешку (метка тома и файловая структура не имеют значения)
1.2) Открываем Bootice и идем в Parts Manage;
1.3) Открываем Re-Partitioning;
1.4) Выбераем USB-HDD mode (Multi-Partitions);
1.5) Выставляем нужные значения размера разделов (по умолчанию 2, лично я создал Legacy и UEFI (Важно раздел под uefi Grub обязательно должен быть в формате FAT32!, второй рекомендую выставить в NTFS для возможности работы и загрузки образов выше 4gb);
1.6) Возвращаемся в Bootice и идем в Parts Manage, там переназначаем букву следующему разделу (выделив его и нажав на Assign Drive Letter или пользуемся менеджером жестких дисков windows)
1.7) По факту получаем два раздела на флеш накопителе (можно использовать и внешние hdd\ssd)
Установка Grub-2.02 UEFI
2) Скачиваем Grub-2.02 UEFI скачать разные версии и обновления можно по первой ссылке,нас интересует файл grub-2.02-for-windows.zip
Скачиваем его и распаковываем его содержимое в коневой каталог диска C:/ (диск С рекомендация, можно использовать и любое другое место, но не желательно)
Далее открываем командную строку От имени Администратора и вводим
cd /d C:\grub-2.02-for-windows
grub-install.exe —boot-directory=F:\ —target=i386-pc //./PHYSICALDRIVE4 (Где F- имя диска в FAT32 который вы создали ранее ,именно это имя вы и впишете в других командах (где я пометил), PHYSICALDRIVE4 номер этого диска (флешки) можно посмотреть в менеджере жестких дисков)
grub-install.exe —boot-directory=F:\ —efi-directory=F: —removable —target=x86_64-efi
grub-install.exe —boot-directory=F:\ —efi-directory=F: —removable —target=i386-efi
по итогу имеем
C:\grub-2.02-for-windows>grub-install.exe —boot-directory=F:\ —target=i386-pc //./PHYSICALDRIVE4
Installing for i386-pc platform.
Installation finished. No error reported.
C:\grub-2.02-for-windows>grub-install.exe —boot-directory=F:\ —efi-directory=F: —removable —target=x86_64-efi
Installing for x86_64-efi platform.
Installation finished. No error reported.
C:\grub-2.02-for-windows>grub-install.exe —boot-directory=F:\ —efi-directory=F: —removable —target=i386-efi
Installing for i386-efi platform.
Installation finished. No error reported.
Проверяем содержимое флешки, если данные файлы появились в папке grub кидаем файл grub;
2.1) Проверяем результат с помощью QemuBootTester выбирая загрузку EFI-64
Если все загрузилось, приступаем к части установки Grub4dos-0.4.6a.
Установка Grub4dos-0.4.6a.
3) Запускаем скачанную ранее программу Grub4DosUSB
Не трогая пункт ФОРМАТИРОВАТЬ выбираем второй раздел созданный ранее на флешке (в моем варианте это Legacy) и нажимаем установить.
3.1) Проверяем появление файлов на этом разделе и если они появились двигаемся дальше
3.2) Далее качаем новую версию Grub4dos-0.4.6a от сюда
3.3) И все содержимое данного архива помешаем в наш раздел (с заменой файлов).
Все, грузимся в программе QemuBootTester в режиме Legacy BIOS и проверяем работу.
Итоги:
На этом все.По итогу имеем базовый вариант с загрузчиками под uefi и legacy, дальнейшее наполнение и доработка полностью зависит от вас и ваших требований.
Заранее скажу — Я новичок — вспомните себя, а критикуя предлагайте aa

Последний раз редактировалось: Ttron27 (2019-01-09 16:40), всего редактировалось 2 раз(а)


[Цитировать]

Отправлено: 08-Янв-2019 09:18
(спустя 37 минут)

    vovan1982

  • 214
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 1059
  • Репутация:73[+] [-]
  • Откуда: Ростов-на-Дону


Ttron27, непонятно зачем весь это Копенгаген, все это уже давно есть на форуме, Conty9 уже года 2 назад выкладывал готовый вариант, 3-й спойлер сверху Два раздела на флешке — зачем это нужно и реализация такой возможности с помощью UTmake.
PS: делать на флэшке (не на USB-HDD) раздел с NTFS нерационально и не правильно, потому как она (файловая система) протоколируемая, а это значит, что запись идет даже при чтении из файла (пишется дата и время обращения к файлу). Это просто быстрее «уложит» Вашу флэшку.


[Цитировать]

Отправлено: 08-Янв-2019 09:32
(спустя 13 минут)

    Ttron27

  • 20037
  • Стаж: 4 года 9 месяцев
  • Сообщений: 7
  • Репутация:2[+] [-]


60768

Ttron27, непонятно зачем весь это Копенгаген, все это уже давно есть на форуме, Conty9 уже года 2 назад выкладывал готовый вариант, 3-й спойлер сверху Два раздела на флешке — зачем это нужно и реализация такой возможности с помощью UTmake

Приму к сведению, про китайскую доработку не знал. Про разделы не совсем понял , пока не наблюдаю ухода от разделения дисков. Но тему по ссылке покурю aa


[Цитировать]

Отправлено: 08-Янв-2019 10:38
(спустя 1 час 6 минут)

    Ander_73

  • 15549
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 3362
  • Репутация:127[+] [-]


Ttron27,
лично я рекомендую версии G4D брать из первого абзаца этого мануала
а версии GRUB2 брать «родные» отсюда (а не виндовс-сборку)


[Цитировать]

Отправлено: 08-Янв-2019 11:17
(спустя 38 минут)

    stea.61

  • 2490
  • Стаж: 7 лет 8 месяцев
  • Сообщений: 656
  • Репутация:66[+] [-]
  • Откуда: 61 RUS


60768

это уже давно есть на форуме

vovan1982, Ander_73, Ttron27, aa
И даже название темы от puhpol созвучно: GRUB 2 установка под Windows.
vovan1982, мож есть смысл как-то слить темы воедино?

Последний раз редактировалось: stea.61 (2019-01-08 11:25), всего редактировалось 1 раз


[Цитировать]

Отправлено: 08-Янв-2019 11:25
(спустя 8 минут)

    Joker-2013

  • 1039
  • Стаж: 8 лет 3 месяца
  • Сообщений: 2053
  • Репутация:120[+] [-]
  • Откуда: из прошлого


stea.61, aa
Нет такой возможности на форуме…
Тема пусть будет. Человек не успел зарегистрироваться и уже создал полезную тему. Похвально.


[Цитировать]

Отправлено: 08-Янв-2019 11:33
(спустя 8 минут)

    Ttron27

  • 20037
  • Стаж: 4 года 9 месяцев
  • Сообщений: 7
  • Репутация:2[+] [-]


60774

stea.61, aa
Нет такой возможности на форуме…
Тема пусть будет. Человек не успел зарегистрироваться и уже создал полезную тему. Похвально.

ah Спасибо, действительно еще зеленый и судя по тому что скинули выше есть куда расти еще ого го.
Но нашел очень много действительно полезного ,а главное понимающих людей az, но согласен с stea.61 не хватает общей проработанной инструкции, все делают очень по разному. Интересна была бы тема обобщенная с какими то фишками и пояснениями.


[Цитировать]

Отправлено: 08-Янв-2019 15:03
(спустя 3 часа)

    BalAngel

  • 647
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 250
  • Репутация:14[+] [-]


нас интересует файл grub-2.02-for-windows.zip …. на флешке … Приму к сведению, про китайскую доработку не знал… И даже название темы от puhpol созвучно: GRUB 2 установка под Windows. …

IMHO
grub-2.02-for-windows.zip — это подходит для Legacy, тут можно использовать и grub-mkimage.exe, но автор загрузочным делает второй раздел NTFS используя Grub4DOS. Я бы загрузочный делал на первом разделе — EFI. Пишут, что grub-2.02-for-windows не поддерживает UEFI enabled Secure Boot, чего я не знал 2 года назад. Но я до сих про не знаю, что это означает: signature at http://ftp.gnu.org/gnu/grub/grub-2.02-for-windows.zip.sig. Касательно Debian, было бы интересно узнать, как его установить в среде Windows, просто извлекаю из дистрибутива Ubuntu.
Флешка. Тут уже ответили. Все сборки разместить на FAT32, на раздел NTFS — только сборки с VHD и большие файлы.
Лично я флешки использую только для экспериментов. Теперь внешние диски негромоздкие (футлярчик в портмоне) и не требуют «питания»
UTmake — не китайская доработка (или у китайцев другое название?). Не отнимайте авторства у conty9
GRUB 2 установка под Windows — Там (2. стр.) stea.61 пахожее изложил. Шапка по прежнему — практически пуста
Есть еще тема MultiBoot USB grub4dos+GRUB2_UEFI, но там тоже нет обобщения.
Пусть Ttron27 тренируется, если долго мучиться, что-нибудь получится. Дальше будет видно.
Ttron27, правильно сделали, колышки вбили, можете дерзать. Вам повезло

Последний раз редактировалось: BalAngel (2019-01-09 09:45), всего редактировалось 1 раз


[Цитировать]

Отправлено: 08-Янв-2019 15:35
(спустя 31 минута)

    Ttron27

  • 20037
  • Стаж: 4 года 9 месяцев
  • Сообщений: 7
  • Репутация:2[+] [-]


Касательно Debian, было бы интересно узнать, как его установить в среде Windows

Если я не ошибся, в windows 10 с этим может помочь PowerShell(по крайней мере эмуляция linx у меня отрабатывала отлично, а эмуляцией ubuntu ставлю прошивки Padavan ) ну или виртуалка с пробросом порта с usb устройства.

Пишут, что grub-2.02-for-windows не поддерживает UEFI enabled Secure Boot

Если я не ошибся тут на форуме был такой метод

UTmake — не китайская доработка (или у китайцев другое название?)

Нет, я не знал про 0 сектора, про программу пока ничего не скажу .

Флешка. Тут уже ответили. Все сборки разместить на FAT32, на раздел NTFS — только сборки с VHD и большие файлы.
Лично я флешки использую только для экспериментов. Теперь внешние диски негромоздкие (футлярчик в портмоне) и «не требуют питания»

aa Полностью согласен, но моя специфика работы не дает носить такой( а по факту их надо штуки 3 мне, да и с питанием у некоторых проблемы еше на usb2 не говоря про то где я юзаю ag да и не у всех есть деньги\потребности. А флешки сейчас то же разные . Но я вас понял. буду ковырять дальше


[Цитировать]

Отправлено: 09-Янв-2019 10:14
(спустя 18 часов)

    BalAngel

  • 647
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 250
  • Репутация:14[+] [-]


эмуляция linx у меня отрабатывала отлично …. Если я не ошибся тут на форуме был такой метод … моя специфика работы не дает носить такой( а по факту их надо штуки 3 мне, да и с питанием у некоторых проблемы еше на usb2 не говоря про то где я юзаю ag да и не у всех есть деньги\потребности …

linx — посмотрю когда-нибудь
Grub2 & Secure Boot — там про Grub2 for Windowsдаже не заикается
их надо штуки 3 — поправил свое сообщение выше «питанием» (кирпич с 2 штепселями). Не знаю зачем столько, вам виднее
Интересует ответ на то, что значит — сигнатура на http://ftp.gnu.org/gnu/grub/grub-2.02-for-windows.zip.sig — что архив безопсный, цифровой подписью?
Другие вопросы по размещению файлов согласно вашей инструкции, когда прочту все нормально, а не бегло. Это не главный вопрос


[Цитировать]

Отправлено: 09-Янв-2019 16:56
(спустя 6 часов)

    BalAngel

  • 647
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 250
  • Репутация:14[+] [-]


Установка Grub-2.02 UEFI+Grub4dos-0.4.6a из под Windows
Пропустим пока
Для начала что нам потребуется :
Начнем:
1.6) … нажав на Assign Drive Letter (у меняSetAccessible) …. У меня в итоге получился видимый раздел NTFS, а это нехорошо. Надо написать, что нужно проверить, что видимым был раздел FAT32 и, если надо нажать …

Установка Grub-2.02 UEFIа здесь надо остановиться. Никто не возразил против того, что EFI Grub2forWindows не поддержмивает возможность Secure Boot. Надо брать подписанные линуксовые, самый распространенный был Ubuntu (IMHO), сейчас стал использоваться Kaspersky Reskue Disk (krd). Который из них надежнее, даже примерной статистики не видел. Если пишут krd, пусть будет krd. Последние 2 команды grub-install.exe … EFI не подходят. Надо описать откуда брать папки EFI и boot (krd), файл krd_version.txt, поместить их в корневой каталог раздела FAT32. И только сейчас перейти к скачать можно по первой ссылке, нас интересует файл grub-2.02-for-windows.zip разархивировать и выполнить команду grub-install.exe—boot-directory=F:\ —target=i386-pc (насчет папки загрузки надо подумать, теперь голова не работает), посмотрите, что пишет stea.61 в стр. №2 его ссылки. IMHO, grub.cfg надо дополнить кое-чем более, как перезагрузка и выключение, было бы нагляднее, да он и не нужен, есть в комплекте krd, но придется перед выкладыванием его обработать.
На сегодня всё. Может не прав, примите как моё мнение
+++++
Установка Grub4dos-0.4.6a.
Почему на раздел NTFS, почему не установить на FAT32 и не установить на один раздел все загрузчики сразу? Возможно делаете из-за своих соображений и ваших потребностей, поэтому и такие вопросы
В итоге я вижу описание ваших действий по созданию загрузочной флешки — скачать это и то, запустить то и это. Моим мнением, следовало собрать все, добавить варианты *.cfg, *.lst и описание подробное, и запаковать. Да и хорошо бы батник состряпать. Обнародовать. А ещё лучше усвоить UTmake от conty9 и далее как писалось в прошлом предложении …. Всё идет к простому очередному шаблону, которых есть предостаточно.
У меня тоже есть, по мотивам китайского, хорошо, что не опибликовал, мне сообщили, что loopback с включенным secure boot поддерживается, что значит — можно убрать примечание «(disabled Secure Boot)» в загрузочной записи про запуск линуксовых исо.
А если тему изменить, например «Шаблоны мультизагрузки Grub2 UEFI/Legacy + Grub4DOS + syslinux + etc.» и собрать в шапку проверенные из разных ветвей, конечно, с указанием источника, автора?
Не знаю, кто читает, что я написал — впечатление, сам себе пишу


[Цитировать]

Отправлено: 10-Янв-2019 15:13
(спустя 22 часа)

    Ttron27

  • 20037
  • Стаж: 4 года 9 месяцев
  • Сообщений: 7
  • Репутация:2[+] [-]


60825

Установка Grub-2.02 UEFI+Grub4dos-0.4.6a из под Windows
Пропустим пока
Для начала что нам потребуется :
Начнем:
1.6) … нажав на Assign Drive Letter (у меняSetAccessible) …. У меня в итоге получился видимый раздел NTFS, а это нехорошо. Надо написать, что нужно проверить, что видимым был раздел FAT32 и, если надо нажать …
Установка Grub-2.02 UEFIа здесь надо остановиться. Никто не возразил против того, что EFI Grub2forWindows не поддержмивает возможность Secure Boot. Надо брать подписанные линуксовые, самый распространенный был Ubuntu (IMHO), сейчас стал использоваться Kaspersky Reskue Disk (krd). Который из них надежнее, даже примерной статистики не видел. Если пишут krd, пусть будет krd. Последние 2 команды grub-install.exe … EFI не подходят. Надо описать откуда брать папки EFI и boot (krd), файл krd_version.txt, поместить их в корневой каталог раздела FAT32. И только сейчас перейти к скачать можно по первой ссылке, нас интересует файл grub-2.02-for-windows.zip разархивировать и выполнить команду grub-install.exe—boot-directory=F:\ —target=i386-pc (насчет папки загрузки надо подумать, теперь голова не работает), посмотрите, что пишет stea.61 в стр. №2 его ссылки. IMHO, grub.cfg надо дополнить кое-чем более, как перезагрузка и выключение, было бы нагляднее, да он и не нужен, есть в комплекте krd, но придется перед выкладыванием его обработать.
На сегодня всё. Может не прав, примите как моё мнение
+++++
Установка Grub4dos-0.4.6a.
Почему на раздел NTFS, почему не установить на FAT32 и не установить на один раздел все загрузчики сразу? Возможно делаете из-за своих соображений и ваших потребностей, поэтому и такие вопросы
В итоге я вижу описание ваших действий по созданию загрузочной флешки — скачать это и то, запустить то и это. Моим мнением, следовало собрать все, добавить варианты *.cfg, *.lst и описание подробное, и запаковать. Да и хорошо бы батник состряпать. Обнародовать. А ещё лучше усвоить UTmake от conty9 и далее как писалось в прошлом предложении …. Всё идет к простому очередному шаблону, которых есть предостаточно.
У меня тоже есть, по мотивам китайского, хорошо, что не опибликовал, мне сообщили, что loopback с включенным secure boot поддерживается, что значит — можно убрать примечание «(disabled Secure Boot)» в загрузочной записи про запуск линуксовых исо.
А если тему изменить, например «Шаблоны мультизагрузки Grub2 UEFI/Legacy + Grub4DOS + syslinux + etc.» и собрать в шапку проверенные из разных ветвей, конечно, с указанием источника, автора?
Не знаю, кто читает, что я написал — впечатление, сам себе пишу

Читаю все и внимательно read, сейчас вы озадачили вопросом Secure Boot, насколько знаю , не отключаемый Secure Boot есть только на планшетах на ARM с предустановленной Windows, а в остальном его можно отключить и это вроде как не беда. Возможно данное инфо окажется полезным , в любом случае поковыряю в свободное время unix системы и если что то есть интересное попробую реализовать.


[Цитировать]

Отправлено: 10-Янв-2019 16:40
(спустя 1 час 26 минут)

    vovan1982

  • 214
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 1059
  • Репутация:73[+] [-]
  • Откуда: Ростов-на-Дону


Ttron27, ну да конечно. Вы видать с ноутбучными биосами мало знакомы.


[Цитировать]

Отправлено: 10-Янв-2019 17:27
(спустя 47 минут)

    KottoSOFT

  • 206
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 562
  • Репутация:65[+] [-]


Приветствую, друзья я наверно задам самый глупый вопрос в этой теме, но тем не менее меня это интересует.
Вот если взять GRUB4DOS можно его открыть в BOOTICE или в утилитке от JOKER2013
Не принципиально удалить всё, что написано внутри и прописать, что то своё пример

configfile /KSFT/BOOT/GRLDR/menu.lst

Сделать основным загрузчиком bootmgr а уже в BCD прописать путь для запуска GRUB4DOS
Так вот можно ли проделать то же самое с GRUB2?
Чтобы в корне флешки не было кучи папок, и стартовала по старинке с bootmgr


[Цитировать]

Отправлено: 10-Янв-2019 17:50
(спустя 23 минуты)

    Ander_73

  • 15549
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 3362
  • Репутация:127[+] [-]


KottoSOFT,
— GRUB2 для BIOS-а (Legacy) можно пересобрать самостоятельно с нужными опциями
— GRUB2 для EFI без ЦП можно пересобрать самостоятельно с нужными опциями
— GRUB2 для EFI с валидной ЦП пересобрать, разумеется, нельзя

Страница 1 из 5

Текущее время: 10-Окт 16:50

Часовой пояс: UTC + 3

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы

Время на прочтение
8 мин

Количество просмотров 552K

Про сам grub, загрузочные флешки и особенно специальные утилиты для создания дисков написано уже не мало, но выглядят они узко направленными. Например только для создания флешки Windows 7, различные PEtoUSB, есть более универсальные как в этом топике. Куча утилит по сути устанавливают загрузчик grub, isolinux (реже BCDW или lilo, еще реже свой как Win7), и затем раскладывают предложенные ему файлы (Windows7,WindowsXP, Ubuntu и т.д.) по папкам. От сюда и требовательность к образам (как писали в комментариях к этому топику).

А между тем абсолютное большинство выложенных в интернете дисков (особенно USB) как раз и используют isolinux и grub, что мешает их просто объединять? да ничего!

Я постараюсь с примерами рассказать, как сделать загрузочную, установочную и просто Live флешку, причем все в одном без заточенных под конкретный дистрибутив утилит. И иметь возможность, при необходимости, легко добавить на флешку еще что-то, без очередного ее переформатирования.
image
(С) Картинка оттуда

Демонстрация

Для пользователей Linux нет необходимости объяснять, как пользоваться командой grub-install /dev/sdb, да и преимущества grub им очевидны. Предвидя комментарии типа dd, хочу сказать, что статья нацелена в первую очередь на Windows пользователей.
Пользователям Windows я постараюсь объяснить преимущества grub, и надеюсь смогу убедить, что grub нужно держать если не первым, то вторым загрузчиком точно (флешку с grub иметь точно необходимо).
Для начала можно попробовать без затирания MBR. Достаточно прописать grub в boot.ini:
Нам понадобятся файлы из архива GRUB4DOS, копируем их в корень C:\, не обязательно что бы это был FAT, у меня работает и на NTFS:
default
grldr
grldr.mbr
menu.lst

Для Windows XP в boot.ini добавляем c:\grldr="GRUB4DOS". Все.
Либо запустить GRUB\install.bat из файла в приложении (файл install.bat взят из установщика xPUD ©, и только добавляет grub, ничего не копирует).

Для пользователей Vista и 7 установка несколько сложнее, чем в XP — делается это чрез bcdedit:

делаем резервную копию
bcdedit.exe /export "C:\BCD.bak"
bcdedit.exe /create /d "GRUB4DOS" /application bootsector
запоминаем GUID вида «{1a5b5afd-0469-110d-9a85-000103005000}», и далее заменяем в команде GUID на эту строку

bcdedit.exe /set GUID device boot
bcdedit.exe /set GUID device partition=%SYSTEMDRIVE%
bcdedit.exe /set GUID path \grldr.mbr
bcdedit.exe /displayorder GUID /addlast

Либо так же запустить GRUB\install.bat из файла в приложении.

В общем то на этом установка закончена, и можно уже перезагружаться и поиграться с командной строкой (нажать С после появления меню grub).

Например, можно начать загрузку с дисковода:
chainloader (fd0)+1
rootnoverify (fd0)
boot

С привода компакт дисков:
cdrom --init
map --hook
chainloader (cd0)
boot

Перезагрузиться:
reboot

Выключить компьютер:
halt

Можно загрузиться с заранее вставленной флешки (если конечно там есть какой то загрузчик):
map (hd1) (hd0)
map (hd0) (hd1)
root (hd1,0)
chainloader +1
boot

А можно начать установку Windows 7, образ которой до этого просто разархивировали на флешку (и сама флешка не загрузочная):
root (hd1,0)
chainloader /bootmgr
boot

Напомню, что все это мы делали из режима командной строки. Но 1 в 1 (удалив только последнюю команду boot), эти команды можно прописать и в menu.lst, и они будут работать из меню.

Случай из жизни: Cлетел MBR первого диска, и по этому BIOS загрузил сразу grub со второго диска. Увидев привычный синий экран, я смекнул что MBR, после очередных экспериментов, повреждена и требуется восстановление. Все что потребовалось мне, это перейти в режим командной строки ( С ) и ввести:
root (hd0,0)
chainloader /bootmgr
boot

И началась загрузка Windows7 После загрузки выполнил bootsect /nt60 c: /mbr И все (!)
Никакого безопасного режима или режима восстановления, ни каких 2-3 перезагрузок, и тем более ни каких дисков восстановления (да и нет у меня CD привода на нетбуке). После процедуры даже не понадобилось лишний раз перезагружаться, Windows загрузилась уже в штатном режиме (одно время я неделю ее так запускал, забывал восстановить MBR после загрузки).
Так же в архиве GRUB4DOS есть примеры автоматического поиска Windows XP и Windows 7/Vista, и даже если вы не знаете где у вас установлена Windows — все равно можно загрузиться при слетевшей MBR.

Установка

И так, Вы прониклись и хотите сделать себе такую флешку, но у Вас уже есть флешка на 16Гб и форматировать ее крайне не желательно, а большинство распространенных утилит (и инструкций) для изготовления бут-флешек предлагают ее предварительно отформатировать, что бы, полагаю, убедиться, что на создаваемой флешке точно файловая система FAT32. А потом устанавливают туда опять же grub или isolinux.

Установить grub можно без форматирования (при условии, конечно, что у вас уже FAT32, коих абсолютное большинство). Есть утилитка Winrub (любителям GUI), а в архиве GRUB4DOS есть bootlace.com. Рассмотрим вариант WinGrub. Раньше это был sfx архив, который сам себя распаковывает в %programfiles% и создавал ярлык на рабочем столе, что мне не нравилось. Достаточно было его самостоятельно распаковать, запустив потом grubinst_gui.exe. Когда писал статью, скачал последнюю версию, там уже инсталятор более менее полноценный. Качаем, ставим. Либо смотрим приложенный файл в конце статьи, я выложу свой комплект для сборки архивом. Запускаем, далее выбираем флешку (ориентируясь по размеру), и в partition list выбираем MBR или Whole disk. Жмем Install. Появляется окно консоли «The MBR/BS has been successfully installed«, с предложением нажать Enter, После нажатия которого — оно закрывается. В случае если написал «grubinst: Should be a disk image» поставьте галочку «Floppy image» и повторно нажмите Install

imageimage

Теперь GRUB4DOS прописан в MBR.
После (хотя можно и ДО), копируем файлы из архива GRUB4DOS в корень флешки:
default
grldr
grldr.mbr
menu.lst

И редактируем menu.lst по желанию, параллельно наполняем флешку (часть пунктов уже можно посмотреть в статье выше, да и сам архив содержит примеры).

Наполняем

1. Alkid live
В полной раздаче есть архив multiboot.7z, где есть пример файла для grub, от туда его и возьмем, а сам ISO просто разархивируем в корень. Переименовываем i386 в minint, если забудем то не запустится, но скажет что не найден minint (что и стало столь не очевидной подсказкой).
Добавляем в menu.lst
title Alkid Live CD
root (hd0,0)
chainloader (hd0,0)/minint/setuplns.bin

В папке programs можно удалить лишнее, если флешка не сильно большая. А так же обновить базы антивирусов до актуального состояния.

2. Hiren’s BootCD
Открываем ISO и видим, что в папке HBCD лежит конфиг загрузчика isolinux.
Разархивируем папку HBCD в корень флешки, открываем isolinux.cfg:
menu label Start BootCD
kernel /HBCD/memdisk
append initrd=/HBCD/boot.gz

что легко преобразуется в синтаксис grub
title Start BootCD
root (hd0,0)
kernel /HBCD/memdisk
initrd /HBCD/boot.gz

добавляем и его в menu.lst
Установка закончена.

3. Некоторые мелкие утилиты уже есть готовые в интернете. обычно это образ дискеты с memtest, Ghost, DOS, PQMagic. Грузиться с них так же не составляет труда. Прописываем в menu.lst:
title Ghost 11
map --mem /Ghost.ima (fd0)
map --floppies=1
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

У меня EEEPC без CD привода и когда вдруг встала необходимость восстановить его, я даже не задумался где взять внешний привод. Переписал Ghost образ с DVD дсика на флешку на «большом» компе, загрузился с флешки и восстановил.

4. Запуск дистрибутива. Возьмем для примера образ Parted Magic. Качаем образ для USB. Он уже на grub и имеет очень большое меню различных вариантов загрузки. Для его установки распаковываем архив, папка pmagic должна оказаться в корне, и из boot\grub файл menu.lst копируем в \pmagic, а в наш груб добавляем:
title PМagic
configfile /pmagic/menu.lst

Эта команда загрузит меню из родного menu.lst от pmagic, и нам не придется вообще ничего изобретать. Разве что добавить в \pmagic\menu.lst пункт для возврата обратно в наше:
title <<main menu
configfile /menu.lst

В последней версии PМagic добавилась еще куча утилит, в т.ч. memtest, восстановление grub, hardware analyzer. Рекомендую самостоятельно потренироваться в «переселении» их на свою флешку, подглядывая в п.3 или menu.lst.

5. Запуск Live Ubuntu. У меня лежал «ubuntu-9.10-desktop-i386.iso«, на его примере и рассмотрим. Так же, разархивируем в корень. В папке isolinux (ее после можно удалить), в файле text.cfg находм как запускается Live режим, и соответственно добавляем свои строки в menu.lst (сравните что там было и что получилось)
title Try Ubuntu without any change to your computer
root (hd0,0)
kernel /casper/vmlinuz file=/preseed/ubuntu.seed boot=casper
initrd /casper/initrd.lz

6. Установка Debian (точно так же ставится и Ubuntu):
Для этого нам понадобится файлы HD-Media (или графический инсталятор) из репозитория, и ISO образ DVD1. Складываем все это в корень, а в grub добавляем:
title Debian Install
kernel /vmlinuz
init /initrd.gz

После начала установки будет найден образ ISO DVD1 и продолжится установка без сети, без CD приводов.

7. Установка на флешку Антивирусов сильно сложнее, например установку Dr.Web Live CD я расписывал тут.

Образы антивирусов не все удалось нормально «подселить» на флешку, если кто то сможет и поделится опытом буду рад (сам давно их не качал, возможно в последних версиях это уже делается сильно проще). В образе от Dr.Web, например, лежит даже инструкция по установке на флешки.
Для справки Live образы антивирусов:
Dr.Web
BitDefender
Avast! уже платный :(
Symantec NAV
Panda
Avira

8. DOS. Тут стоит разделить, если нам нужен ДОС для какой то серьезной работы, то имеет смысл найти DOS-Live образы, например этот, и грузить как в п.3. Мы же запускаем DOS что бы потом из него запустить установку Windows XP. От ДОСа нам понадобятся:
AUTOEXEC.BAT
COMMAND.COM
CONFIG.SYS
EMM386.EXE
HIMEM.SYS
IO.SYS
SMARTDRV.EXE

желательно, но не обязательно:
Mouse.com
MOUSE.INI
OAKCDROM.SYS

Копируем все это в корень флешки, а в menu.lst добавляем
title DOS (Install WinXP?)
root (hd0,0)
makeactive
chainloader /io.sys

Тут можно либо насладиться DOS, либо заранее в AUTOEXEC.BAT прописать (файл ответов конечно по желанию):
smartdrv
cd \WinXP\i386
winnt /U:\WinXP\i386\winnt.sif

9. Установка Windows 7. Как уже писал выше достаточно разархивировать ISO в корень флешки, а в menu.lst добавить (уже с hd0,0)
root (hd0,0)
chainloader /bootmgr
boot

10. Ну и для ровного счета расскажу еще об одном типе утилит. Некоторые (не все!) ISO образы могут быть загружены прямо из grub. Среди таких у меня нашлись: Acronis True Image, Acronis Disk Director, Active Password Changer. Это особым образом подготовленные образы (не простой слепок с CD), их загружать следующим образом:
title Active Password Changer
map (hd0,0)/Pwdchanger.iso (hd32)
map --hook
chainloader (hd32)

Удаление

Что делать если случайно установили grub в MBR основного диска, а не флешки, либо нужно удалить с флешки? Можно воспользоваться утилитой bootsect.exe как я писал выше.
В случае если еще не перезагрузились (если перезагрузились, то при помощи grub загрузите Windows, способом описанным выше), и запустите bootsect.exe
Для восстановления Windows XP bootsect /nt52 c: /mbr
Для восстановления Windows Vista/7 bootsect /nt60 c: /mbr
bootsect находится в папке boot диска Windows, а так же есть в моем выложенном архиве в конце статьи.
Флешку же достаточно просто отформатировать.

Заключение

Надеюсь что примеры помогут кому то разобраться, а кому то заинтересоваться данным загрузчиком, а утилиты для создания загрузочных флешек будут вызывать улыбку (ни кого не хочу обидеть, уважаю всех разработчиков, больше того сам с таких утилит начинал). Ну и конечно же очень рекомендую изучить подробнее сам grub, и GRUB4DOS, например вот русское руководство по последнему.
Перед добавлением очередного дистрибутива или утилитки, следите что бы папки не совпадали. Часть Linux дистрибутивов, при определенной сноровке и хорошем владении grub, позволяет безболезненно переименовать свою папку. Особенно не большие, на подобии pmagic, puppy, xpud.
В общем, не бойтесь экспериментировать, и удачи!

Так же ресурсы, которые могут быть полезны тем, кто хочет создать свою загрузочную флешку:
greenflash.su
flashboot.ru
lexapass.narod.ru

Приложение — мой архивчик со всем необходимым: bootsect, DOS, grub install скипт, WINGRUB, grub4dos. А так же список файлов на моей флешке c описаниями (некоторые просили).

UPD:

  • Форум где обсуждают варианты создания и загрузки ISO-образов.
  • В этой статье, от savvateev, он расказывается как решить некоторые возникающие проблемы, в том числе и фрагментацию образов ISO.
  • Статья «Программа для быстрого теста загрузочных дисков». С помощью описанной в статье утилиты загрузочную флешку можно тестировать мгновенно и без перезагрузки компьютера.
  • Скрипт для создания LiveLinux из любого дистрибутива.
Рубрика:

Администрирование / 
Инструменты

  | Дополнительные материалы

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Игорь Орещенков ИГОРЬ ОРЕЩЕНКОВ, инженер-программист, iharsw@tut.by

Загрузочный носитель
на основе GRUB2 for Windows

В статье рассматривается подготовка мультизагрузочного носителя для BIOS/EFI компьютеров на основе загрузчика GRUB2 в среде операционной системы Windows. Он может быть пригоден для первичной инициализации компьютера или восстановления работоспособности операционной системы компьютера

Технические требования к загрузочному носителю

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

С учетом высказанных предпосылок в качестве загрузочного носителя удобно выбрать SD-карту. Оптические диски практически вышли из широкого обращения, а USB-флешки с аппаратной защитой от записи не везде можно встретить в продаже, и цена на них не всегда оправдана. В то же время любая SD-карта имеет переключатель защиты от записи, что в комплекте с кардридером превращает ее в недорогой, но функциональный носитель (см. рис. 1).

Рисунок 1. Из SD-карты и кардридера можно собрать функциональный носитель с аппаратной защитой от записи

Рисунок 1. Из SD-карты и кардридера можно собрать функциональный носитель с аппаратной защитой от записи

Чтобы носитель можно было использовать как на компьютерах с загрузчиком BIOS, так и на платформах со схемой загрузки EFI, создадим на носителе три раздела MBR:

  • Раздел FAT32 – для загрузчика GRUB2, ISO-образов специализированных дистрибутивов для восстановления работоспособности системы и Windows-утилит.
  • Раздел с ISO-образом дистрибутива Mageia-6.1-Live-DVD-Xfce-i586-DVD.iso, который, будучи не требовательным к ресурсам компьютера, предоставляет полноценный рабочий стол с офисным пакетом и веб-браузером.
  • Раздел с инсталляционным ISO-образом дистрибутива Mageia-6-i586-DVD.iso, который содержит в себе набор программного обеспечения, достаточный для организации как автоматизированного рабочего места офисного работника, так и для построения сервера организации.

Разметка носителя

Для хранения перечисленных выше данных будет достаточно накопителя емкостью 8 Гб. Его разметку можно выполнить под Windows с помощью штатной утилиты diskpart. Сначала нужно с помощью команды list disk вывести таблицу подключенных к компьютеру накопителей, чтобы определить, над каким выполнять операции.

C:\> diskpart
DISKPART> list disk

По значению в колонке «Размер», которое должно равняться 7580 Мбайт, определяем номер носителя для дальнейшей работы. Допустим, что в колонке «Диск ###» интересующему носителю соответствует номер 9. Очистим его содержимое.

DISKPART> select disk 9
Выбран диск 9
DISKPART> detail disk

В соответствии с принципом осмотрительности администраторов баз данных «Семь раз SELECT – один UPDATE» убедимся в правильности нашего выбора нужного сменного носителя.

В выводе команды detail disk должна содержаться следующая надпись:

USB Mass Storage Device USB Device, Тип: USB

и информация о единственном пока что разделе:

FAT32 Сменный 7576 Мб Исправен

Если сомнений больше не осталось, выполняем очистку носителя:

DISKPART> clean

После успешного выполнения команды должно появиться сообщение:

DiskPart: очистка диска выполнена успешно

Если же появилось сообщение об ошибке, например:

Программа DiskPart обнаружила ошибку: Не удается найти указанный файл

то команду нужно повторить.

Снова выводим таблицу со списком носителей:

DISKPART> list disk

Для инициализированного носителя «Диск 9» будет выведено:

Размер: 7580 Мб, Свободно 7579 Мб

Свободное пространство нужно разметить на три раздела:

  • Один раздел – для ISO-образа Mageia-6-i586-DVD.iso размером 3,921,674,240 байт или 3740 Мб (если дважды разделить количество байтов на 1024).
  • Второй раздел – для ISO-образа Mageia-6.1-LiveDVD-Xfce-i586-DVD.iso размером 2,028,994,560 байт или 1935 Мб.
  • Третий раздел, который займет оставшееся свободным пространство, будет предназначен для загрузчика, Windows-утилит и вспомогательных загрузочных образов. Его размер составит 7579 – (3740 + 1935) = 1904 Мб.

Разделы лучше располагать на носителе в порядке, обратном перечисленному, – сначала загрузочный раздел, а после него – с ISO-образами дисков. Поэтому создадим сначала раздел размером 1904 Мб. Поскольку загрузочный носитель планируется максимально универсальным, попытаемся сделать этот раздел загрузочным по спецификации EFI:

DISKPART> create partition efi size=1904

Эта команда завершится с ошибкой и сообщением о том, что EFI-разделы поддерживаются только для GPT-дисков. К сожалению, один накопитель может быть размечен либо по схеме MBR, которую поддерживают загрузчики BIOS, либо по схеме GPT, которую поддерживают загрузчики EFI, и совместить эти схемы в пределах одного накопителя согласно разделу 5 спецификации UEFI 2.7 [8] никак не возможно.

Тем не менее практика показывает, что в большинстве случаев реальные реализации загрузчиков EFI без особых проблем распознают в качестве загрузочных разделы FAT32 с шестнадцатеричным кодом файловой системы EF, размещенные на дисках MBR. Воспользуемся этим фактом и создадим первичный MBR-раздел, после чего отформатируем его с присвоением метки BOOTDISK:

DISKPART> create partition primary size=1904
DISKPART> format FS=FAT32 LABEL="BOOTDISK" QUICK
DISKPART> set id=EF

Если между командами create partition и format по каким-то причинам пришлось завершить утилиту diskpart, то восстановить контекст после ее запуска можно командами:

DISKPART> select disk 9
DISKPART> select partition 1

При выполнении же команд в непрерывной последовательности вновь созданный раздел становится текущим автоматически, поэтому выполнять команду select partition для переключения фокуса нет необходимости.

Теперь можно создать остальные разделы. В качестве идентификатора файловой системы им нужно назначить шестнадцатеричное значение 17 (ISO 9660).

DISKPART> create partition primary size=1935
DISKPART> set id=17
DISKPART> create partition primary size=3740
DISKPART> set id=17

Каждая команда create partition должна завершаться сообщением:

Diskpart: указанный раздел успешно создан

а команда set сообщением:

Программа Diskpart успешно задала идентификатор раздела

Результат работы можно просмотреть с помощью команды list partition. А с помощью команды list disk можно убедиться, что на носителе не осталось неиспользованного пространства:

Свободно 0 байт

После этого можно завершить работу с программой diskpart:

DISKPART> exit

Запись ISO-образов в разделы накопителя

К сожалению, в операционной системе Windows нет средства, позволяющего с такой же легкостью, как утилита dd в мире UNIX, записывать файлы на устройства и обратно. Вероятно, по этой причине появился Windows-клон этой программы, которым мы воспользуемся для записи ISO-образов на разделы загрузочного накопителя.

Может возникнуть вопрос: «Зачем записывать образы ISO-дисков как «сырые данные» логических разделов и почему не записать их в виде файлов на обычный раздел, например FAT32?»

Дело в том, что образы Mageia [6] не поддерживают «петлевой» запуск из файла, как это уже давно умеют делать другие дистрибутивы, например Ubuntu и Fedora. Но поскольку они все же являются «гибридными» (то есть позволяют записывать себя как на DVD-матрицу, так и на USB-флешку), то есть шанс заставить их работать с раздела создаваемого носителя.

Для дальнейшей работы потребуется загрузить дистрибутивный архив dd-0.6beta3.zip [1] и извлечь из него программу dd.exe. Предполагается, что файлы с ISO-образами уже лежат в текущей папке.

Выясним способ адресации разделов создаваемого загрузочного носителя программой dd:

C:\> dd.exe --list
NT Block Device Objects
...
Ошибка! Недопустимый объект гиперссылки.
  link to Ошибка! Недопустимый объект гиперссылки.
  Removable media other than floppy. Block size = 512
  size is 7948206080 bytes
Ошибка! Недопустимый объект гиперссылки.
  link to Ошибка! Недопустимый объект гиперссылки.
  Removable media other than floppy. Block size = 512
  size is 1996488704 bytes
Ошибка! Недопустимый объект гиперссылки.
  link to Ошибка! Недопустимый объект гиперссылки.
  Removable media other than floppy. Block size = 512
  size is 2028994560 bytes
Ошибка! Недопустимый объект гиперссылки.
  link to Ошибка! Недопустимый объект гиперссылки.
  Removable media other than floppy. Block size = 512
  size is 3921674240 bytes

В секции NT Block Device Objects нужно отыскать группу строк, сопровождаемых текстом Removable media other than floppy («Сменный носитель, отличный от гибкого диска»). Сведения о размерах найденных разделов подтверждают предположение о том, что записи «Ошибка! Недопустимый объект гиперссылки.» относятся к недавно созданным разделам на накопителе «Ошибка! Недопустимый объект гиперссылки.».

Теперь можно выполнять команды записи ISO-образов:

C:\> dd.exe if=Mageia-6-i586-DVD.iso of=Ошибка! Недопустимый объект гиперссылки. bs=1M --progress
C:\> dd.exe if=Mageia-6.1-LiveDVD-Xfce-i586-DVD.iso of=Ошибка! Недопустимый объект гиперссылки. bs=1M --progress

С помощью параметра if= программе передается имя записываемого файла ISO-образа, через параметр of= указывается раздел накопителя, в который будет произведена запись, параметр bs= задает размер единовременно копируемого блока, а параметр —progress позволяет интерактивно наблюдать в консоли количество записанных данных (из-за большого размера файлов процесс занимает продолжительное время, которое зависит от класса SD-карты и версии интерфейса кардридера).

Успешная запись должна завершиться следующими сообщениями:

3,740M 3740+0 records in 3740+0 records out
1935M 1935+0 records in 1935+0 records out

для первого и второго образа соответственно, которые говорят о равенстве количества прочитанных и записанных данных.

Установка и проверка загрузчика

Для установки на носитель загрузчика GRUB2 нужно загрузить дистрибутивный пакет grub-2.02-for-windows.zip [2], извлечь из него папку grub-2.02-for-windows и сделать ее текущей. Для продолжения работы нужно выяснить, под какой буквой подключен в операционной системе раздел FAT32 настраиваемого носителя. Это можно сделать в программе diskpart с помощью команды list volume. Строка таблицы с нужным разделом будет содержать:

Тип: Сменный, Размер: 1904 Мб, Состояние: Непригоден

Допустим, что искомому разделу соответствует буква «R». Установка загрузчика может быть произведена командой:

C:\> grub-install.exe --boot-directory=R:\ --target=i386-PC //./PHYSICALDRIVE9

Параметр —boot-directory задает путь, где будет создана папка grub с файлами загрузчика, параметр —target указывает тип загрузки (в рассматриваемом случае это BIOS), а последний параметр задает накопитель, загрузочный сектор которого будет модифицирован. Об успешной установке должны сообщить надписи:

Installing for i386-pc platform. Installation finished. No error reported

Поскольку было принято решение о создании универсального загрузочного носителя, можно установить загрузчики для 32- и 64-битных EFI:

C:\> grub-install.exe --boot-directory=R:\ --efi-directory=R:\ --removable --target=i386-efi
C:\> grub-install.exe --boot-directory=R:\ --efi-directory=R:\ --removable --target=x86_64-efi

Параметр —efi-directory указывает, где будет создана папка EFI с модулями, необходимыми для загрузки в режиме EFI, а параметр —removable информирует инсталлятор о том, что установка производится на сменный носитель.

На этом установка загрузчика завершена. Можно проверить созданный носитель на реальных компьютерах или с помощью специализированного эмулятора QemuBootTester. Последний позволяет выбрать носитель, с которого будет произведена загрузка виртуальной машины, и полный спектр режимов загрузки: BIOSEFI-IA32 и EFI-x64 (см. рис. 2).

Рисунок 2. Эмулятор QemuBootTester позволяет выбрать загрузочный носитель (1) и режим загрузки (2). Для тестирования загрузчика достаточно 128 Мб (3) виртуальной памяти, а виртуальный жесткий диск можно отключить. Запуск осуществляется кнопкой Run QEMU (4)

Рисунок 2. Эмулятор QemuBootTester позволяет выбрать загрузочный носитель (1) и режим загрузки (2). Для тестирования загрузчика достаточно 128 Мб (3) виртуальной памяти, а виртуальный жесткий диск можно отключить. Запуск осуществляется кнопкой Run QEMU (4)

Отметим, что при подключении носителя к компьютеру под управлением Windows система отображает диалоговые окна с предложением отформатировать нераспознанные разделы, на которые записаны образы дистрибутивов Linux. Естественно, делать этого не нужно.

При выборе носителя в качестве загрузочного управление системой возьмет на себя GRUB2. Его работа должна управляться с конфигурационным файлом, который пока что отсутствует. Поэтому на экране отобразится приглашение командного режима (см. рис. 3). В нем можно сразу опробовать команды:

  • grub> help – отображение списка команд;
  • grub> help команда – отображение подсказки по использованию команды.

Рисунок 3. В командном режиме загрузчика GRUB2 можно проанализировать конфигурацию компьютера и выполнить загрузку операционной системы в аварийном режиме

Рисунок 3. В командном режиме загрузчика GRUB2 можно проанализировать конфигурацию компьютера и выполнить загрузку операционной системы в аварийном режиме

Зачастую выводится больше информации, чем может уместиться на экране. Чтобы вывод на экран приостанавливался перед прокруткой и выдачей очередной порции сведений, нужно включить режим постраничного вывода:

grub> set pager=1

Очистить экран можно командой clear. Для завершения работы GRUB2 предусмотрены команды:

  • grub> reboot – перезагрузка;
  • grub> halt – выключение компьютера.

В компьютерах на основе Phoenix BIOS может возникнуть трудность, связанная с выбором загрузочного носителя. В предлагаемых вариантах присутствуют USB-FDDUSB-ZIP, USB-CDROM – и не ясно, какой является правильным. На самом деле – ни один из перечисленных.

Нужно через пункт меню Advanced BIOS Features → Boot Seq&Floppy Setup установить в качестве первичного устройства загрузки First Boot Device значение Hard Disk (вероятно, оно и так установлено), а в пункте меню Advanced BIOS Features → Hard Disk Boot Priority на первое место переместить значение USB-HDD0: USB Mass Storage Device. Если такой вариант для выбора отсутствует, нужно убедиться, что загрузочный носитель подключен, после чего выполнить «теплую» перезагрузку по <Ctrl> + <Alt> + <Del> и повторить процедуру.

Настройка загрузчика

Как уже было отмечено, в своей работе загрузчик GRUB2 руководствуется командами, записанными в конфигурационном файле /grub/grub.cfg на загрузочном носителе.

Язык конфигурирования очень напоминает язык командного интерпретатора bash, однако для включения поддержки некоторых конструкций нужно явным образом подключить соответствующие модули. Например, для проверки условий требуется модуль test, а для использования регулярных выражений – модуль regexp. Скомпилированные модули в файлах с расширением .mod на этапе установки GRUB2 уже были записаны в подкаталоги i386-pci386-efi и x86_64-efi, соответствующие режимам загрузки.

Загрузчик GRUB2 можно русифицировать. Для этого необходимо:

  • записать из дистрибутива файл с русифицированными сообщениями grub-2.02-for-windows\locale\ru\grub.mo на загрузочный носитель под именем \grub\locale\ru.gmo;
  • записать из дистрибутива файл со шрифтом UNICODE \grub-2.02-for-windows\unicode.pf2 на загрузочный носитель в подкаталог grub\fonts\;
  • подключить модули поддержки локализации, установки графических режимов и графической консоли для отображения символов кириллицы:
    grub> insmod gettext
    grub> insmod all_video
    grub> insmod gfxterm
  • загрузить шрифт UNICODE, установить русский язык, задать графический режим и активировать графическую консоль:
    grub> loadfont "unicode"
    grub> set lang=ru
    grub> set gfxmode=auto
    grub> terminal_output gfxterm

После выполнения приведенных настроек GRUB2 «заговорит» по-русски. Помимо этого открывается возможность использования файлов с заранее подготовленными подсказками на русском языке, которые можно записать на носитель в кодировке UTF-8, а в нужный момент вывести на экран с помощью команды cat:

grub> cat --dos /grub/help.txt

Ключ —dos предписывает трактовать двухбайтовые последовательности \0D\0A как символы перевода строки.

При запуске GRUB2 инициализирует некоторые переменные среды окружения, полный список которых можно вывести на экран командой set.

Так, переменная $prefix содержит путь к папке с файлами GRUB2, а переменная $grub_platform содержит идентификатор способа загрузки:

  • efi – если загрузка выполнена в режиме EFI-IA32 или EFI-x64;
  • pc – если загрузка выполнена в режиме BIOS.

Этот факт можно использовать для условной загрузки блоков конфигурации из файлов /grub/efi.cfg или /grub/pc.cfg для учета специфики режима или подключения пунктов меню:

insmod test
set pcfg="$prefix/$grub_platform.cfg"
if [ -e $pcfg ]; then
	source $pcfg
fi

Система меню и загрузка операционных систем

В конфигурационном файле grub.cfg можно описать меню с вариантами выбора, которые будут отображаться после загрузки вместо режима командной строки:

submenu "НазваниеРазделаМеню" {
	menuentry "НазваниеПунктаМеню" {
		... последовательность команд ...
	}
}

При этом сохраняется возможность выхода в командную строку с помощью клавиши <c>.

Для работы с файлами, находящимися на ISO-образах, удобно использовать файловый менеджер 7ZipFM [3] с подключенным в его настройках (через пункт меню «Сервис → Настройки → Редактор») текстовым редактором AkelPad [4] (см. рис. 4).

Рисунок 4. Файловый менеджер из пакета 7Zip позволяет исследовать содержимое ISO-образов и извлекать из них необходимые файлы, а текстовый редактор AkelPad дает возможность «на месте» просматривать содержимое текстовых файлов

Рисунок 4. Файловый менеджер из пакета 7Zip позволяет исследовать содержимое ISO-образов и извлекать из них необходимые файлы, а текстовый редактор AkelPad дает возможность «на месте» просматривать содержимое текстовых файлов

Если требуется выполнять загрузку с ISO-образа дистрибутива Linux, который поддерживает «петлевой» запуск, то пункты меню для этих целей можно извлечь из самого конфигурационного файла загрузчика нашего дистрибутива Linux.

Например, в случае Ubuntu это будет ubuntu-18.10-desktop-amd64.iso\boot\grub\loopback.cfg (еще потребуется указать путь к файлу с ISO-образом на загрузочном носителе в переменной окружения $iso_path).

Для дистрибутива Fedora можно воспользоваться блоком меню из файла Fedora-Workstation-Live-x86_64-29-1.2.iso\EFI\BOOT\grub.cfg в качестве основы, но к параметрам ядра нужно дописать указание пути к файлу образа в виде «iso-scan/filename=…».

Множество примеров пунктов меню для «петлевого» запуска различных дистрибутивов Linux можно найти в файле \grub-2.02\docs\autoiso.cfg дистрибутивного пакета grub-2.02.tar.gz.

Описанным способом были сформированы пункты меню для запуска модулей дистрибутива System Resque CD [7], ISO-образ которого размещен в файле /ISO/systemrescuecd-x86-5.3.2.iso загрузочного носителя.

Стоит отметить метод подключения корневой файловой системы модуля NTPASSWD, предназначенного для сброса пароля администратора Windows. Она состоит из двух блоков: основного initrd.cgz и вспомогательного scsi.cgz с драйверами устройств SCSI. Их совместное использование реализовано командой:

initrd16 (loop0)/ntpasswd/initrd.cgz (loop0)/ntpasswd/scsi.cgz

Дистрибутивы Mageia не поддерживают «петлевую» загрузку, из-за чего их ISO-образы были записаны в разделы загрузочного носителя.

К сожалению, попытка выполнить запуск путем установки фокуса на содержащий дистрибутив раздел и передачи управления загрузчику командой chainloader +1 не увенчалась успехом. Это не удивительно, потому что загрузчик рассчитан на размещение в MBR, а не в загрузочный сектор раздела.

На помощь пришла команда GRUB2 syslinux_configfile, обнаруженная в эталонном конфигурационном файле \grub-2.02\docs\osdetect.cfg, который входит в состав дистрибутивного пакета grub-2.02.tar.gz. Она позволяет подключить к текущему меню GRUB2 блок, записанный в формате загрузчика isolinux. Так это выглядит для дистрибутивов Mageia:

menuentry "Mageia 6.1 Live DVD" {
	search --set=root --fs-uuid 2018-10-01-18-55-31-00
	syslinux_configfile -i /isolinux/isolinux.cfg
}
menuentry "Mageia 6 Installation DVD" {
	search --set=root --fs-uuid 2017-07-15-07-08-52-00
	syslinux_configfile -i /isolinux/isolinux.cfg
}

Команды search в приведенных примерах осуществляют поиск на доступных носителях разделов с указанными в параметрах —fs-uuid уникальными идентификаторами и делают их текущими.

Узнать значения идентификаторов разделов можно с помощью команды ls -l, введенной в командном режиме GRUB2:

grub> ls -l
...
Раздел hd0,msdos3: Тип файловой системы iso9660 – Метка "Mageia-6-i586" – Время последнего изменения 2017-07-15 07:08:52 Суббота, 
	UUID 2017-07-15-07-08-52-00 – Раздел начинается с 3932160КиБ – Общий размер 3829760КиБ
Раздел hd0,msdos2: Тип файловой системы iso9660 – Метка "Mageia-6.1-Xfce-LiveDVD" – Время последнего изменения 2018-10-01 18:55:31 Понедельник, 
	UUID 2018-10-01-18-55-31-00 – Раздел начинается с 1950720КиБ – Общий размер 1981440КиБ
...

Команды syslinux_configfile подключают блоки меню из файлов isolinux.cfg на найденных разделах. Эстетический недостаток этого способа состоит в том, что вместо описаний пунктов меню на экране будут отображаться их метки. Но зато сохраняется функциональность.

Образ LiveDVD работает без замечаний – так, как будто был использован обычный загрузочный носитель. А для образа инсталляционного диска придется указать местонахождение установочных файлов. Для этого:

  • в окне с сообщением I can’t access a Mageia Installation disc in your CDROM drive нажать кнопку No;
  • в окне запроса носителя с установочными файлами (Please select the disk containing the copy of the Mageia Distribution install source) выбрать устройство USB Mass Storage Device;
  • в окне запроса раздела (Please select the partition containing the copy of the Mageia Distribution install source) выбрать третий раздел размером 3740 Мбайт;
  • в окне ввода пути к установочным файлам поле Please select directory оставить пустым – просто нажать <Enter>.

Установочные файлы будут найдены, запустится инсталлятор, и установка продолжится в штатном режиме.

Заключение

В результате выполнения приведенных в статье рекомендаций в среде операционной системы Windows с использованием штатных средств и минимального набора стороннего программного обеспечения может быть создан универсальный мультизагрузочный носитель на базе GRUB2, пригодный для первичной инициализации компьютера или восстановления работоспособности операционной системы компьютера.

В статье рассмотрен способ подключения блоков загрузочного меню из конфигурационных файлов загрузчиков SysLinux/IsoLinux с помощью команды syslinux_configfile.

На сайте журнала http://samag.ru приведен рабочий вариант конфигурационного файла GRUB2 для загрузочного носителя BIOS/EFI с возможностью запуска модулей SystemResqueCD, получения рабочей среды на базе GNU/Linux Mageia 6 и установки этой операционной системы, который содержит.

  • grub.cfg – основной конфигурационный файл GRUB2;
  • pc.cfg – блок меню, специфичный для загрузки в режиме BIOS;
  • efi.cfg – блок меню, специфичный для загрузки в режиме EFI;
  • help.txt – файл с подсказкой о процедуре загрузки Windows;
  • helpefi.txt – файл с описанием особенностей использования SystemRescueCD в режиме EFI.

При изучении возможностей GRUB2, помимо интернет-источников [5], целесообразно использовать справочную информацию, имеющуюся в папке \grub-2.02\docs\ дистрибутивного пакета grub-2.02.tar.gz:

  • grub.info – документация на английском языке, которая может быть просмотрена в любом текстовом редакторе;
  • grub.cfg – конфигурационный файл, содержащий основные примеры загрузки операционных систем;
  • autoiso.cfg – конфигурационный файл, содержащий примеры загрузки операционных систем в «петлевом» режиме из файлов ISO-образов;
  • osdetect.cfg – конфигурационный файл, содержащий сценарии поиска загрузочных разделов для множества операционных систем с последующей их загрузкой.

В ходе подготовки загрузочного носителя следует сконцентрировать внимание на выполняемых действиях. Ошибка в набранной команде может привести к необратимой потере информации, хранящейся на компьютере.

  1. Утилита DD для Windows – http://www.chrysocome.net/dd.
  2. Загрузчик GRUB2 – ftp://ftp.gnu.org/gnu/grub/.
  3. Архиватор и файловый менеджер 7Zip – https://www.7-zip.org.
  4. Текстовый редактор AkelPad – http://akelpad.sourceforge.net/.
  5. Cтатьи о загрузочных носителях – https://www.bootdev.ru.
  6. Mageia GNU/Linux – http://www.mageia.org/ru/.
  7. System Rescue CD – http://www.system-rescue-cd.org.
  8. Спецификация UEFI 2.7 – http://www.uefi.org/sites/default/files/resources/UEFI%20Spec%202_7_A%20Sept%206.pdf.

Ключевые слова: Linux, rescue.

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

После создания разделов для флешки, как рассказано в этом посте, перейдем к установке загрузчиков. В качестве загрузчиков будем использовать Grub4Dos, для загрузки в обычном BIOS, и GRUB 2, для загрузки в UEFI BIOS. Из программ нам понадобится только BOOTICE.

И так, снова посмотрим на текущую разметку флешки, выглядит она следующим образом.

У нас в распоряжении два раздела, одни основной, файловый и по совместительству выполняющий роль загрузочного для BIOS систем, и второй небольшой раздел, исключительно для загрузки в EFI. Подробнее о теории разделов читаем тут.

Теперь перейдем собственно к установке загрузчиков.

Установка BIOS загрузчика

Запускаем BOOTICE, во вкладке Physical disk выбираем нашу флешку, если она не выбрана по умолчанию, и нажимаем на кнопку Process MBR.

В открывшемся окне выставляем переключатель в секции Available MBR Types в положение GRUB4DOS 0.4.5c/0.4.6a (grldr.mbr) и жмем на кнопку Install / Config.

Откроется окно конфигурирования загрузочной записи GRUB4DOS. В секции GRUB4DOS Version выставляем переключатель в положение 0.4.6a (FAT, FAT32, ExFAT, NTFS, EXT2), снимаем остальные все галочки. Должно быть так как на скрине ниже. Жмем на кнопку Save to disk.

BOOTICE скажет что MBR GRUB4DOS успешно установлена, и попросит скопировать внешние файлы загрузчика GRLDR и menu.lst в корень любого раздела на устройстве. Жмем на OK.

Возвращаемся главное окно программы. Во вкладке Physical disk нажимаем на кнопку Process PBR.

В открывшемся окне записи загрузочной области раздела, в секции Destination Partition
выбираем первый раздел флешки, а в секции Available PBR Types выставляем переключатель в положение GRUB4DOS 0.4.5c/0.4.6a (FAT, FAT32, NTFS, ExFAT) и нажимаем на Install / Config.

Откроется окно конфигурации загрузочной области раздела. В нем выставляем переключатель в положение Version 0.4.6a и жмем на OK.

Программа скажет что успешно изменила PBR раздела.

Теперь выполняем просьбу программы о копировании файлов. Для этого качаем свежую версию загрузчика Grub4Dos по ссылке в начале статьи. На момент написания статьи это версия от 2015-11-18.

Из скачанного архива 

grub4dos-0.4.6a-2015-11-18.7z

, извлекаем файлы grldr и menu.lst в корень первого раздела.

Файл menu.lst располагается в директории

sample

внутри архива.

В итоге имеем такую картину.

На этом установка BIOS загрузчика завершена. Теперь дело осталось только за EFI.

Установка UEFI BIOS загрузчика

Специально для EFI загрузчика мы подготовили отдельный раздел, второй по счету. Чтобы получить к нему доступ, его нужно смонтировать. К сожалению из-за ограничения самой операционной системы Windows, для флешек возможно монтировать только один раздел, поэтому при необходимости работы с разделами, между ними необходимо переключаться.

Для переключения на второй раздел, в BOOTICE, во вкладке Physical disk выбираем нашу флешку, и нажимаем на кнопку Parts Manage.

Открывшемся окне управления разделами, выбираем второй раздел, и жмем на кнопку Set Accessible.

Флешка в проводнике до переключения.

Второй раздел при этом станет доступным для работы в системе. В списке он переместиться на первое место, и в поле Drive ему будет присвоена буква. Первый же раздел станет недоступным.

Флешка после переключения разделов.

Качаем архив с загрузчиком GRUB 2 по ссылке GRUB_2.04_UEFI_and_LEGACY.7z (4.91 MB), и распаковываем в корень флешки.

Содержимое архива.

Должно получиться так.

Теперь необходимо отредактировать конфигурационный файл загрузчика. А именно, сделать так, чтобы мы могли конфигурировать, при необходимости, меню из первого раздела, минуя постоянные переключения между разделами, при необходимости вносить изменения.

Конфигурационный файл располагается по адресу

boot\grub\grub.cfg

.

Открываем его любым текстовым редактором, удаляем все его содержимое, и вписываем следующее:

insmod ntfs
search —set=root —file /grub.cfg
configfile /grub.cfg

Получиться должно так.

Сохраняем изменения.

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

Далее переключаемся снова на первый раздел, и копируем, с архива, файл grub.cfg в корень флешки.

На этом установку EFI загрузчика можно считать завершенной.

Напоследок проверим флешку c помощью программы QemuBootTester.

Загружаемся в режиме обычного BIOS.

Теперь загрузимся в EFI режиме.

В итоге, у нас получилась флешка с возможностью загрузки как в BIOS, так и в UEFI BIOS, c возможностью конфигурирования обоих загрузчиков из основного раздела.

В следующем материале, мы определимся с содержимым флешки и сконфигурируем загрузчики под это содержимое.

Как сделать загрузочную флешку Grub4Dos с менюПриветствую!
В данном материале будет рассказано о быстром способе создания загрузочного Flash-драйва с минимумом усилий.

Будет подробно описан процесс подготовки, форматирования и записи универсального и мощного загрузчика Grub4Dos на флешку. С помощью этого загрузчика, который имеет открытый исходный код и поддерживается на подавляющем большинстве компьютеров (в том числе и старых – от ~2006 года выпуска) можно загрузить как различного рода диагностические утилиты, так и установку операционной системы с флешки.

Содержание:

  • Подготовка Flash накопителя
  • Форматирование флешки
  • Запись загрузчика (загрузочной области)
  • Конфигурация меню Grub4Dos
  • Проверка работоспособности созданной загрузочной флешки
  • Краткий итог

Подготовка Flash накопителя

Под подготовкой вашей флешки подразумевается копирование с неё всех важных данных, так как в последующем процессе форматирования, которое является обязательным условием для создания загрузочной флешки, все имеющиеся на ней данные будут безвозвратно удалены.

Image

После создания загрузочной области на флеш-драйве вы сможете продолжать пользоваться ей и как обычным носителем данных: копировать и считывать с неё файлы и прочие данные. Записанная на неё загрузочная область при этом не пострадает. Вы всё также сможете грузиться с неё, запускать различные сервисные утилиты и устанавливать желаемую операционную систему.

Форматирование флешки

Форматирование и последующие процедуры мы будем проводить в довольно популярной утилите Bootice. Инструмент довольно мощный, но не стоит беспокоиться – все шаги будут подробно освещены.

Image

Для начала нам необходимо её скачать, это можно сделать по данной ссылке.

Скачав архив, распакуйте его. Если у вас нет программы архиватора, то вы можете воспользоваться популярным решением под названием WinRAR.

После распаковки, запустите файл. В архиве представлен вариант программы как для 32 (x86) битной версии операционной системы, так и 64 (x64) битной.
Используйте тот вариант, который соответствует разрядности установленной в вашем случае операционной системы. Если вы затрудняетесь с определением разрядности установленной у вас операционной системы и соответственно запуском нужной версии, то данный материал вам поможет «Как узнать разрядность установленной операционной системы: 32bit или 64bit».

Image

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

Окно программы Bootice: выбор флешки и её форматирование

В открывшемся окне выберите ваш носитель, а после нажмите кнопку Parts Manage.

В результате будет отображено дополнительное окно, в котором вам необходимо будет нажать на кнопку Format this part. И в дополнительно появившемся окне обязательно указать a качестве файловой системы FAT32, остальные параметры можно оставить по умолчанию.

Для старта форматирования флеш-драйва нажмите клавишу Start.

Окно программы Bootice: активен ли раздел, сделать раздел активным

После форматирования проверьте, активен ли раздел. Если кнопка Activate неактивна (на неё нельзя нажать) в окне Partition Management, то всё хорошо. В противном случае нажмите на неё.

И так, раздел отформатирован и активен. Переходим к следующему шагу.

Запись загрузчика (загрузочной области)

Окно программы Bootice: прописываем загрузочную область на флешке

Находясь в главном окне программы, нажмите на кнопку Process MBR.

Будет открыто окно Master Boot Record, в нём выберите пункт Windows NT 5.x / 6.x MBR, а после нажмите кнопку Install / Config.

В открывшемся вспомогательном окне Choose MBR нажмите на кнопку Windows NT 6.x MBR.

В результате будет отображено сообщение об успешном проведении операции. Закройте это сообщение нажатием кнопки OK, а после и само окно Master Boot Record.

Окно программы Bootice: прописываем тип будущего загрузчика

Вы вернётесь в главное окно программы, где теперь вам необходимо нажать кнопку Process PBR.

В отрывшемся окне Partition Boot Record необходимо указать раздел, с которого будет происходить загрузка. Проверьте, что этот раздел соответствует вашей флешке (определяется по размеру и имени).

А чуть ниже поставьте чекбокс (точку) у пункта GRUB4DOS 0.4.5c/0.4.6a (FAT/FAT32/NTFS/ExFAT) и нажмите на располагающуюся внизу клавишу Install / Config.

Будет открыто вспомогательное окно Config GRUB4DOS, в котором необходимо будет переключить опцию на пункт Version 0.4.6a, а после нажать кнопку OK.

Будет отображено информационное окно об успешном применении изменений. Закройте это окно и остальные, выйдите из программы Bootice.

Теперь нам необходимо скачать сам загрузчик Grub4Dos. Его мы будет скачивать из официального репозитория.

Скачивание Grub4Dos с официального сайта

Открыв сайт, скачайте последнюю версию. Для этого выберите текущий год, а после найдите в списке архив с самой свежей датой, и нажмите по нему.

Откройте скачанный архив. Если у вас возникают трудности с его открытием, то вам поможет данный материал.

Необходимые нам файлы загрузчика Grub4Dos из представленной россыпи

Из архива нам необходимо будет скопировать в корень загрузочной флешки только два файла – grldr (не имеет расширения) и menu.lst, который содержится в подпапке sample архива.

В рамках данной статьи едва ли возможно будет рассмотреть все «фишки» данного загрузчика. Однако про базовый функционал всё же стоит рассказать.

Флешка с Grub4Dos загрузчиком: список загружаемых утилит

Автор данного материала в своё время создал диагностическую флешку с утилитами, которые вы можете видеть на изображении. По сей день данная флешка служит верой и правдой, и загружает необходимые мне утилиты на самом широком круге устройств.

Но вернёмся к конфигурированию меню Grub4Dos.

К примеру, вам необходимо установить Windows 7 (8.1, 10) с флешки. Просто скопируйте ISO образ (в примере он будет называться WinInstall.iso) дистрибутива Windows в предварительно созданную папку image на флешке, а после откройте menu.lst блокнотом или текстовым Notepad++ и внесите следующие строки:

Image

title Install Windows
map /image/WinInstall.iso (0xFF) || map --mem /image/WinInstall.iso (0xFF)
map --hook
chainloader (0xFF)

По аналогии также можно добавлять LiveCD образы и диагностические загрузочные утилиты (сброс пароля, диагностика жёсткого диска, проверка оперативной памяти и т.д.), более подробно об этом читайте в статье «Grub4dos menu – как сделать, настроить».

О добавлении поддержки русского языка для пунктов загрузочного меню вы можете прочесть в статье «Русский язык (пункты меню) в Grub4Dos».

Проверка работоспособности созданной загрузочной флешки

Проще всего это сделать на компьютере, выбрав загрузку с Flash драйва в BIOS или нажав соответствующую клавишу при включении компьютера.

Универсального способа войти в меню, который бы работал на всех компьютерах, нет. Тут необходимо проявить смекалку.

Если у вас стационарный компьютер, то воспользовавшись статьёй Как узнать марку (модель) материнской платы: обзор способов узнайте марку и модель вашей материнской платы, а после воспользуйтесь поисковиком и введите следующий запрос «название вашей материнской платы меню загрузки\boot menu». Если же у вас ноутбук, то посмотрите его название и введите соответствующий запрос.
Более подробно о том, как вызвать загрузочное меню, вы можете прочесть в материале Как зайти в загрузочное меню (boot menu) – подробная инструкция.

Однако если вы редактируете меню, добавляя новые пункты для загрузчика, то оперативнее будет просматривать изменения с помощью утилиты MobaLiveCD.

Скачайте её с официального сайта, сохраните в желаемом месте и запустите от имени администратора.

Окно программы MobaLiveCD: проверка корректности работы созданной загрузочной флешки

В открывшемся окне нажмите на кнопку Run The LiveUSB.

Окно программы MobaLiveCD: указываем загрузочную флешку

В открывшемся окне укажите загрузочную флешку. Ориентируйтесь по букве диска.

Окно программы MobaLiveCD: отказываемся от создания образа

В следующем окне будет выдан запрос на создание образа – ответьте отказом, нажав кнопку No.

Окно программы MobaLiveCD: эмуляция окна загрузчика Grub4Dos

Если всё было сделано правильно, то будет эмулирован процесс загрузки, отобразится соответствующее меню.

Поздравляю! Загрузчик прописан корректно и теперь ваша флешка является загрузочной.

Краткий итог

В данном материале мы рассмотрели быстрый способ создания загрузочной флешки, с которой можно как установить операционную систему, так и провести диагностику ПК с использованием соответствующих загрузочных утилит.

Используя данное пошаговое руководство, вы без труда сможете сделать загрузочную флешку с индивидуальным списком утилит, которыми вы привыкли пользоваться при работе с компьютером.

Если у вас остались вопросы, вы можете задать их в комментариях.

  • Установка jira на windows server
  • Установить фон для рабочего стола windows 7
  • Установка hasp usb ключа лицензии 1с на windows 10
  • Установка java intellij idea на windows 10
  • Установка gui на windows server 2019 core