Как установить grub на windows
Перейти к содержимому

Как установить grub на windows

  • автор:

Установка Grub-2.02 UEFI+Grub4dos-0.4 .6a из под Windows

Отправлено: 08-Янв-2019 08:41

Всех приветствую, небольшой гайд по установке 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 //./PHYSICALDRIVE 4 (Где 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, дальнейшее наполнение и доработка полностью зависит от вас и ваших требований.
Заранее скажу — Я новичок — вспомните себя, а критикуя предлагайте

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

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

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

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

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

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

Загрузчик GRUB и Windows

У каждой из операционной систем есть свой загрузчик, а у каждого жёсткого диска (область называется 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

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

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

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

Раньше для загрузки Linux использовалось несколько загрузчиков, это isolinux, lilo, grub. Но сейчас чаще всего применяется Grub или полное его название GRand Unified Bootloader. В этой статье будет рассмотрена установка загрузчика Grub через терминал. Также мы поговорим как установить grub на компьютер с UEFI, тоже вручную.

Немного теории

Как я уже сказал, основная задача загрузчика — предоставить возможность выбора операционной системы перед загрузкой. Не думайте, что в Windows загрузчик не используется, там он тоже есть и работает, подобно тому, как работает Grub.

Загрузчик может быть установлен в различные таблицы разделов диска. Сейчас самые используемые это GPT и MBR. Установка загрузчика Grub немного отличается для каждой из этих таблиц, учитывая их особенности. Подробнее об отличиях MBR vs GPT можно почитать в отдельной статье. Тут же я скажу, что GPT — более новая и функциональная таблица разделов, MBR — уже устаревшая, но до сих пор часто используемая.

В MBR вариантов немного, Grub записывается в область MBR на диске. Размер сектора MBR занимает первых 512 байт и этого вполне достаточно для того, чтобы установить туда загрузчик.

GPT предоставляет более широкие возможности. Во-первых, для совместимости в GPT эмулируется сектор MBR, и мы можем установить GRUB туда, но такой вариант очень ненадежный и не рекомендуемый. Во-вторых, теперь появилась возможность устанавливать Grub на раздел диска. Мы просто создаем раздел на диске размером 1 Мб и записываем туда то, что раньше записывалось в MBR, это делает установку загрузчика более надежной и защищенной от сбоев.

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

Для установки Grub будет использоваться команда grub-install, во всех случаях. Давайте кратко рассмотрим ее синтаксис и параметры. Синтаксис:

$ grub-install опции диск

Параметров здесь достаточно много, но нам будут нужны только некоторые:

  • —compress — сжать файлы загрузчика;
  • —install-modules=модули — установить только эти модули;
  • —modules — записать эти модули в MBR;
  • —boot-directory — использовать другой каталог для файлов Grub;
  • —bootloader-id — имя загрузчика в меню EFI;
  • —core-compress — сжимать образ, загружаемый в MBR;
  • —efi-directory — использовать системный раздел EFI;
  • —force — установить несмотря на ошибки;
  • —recheck — удалить существующую карту устройств, помогает если возникают ошибки;
  • —removable — установка grub на флешку (только EFI);

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

Установка загрузчика Grub в MBR для BIOS

Начнем с самого просто и привычного. Данная инструкция как установить загрузчик Grub подойдет для любого дистрибутива, поскольку команды везде почти одинаковые. Здесь не нужно устанавливать никаких дополнительных пакетов или создавать разделов. Установка Grub на жесткий диск выполняется командой:

sudo grub-install /dev/sda

sudo grub2-install /dev/sda

Утилиты grub в разных дистрибутивах могут включать двойку, а могут и не включать. Здесь /dev/sda — ваш жесткий диск. Теперь генерируем конфигурационный файл, чтобы автоматически определились установленные операционные системы:

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

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

Готово. По поводу двойки здесь такое же замечание. Если вы хотите установить Grub на флешку в MBR, то тут тоже нет проблем просто примонтируйте флешку и выполните такую команду:

sudo grub-install —root-directory=/mnt/USB/ /dev/sdb

Здесь /mnt/USB — папка, куда была смотирована ваша флешка, а /seb/sdb — сама флешка. Только здесь есть одна проблема, конфигурационный файл придется делать вручную.

Установка загрузчика Grub в GPT для BIOS

Во-первых, мы можем ничего не менять и установить Grub так, как описано в предыдущем способе. Но тогда он будет установлен в область совместимости с MBR, а это не надежно. Поэтому рекомендуется установить grub так, как описано ниже, на отдельный раздел.

Нужный нам раздел можно создать в установщике любого дистрибутива, если вы выполняете установку в графическом интерфейсе или с помощью gparted. Нам нужен раздел размером 1 Мегабайт без файловой системы и с меткой grub_bios:

grub

Дальше примените изменения, нажмите на разделе правой кнопкой, выберите manage flags и добавьте флаг grub_bios:

grub1

Готово. Если у вас нет под рукой доступа к графическому интерфейсу, вы можете создать такой раздел через терминал. Утилита fdisk не поддерживает работу с gpt, поэтому будем использовать gfdisk. Сначала запустите утилиту:

sudo gdisk /dev/sda

grub2

Чтобы создать новый раздел нажмите n и выберите номер раздела:

grub3

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

grub4

Выбираем конечный сектор раздела. По умолчанию будет использоваться максимальный. Нам нужен раздел размером 1 Мб. Размер одного сектора GPT — 512 байт, поэтому нам нужен раздел размеров 2048 секторов. Таким образом, конечный сектор будет 24000 с чем-то.

grub5

HEX Code — это тот код, который скажет системе, что этот раздел нужно использовать для Grub, нужно установить ef02:

grub6

Готово, осталось нажать w для записи изменений на диск:

grub7

Установка grub на жесткий диск дальше выполняется точно так же, как и в предыдущем способе:

sudo grub-install /dev/sda

Осталось создать конфигурационный файл grub:

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

Теперь переходим к самому сложному, как установить grub efi.

Установка GRUB UEFI GPT

Установка Grub UEFI чем-то похожа на установку в GPT, тут у нас тоже будет отдельный раздел, только на этот раз не для загрузчика, а раздел EFI. Если у вас уже установлена Windows, то, скорее всего, он уже существует. Этот раздел обычно занимает 100 Мб, имеет файловую систему fat32 и флаг ESP. Вот так он будет выглядеть:

grub11

Если же такого раздела нет, мы можем его создать с помощью gparted. Для этого создаем раздел с такими параметрами:

grub9

Размер 100 Мегабайт, имя раздела ESP, файловая система fat32. Дальше примените изменения и установите для раздела флаг ESP:

grub10

То же самое вы можете сделать в Gdisk, только на этот раз нужно устанавливать HEX Code раздела ef00. После того как раздел был создан, подключаем его к нашей файловой системе:

sudo mkdir /boot/efi
$ sudo mount /dev/sda2 /boot/efi

Здесь /dev/sda2 — это наш EFI раздел. Далее необходимо установить нужные пакеты, если они еще не установлены. В Ubuntu это будет выглядеть вот так:

sudo apt install grub-efi efibootmgr

Дальше останется только установка grub efi. Система сама определит нужный раздел и скопирует туда все файлы:

Установка Grub efi на MBR все выглядит точно так же, только тут есть несколько ограничений. Раздел ESP нужно создавать только в начале диска. В режиме EFI тоже можно установить GRUB на флешку, и это не очень сложно. Для этого используется команда:

grub-install —boot-directory=/mnt/sdb2/boot —efi-directory=/mnt/sdb1 —target=x86_64-efi —removable

Рассмотрим опции: —boot-directory — задает папку с файлами загрузчика на флешке, —efi-directory — папка куда смонтирован раздел efi, —target — архитектура целевой системы и —removable говорит, что это установка на съемный носитель. С UEFI все. После перезагрузки и выбора в меню EFI пункта связанного с Grub, вы получите доступ к привычному меню grub и сможете выбрать нужный параметр.

Выводы

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

Как восстановить Grub после установки Windows

Если вы пользуетесь на компьютере двумя операционными системами, Windows и Linux, и обновили свою Windows из 7, 8 или 8.1 до самой новой Windows 10, могут возникнуть проблемы с загрузчиком Grub при использовании защищенной загрузки UEFI. В ходе обновления системы Windows 10 просто затрет загрузчик Grub и запишет туда свой.

Дальше после перезагрузки системы пользователь ожидает увидеть меню выбора операционной системы Grub, но вместо этого загружается новая Windows 10. Может показаться, что нет никакого способа получить доступ к Ubuntu или что не может работать Ubuntu рядом с Windows 10. Но это не так.

Восстанавливаем Grub

Часто специалисты советуют установить Ubuntu на другой диск, но есть простое решение. Всегда можно воспользоваться стандартным способом, например, с помощью LiveCD диска. Но если вы используете UEFI, есть решение с помощью Windows 10.

ЗАПУСК CMD

Для начала кликните по иконке поиск в Windows, наберите там cmd и найдите Командную строку Windows. Кликните по ней правой кнопкой и выберите Запустить от имени администратора:

Cmd запуск

ПОДКЛЮЧЕНИЕ РАЗДЕЛА EFI

Далее вы можете попытаться угадать как называется файл загрузчика Grub на разделе EFI, но можно поступить по другому и просто посмотреть. Чтобы подключить раздел EFI запустите diskpart. Для этого выполните:

Затем выведите список доступных дисков:

Выберите в качестве активного диск, на который установлена Windows 10 и на котором сейчас находится раздел EFI:

Как восстановить Grub после установки Windows

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

Найдите раздел EFI, он обычно отформатирован в файловую систему FAT и занимает около 100 мегабайт места. В данном случае это том 2:

Как восстановить Grub после установки Windows

Этому разделу надо присвоить букву. Для этого выполните:

Как восстановить Grub после установки Windows

ПОИСК ЗАГРУЗЧИКА

Теперь необходимо найти файл загрузчика на разделе EFI. Но открыть этот раздел в проводникель нельзя, надо использовать только командную строку. Закройте DiskPart и выполните:

Затем с помощью команды dir найдите загрузчик Grub. Например:

Как восстановить Grub после установки Windows

Здесь есть файл grubx64.efi. Это он. Загрузчик может называться по другому в других дистрибутивах, именно поэтому я рассказал как всё посмотреть.

ВОССТАНОВЛЕНИЕ GRUB

Теперь скопируйте и выполните эту команду:

Не придется вводить пароль, если есть права администратора и программа должна отработать нормально. Эта команда обратно запишет вместо загрузчика Windows 10 загрузчик Grub.

Если команда вернула ошибку, вы можете откатить изменения такой командой:

$ bcdedit /deletevalue path EFIubuntugrubx64.efi

Затем можно включить загрузчку загузчика Windows 10:

$ bcdedit /set path EFIMicrosoftBootootmgfw.efi

Перезапустите компьютер и вы увидите на экране знакомый Grub. На этом процесс восстановиления Grub завершен.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *