Аналог grub для windows

Обновлено: 05.07.2024

Используйте GRUB2 под Windows, чтобы сделать мультизагрузочный диск WINPE, LINUX, MAXDOS U, поддерживающий BIOS и UEFI

Поскольку я ничего не знал об этом, я сделал много обходных путей. Перепробовал множество программ, в том числе GRUB4DOS, XORBOOT, syslinux и др. Это программное обеспечение имеет свои особенности, и я не смог понять его подробно. Я наконец-то решил использовать grub2, потому что я чувствую, что поддержка BIOS и UEFI очень хорошая, и недостатки также очевидны. Загрузите syslinux memdisk для загрузки iso, но memdisk не поддерживает uefi, и правила файла конфигурации действительно ненормальные, я чувствую, что пишу код переднего плана.

Эта статья фокусируется на практической работе.В основном вы можете сделать диск U со следующими функциями шаг за шагом, и не обсуждать конкретные теоретические аспекты в глубине.
Особенности:
BIOS: winpe, Ubuntu18.04_x64 live, запуск MAXDOS.
UEFI: winpe, Ubuntu 18.04_x64, прямой запуск.

1. BIOS считывает MBR в CPU для выполнения и выполняет MBR для выполнения желаемых действий.
2. UEFI должен найти файл \ efi \ boot \ bootx64.efi на диске, запустить исполняемую программу и позволить программе делать то, что он хочет.
Более конкретные различия В Интернете много информации, и это только ключевые моменты, связанные с операцией.


1. Очистите диск U, самое главное, чтобы очистить MBR. Исходная MBR диска U не очищается, что может привести к сбою установки grub2. Если grub2 в процессе установки выдает «grub-install: warning: Попытка установить GRUB на диск с несколькими метками разделов. Это пока не поддерживается», это обычно происходит потому, что исходная MBR диска U не была очищена. Пустой метод:
(1) Комбинация клавиш win + R запускает diskpart.
(2) Введите список дисков, чтобы получить все текущие диски.
(3) Введите диск выбора 2, чтобы найти диск U.
(4) Введите команду clean, clear all, (MBR, раздел и данные).

2. Разбейте U-образный диск. Мой - это 32-гигабайтный диск U, разделенный на 3 ГБ пространства для создания загрузочного диска, формат FAT32, потому что он совместим с UEFI, поэтому я не выбирал меры защиты, такие как скрытие и удаление раздела.

Вот причина, по которой развертывание winpe ставится перед этим. Поскольку программа запуска winpe использует абсолютный путь для поиска файла, а не относительный путь, поэтому структура каталогов загруженного изображения winpe должна поддерживать абсолютный путь без изменений, чтобы программа могла запускаться плавно. Вот шаги:
1. Смонтируйте или распакуйте образ winpe.
2. Выберите все, скопируйте и вставьте в только что разделенную область диска U.

1. Распакуйте grub-2.02-for-windows в папку C: \

2. Определите номер диска

3. Откройте cmd как администратор (очень важно)

4. Введите cd / d C: \ grub-2.02-for-windows

5. установка i386

Запишите букву диска ниже и замените ее на свою. «2» в PHYSICALDRIVE2 - номер диска, найденный на втором шаге.

6, UEFI 64 установлен (обратите внимание на букву диска ниже, измените его на свой)

7, установка uefi32 (установка i386)

Также обратите внимание на букву диска и измените ее на свою.

8. Показать результат после успешной установки

C:\grub-2.02-for-windows>grub-install.exe –boot-directory=G:\ –target=i386-pc //./PHYSICALDRIVE2
Installing for i386-pc platform.
Installation finished. No error reported.

C:\grub-2.02-for-windows>grub-install.exe –boot-directory=G:\ –efi-directory=G: –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=G:\ –efi-directory=G: –removable –target=i386-efi
Installing for i386-efi platform.
Installation finished. No error reported.
u корневой каталог диска сгенерирует соответствующий файл.

1. Создайте новый файл grub.cfg в каталоге / grub.

2. Содержание grub.cfg

Вы можете проверить, может ли grub запускаться под BIOS и UEFI.

1. Сначала установите MaxDOS8.
2. Откройте «Мой компьютер» → щелкните диск C и откройте → нажмите «Инструменты» в строке меню папки → параметры папки → отменить «скрыть расширение известных типов файлов» Отметьте галочкой → сохранить подтверждение
3. Введите C: \ MaxDOS \
Найдите Maxs.sys и переименуйте его в Maxs.rar, затем разархивируйте, чтобы получить файл MaxDOS.exe, и переименуйте его в MaxDOS.img.
4. Скопируйте MaxDOS.img в / maxdos.
Если вы открываете диск C и не можете найти папку MaxDOS, если установка подтверждает, что MaxDOS установлен, введите «C: \ MaxDOS \» в адресную строку, чтобы увидеть ее.

1、winpe

(1) Создайте новый каталог winpe и скопируйте в него изображение winpe. Этот образ для запуска BIOS.
(2) Смонтируйте или разархивируйте образ winpe снова (не перемещайте образ winpe, скопированный на предыдущем шаге), скопируйте все файлы в каталоге / efi / boot в / winpe. Это используется UEFI для загрузки winpe.

2、Ubuntu

Скопируйте ubuntu-18.04-desktop-amd64.iso в корневой каталог.

3、MAXDOS

Создайте новый каталог maxdos и скопируйте в него извлеченный выше файл maxdos.img.

Откройте файл grub.cfg и добавьте следующие пункты меню

После сохранения вы можете попробовать начать.

Загрузчики Grub , NTLDR , Chameleon , BootMgr и д.р
Системное программное обеспечение, обеспечивающее загрузку операционной системы непосредственно после включения компьютера (процедуры POST) и начальной загрузки.
Мультизагрузка | LiveCD/DVD/USB — выбор | Меняем OCь на ноутбуке | Установка Windows с флешки | YourDroid | UEFI FAQ | Проблемы с ПК - FAQ | Комплектующие | Поиск программ и драйверов для ПК | Курилка айтишников

Прикрепленное изображение

GRUB (англ. GRand Unified Bootloader) —загрузчик операционной системы от проекта GNU. GRUB позволяет пользователю иметь несколько установленных операционных систем и при включении компьютера выбирать одну из них для загрузки. - Взято из Википедии.

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

BootMgr загрузчик используемый с Win 7 по Win 10.

Прикрепленное изображение

Тема создана для обсуждения загрузчиков ОС, и проблем с ними. Причина редактирования: Новая шапка редактировал AndrewP_one Что-то из прошлого века? Cейчас bootmgr повсеместно, вроде.

внесу первую копейку про загрузчик сами по себе: Grub4DOS не запускаеся из под UEFI
А опцию Legasy не включишь на планшетных биосах.

Статья о мультизагрузке, GRUB - GRand мира загрузчиков.
Введение для всех
Введение для подоконников
Расширение для POSIX'ивистов
Основа основ, кто желает понять и освоить мультизагрузку, то можно начать с этого. Для экспериментов лучше иметь отдельный компьютер, можно и морально устаревший. Тем самым даже если вы ошибётесь и загрузка по каким-то причинам не произойдёт. Вы всегда сможете разобравшись и исправив ошибку, восстановить работоспособность. Когда же вы освоитесь, то сможете настроить и основной свой ПК для мультизагрузки. Возможно установление на единственный HDD неограниченного количество любых ОС в любой последовательности.

Вот несколько отрывков из предложенной статьи:

=========================
.
Разумеется, описанный способ создания системы с мультизагрузкой - не единственный.
. важнее всё-таки знать, что нужно делать, а средства осуществления - найдутся.
.
=========================

всем кто осваивает мультизагрузку ОС или интересуется ею, хочу предложить вариант установки и совмесного использования на одном ПК, двух распространенных OC. Это Windows 7 и Ubuntu 17.10
Хотя Windows 7 и утрачивает актуальность у неё всё ещё много почитателей и к тому же ещё простой и удобный загрузчик NTLDR c текстовым конфигурационным файлом BOOT.INI

Но как известно, что лучшее враг хорошего, то во второй части этого материала мы вместо Windows 7 рассмотрим тоже самое, но с Windows 10.
Также важно, что здесь рассматривается вариант мультизагрузки со старым классическим BIOS, поэтому если у вас комьпютер с новым UEFI, то позже мы рассмотрим и ваш вариант тоже.

Есть множество статей как доустановить Ubuntu к уже имеющемуся на диске Windows, это довольно просто сделать. Хотя и есть несколько подводных камней и потенциальных опасностей. Первая опасность это переразметка HDD, вторая опасность это некорректная модификация первичного загрузчика. ошибки при переразметке чреваты потерей данных, ошибки при изменении загрузчика приведут к невозможности загрузки предыдущей OC.
Как же обезопасить себя и уменьшить риск? это можно сделать научившись востанавливать исходный загрузчик и зарезервировать свои данные. это ваши фото, видео, тексты и т.п.

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

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

Windows 10 x32.
Bios

Добавлено 30.04.2018, 19:27:

Под рукой есть лайв усб. Я там не много по карался , теперь пишет reboot and select proper boot device . В Биос стоит HDD(Toshiba)

Требования

1. UEFI вместо BIOS (выставить режим [UEFI only]);
2. OS 64-bit;
3. Linux (Kernel >= 3.3);

Установленный дистрибутив lubuntu-13.04-desktop-amd64 с выставленным режимом [UEFI only]. Отключил Fast Boot (После завершения можно включить).

Полученная таблица разделов

Необходимо обратить внимание на 1 раздел, с него и будет осуществляться прямая загрузка ядра без участия отдельного загрузчика (например GRUB 2), предъявляемые к нему требования:

  1. Выставленный флаг boot;
  2. Рекомендуемый размер до 512 МБ (встречал разные рекомендации каким он должен быть размером, в основном это 200-300 МБ, от себя замечу, что на деле он будет занят на 5.3 МБ);
  3. Файловая система fat32/fat16/fat12 (UEFI имеет поддержку);

Подготовительные этапы выполнены, мы имеем работающую 64 битную операционную систему с выставленным режимом UEFI only и разделом для ядра (в данный момент там расположен GRUB, рядом мы положим ядро).

Получаем и настраиваем своё ядро

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

у меня ОС установлена на диске sda2.
Обычно эту строку передаёт загрузчик GRUB вместе со многими другими параметрами

Получим необходимые инструменты (может занять продолжительное время)

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

Получить исходники последней версии ядра и подготовить окружение

Перейдём в папку linux-3.8.0

Теперь приступим к модификации конфигурации ядра

После выполнения последней команды вначале будет выведено уведомление:


Здесь как раз указано, что редактируем конфигурацию для 64 битного ядра, вводим Y, жмём ввод и получим окно


теперь открываем поиск (клавиша '/'), вводим cmdline и жмём ввод и видим то, что на скриншоте

затем жмём цифру 2 и переходим к правке параметра 'Built-in kernel command line', жмём 'y' и в данном поле выставляется звёздочка, символизирующая, что данный режим включен, теперь переходим на поле которое ниже, жмём ввод и вводим в него заветное


Эта и есть та самая опция, ради которой всё затевалось (Вместо sda2 подставьте свой диск).
Мы получили данный конфиг:

На этом этапе я остановился, собрал ядро, порадовался, что всё так просто и при загрузке свежесобранного ядра получил ошибку, что ядро не может найти корневой раздел (собственно это, ради чего весь процесс сборки ядра и затевался). Я долго недоумевал что же к чему и даже попробовал указать диск в формате UUID, но стабильно получал ошибку:


и полученный вывод вставляем в окно ввода на сайте
Debian GNU/Linux device driver check page
жмём check, получаем:

из этого списка нам нужно включить драйвер дискового контроллера, в моём случае это ahci (Строка 'Sata Controller', Столбец 'Driver').
Снова жмём '/' для поиска и вводим 'ahci'. Для верности отмечаем все три найденных варианта для встраивания SATA_AHCI_PLATFORM, SATA_ACARD_AHCI и SATA_AHCI.

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

Сборка ядра

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

После сборки копируем полученное ядро на загрузочный раздел в папку 'EFI/boot', т.к раздел примонтирован к папке /boot/efi, в результате имеем путь /boot/efi/EFI/boot/

Теперь необходимо скопировать ядро в эту папку дав ему название bootx64.efi

Стоит отметить, что загрузка с использованием загрузчика GRUB всё равно будет доступна, стоит только переключить в UEFI (нажать del или F12 при загрузке). Это может пригодиться, если ядро по каким либо причинам не загрузилось.

Теперь необходимо сообщить UEFI о том, что мы хотим сделать загрузочным наше ядро, для этого нужно установить программу которая умеет редактировать настройки UEFI.

Убедимся, что у Вас есть доступ к UEFI переменным

Если отработало без ошибок, делаем последний штрих. Добавим наше ядро в UEFI с приоритетом на загрузку №1, название в кавычках после --label можете ввести своё. Регистр в пути к загрузчику не имеет значения, т.к он не регистро-зависимый.

Теперь в меню загрузки UEFI добавлена новая строчка с названием 'Linux', которая осуществляет прямую загрузку ядра. На этом всё. Можно перезагрузить компьютер и убедиться, что ядро загружается минуя загрузчик.

Чтобы убедиться, что ядро загружено вами собранное, введите

Вы увидете список параметров, передаваемых ядру при загрузке (мы их сами указали ранее):


Цель достигнута! Спасибо за внимание!

UPD:
Спасибо пользователю ValdikSS за ценное замечание. Достичь поставленную цель можно гораздо проще. Пересобирать ядро в данном случае нет необходимости. Его можно скопировать на FAT раздел вместе с initrd (из дириктории /boot) и указать загрузчику правильные параметры:

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

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

Дальше, в зависимости от того какой загрузчик был загружен (от Windows или Linux) и его настроек (времени ожидания выбора пунктов и т.д.) загружается соответствующая операционная система.

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

Загрузчик от Linux, имеется ввиду GRUB, более функционален и позиционируется как универсальное средство загрузки различных операционных систем (а их десятки), учитывая их особенности.

Считается проще и логичнее использовать как основной загрузчик GRUB, так как он успешно загружает как Linux так и Windows различных версий.

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

Иногда случаются ситуации, когда линуксовый загрузчик вроде бы прописал возможность загрузить windows, но система не загружается, для этого необходимо в консоли от пользователя root выполнить команду:

grub-mkconfig -o /boot/grub/grub.cfg

утилита сканирует разделы на диске и добавит обнаруженные операционные системы в меню загрузки.

Накатил утром свежий пакет обновлений для манжаро. Grub2 перестал видеть винду (win7x64), хотя еще 8 часов назад все было в порядке и полтора года до этого момента все было в порядке.
os-prober видит запись

Generating grub configuration file…
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.4-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-5.4-x86_64.img
Found initrd fallback image: /boot/initramfs-5.4-x86_64-fallback.img
Adding boot menu entry for UEFI Firmware Settings…
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

За подсказки и помощь спасибо alexal9 и Agafron
Агафон вообще выручает часто, шикарный))

23 комментария

И Минт тоже перестала видеть, он тоже на отдельном ссд. Это проблема конкретно граба, так как стандартные способы перепробовал. Да и запуск биосом работает хорошо. Возможно кто-то решил что мы дофига олигархи и имеем ссд на 10 терабайт чтоб все на одном диске держать, например Kosh с его подходом владельца сервера

Откатитесь на последний бекап. Это же не проблема.

P.S.
Бекап — это не проявление трусости.

Линукс очень дружелюбная система, но она очень тщательно выбирает себе друзей! Опять же у меня ссд не на 10 терабайт и я не делаю снимки таймшифтом ежедневно. Только при обновлении ядра

И я не делаю.
Раз в неделю, вполне себе норм.

И хранить последние 3 версии.

Линукс очень дружелюбная система, но она очень тщательно выбирает себе друзей! Для ссд 120-240 это не сильно чтобы норм. У меня же набор программ довольно веский, я не токмо ютуб смотрю. На линь переехал давно и довольно плотно, винда чисто под фрутик и набор плагинов, чьи разраби ленятся запиливать бинарники и вшивают проверку лицензии в распаковщика .exe. А для ссд с хорошим объемом я не москвич еще чтоб выкладывать по 50 кусков за такое

Да, я можно сказать, москвич.
Общаюсь с вами с ноута 2008 года выпуска )))
Бекап бывает разный. Можно бекапить все, а можно выборочно.
Я бекаплю только систему, как раз на случай подобных сбоев и скрытые файлы хомяка. Из бекапа так же исключен кеш скачанных пакетов. В общем все занимает не особо много места на терабайтном HDD.

Это все конечно не отностится к вашему вопросу… Только дает тему для размышлений.

Линукс очень дружелюбная система, но она очень тщательно выбирает себе друзей! Ну опять же, терабайт не идет в сравнение с объемами массовых ссд. Заполнен он у меня примерно на 80 из 120, т.к. программ использую довольно много. А таймшифт почему-то упрямо отказывается закидывать снэпшоты на дополнительные харды в кучу файлов и кэша программ. Потому один бэкап для меня это норма и используется он при обновлении ядра. Ну и от граба такой подлянки не ожидаешь. Если он не видит — ну вбить ему ручками настройку и все ок. А то ведь система все видит, а граб конкретно не хочет и все тут. Жуть

Timeshift аккуратненько скадывает все ему нужное в одну папочку, на любом, даже внешнем диске. Попробуйте с ним подружиться.

Прошу вас простить разработчиков. Не ошибается тот, кто ничего не делает. Я уверен, они все поправят. Может через несколько дней, а может недель.
Все же пользуясь роллинг релизом, нужно страховаться и самому.

Читайте также: