Как удалить загрузчик grub

Useful tools

GParted is a Gnome Partition Editor. Although Linux-based, it fully supports the NTFS file system. It runs from
a CD.

This is a live CD specifically geared toward rescue and recovery. The tools package includes some of the most
important tools available for Linux user, like GParted, QTParted, Partimage, Grub, Lilo, sfdisk, security
tools, network tools, and more.

Super Grub Disk is intended to run from a floppy disk or CD and is used for system rescue. Most importantly, it
can be used to restore boot loaders, including GRUB, LILO and even Windows boot loader.

TestDisk is a utility specially designed to recover lost partitions and make non-booting disks bootable again.
This highly useful tool can be found on a number of live CDs, including Knoppix and GParted. It supports NTFS
partitions and also comes in Windows flavor.

Подготовка к установке на флешку

Для начала нужно включить в BIOS опцию автоматического распознавания внешних загрузочных носителей. Для того чтобы выполнить данную задачу, требуется открыть меню. Здесь следует выбрать строчку hard disk priority. На второе место необходимо установить загрузочный USB-накопитель.

Затем требуется форматировать флешку. Для этого следует нажать на кнопки WIN+E и зайти в раздел «Мой компьютер». В перечне дисков нужно найти USB-накопитель. Потом необходимо открыть контекстное меню с помощью правой кнопки мыши.

Далее следует выбрать строчку «Форматировать в системе FAT32» и убрать отметку с пункта «Очистка оглавления». После этого можно кликнуть по кнопке «Начать». Предварительно рекомендуется скопировать все нужные файлы на диск.

Удаление Grub в UEFI

Чтобы реализовать задуманное, пользователю снова потребуется программа, которая была рассмотрена в предыдущем пункте. Единственная разница заключается в том, что теперь нужно будет скачать на сайте 64-битную версию утилиты.

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

Пошаговое руководство:

  1. Запустите программу Bootice на своём ПК.
  2. Далее вам понадобится вкладка UEFI.
  3. Перейдите туда и нажмите на кнопку «Edit Boot Enteries». Перед вами откроется новое окошко.

Теперь пользователь может пойти одним из двух доступных путей:

  1. Опустите загрузчик Grub, воспользовавшись для этих целей клавишей Down. Это позволит сделать загрузчик Windows основной программой в системе.
  2. Альтернативный вариант: удалите запись о загрузчике Grub, воспользовавшись клавишей Del.

Удаление загрузчика Grub с флешки

Чтобы удалить программу с флешки, пользователи часто прибегают к распространенной ошибке. Они интуитивно выполняют действие, первое пришедшее им на ум. Что это может быть? Конечно же, форматирование флешки. Однако подобный способ не приносит нужных результатов. Дело в том, что Grub записывается в таблицу MBR, а потому требуется создание новой таблицы.

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

Далее выполните удаление существующей таблицы. Еще раз воспользуйтесь строкой терминала Линукс:

Чтобы создать новую таблицу разделов, потребуется программа Gparted. Добавьте раздел на флешке и выполните форматирование в файловую систему FAT32. Готово! Еще раз напоминаем о том, что нельзя стирать загрузчик с жёсткого диска. Его восстановление – очень непростой и энергозатратный процесс.

Заключение

Для успешного удаления стандартного загрузчика Grub в Линукс достаточно следовать инструкциям, предоставленным в данной статье.

Способ 2

Всё сильно упрощается, если использовать Live CD – загрузочный диск с системой Linux

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

После загрузки Linux стандартным способом устанавливается бесплатная утилита Boot Repair. Она предназначена именно для устранения ошибок загрузки с помощью загрузчика Grub и очень проста в использовании – достаточно кликнуть по кнопке.

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

Troubleshooting

NoteFor more troubleshooting, please refer to the Troubleshooting sub-article.

Most of the issues can be resolved by ensuring that the partition layout is correct. Make sure enough space is available before the first partition of the disk, or optionally make sure that a BIOS boot partition is available. Also verify that /boot/grub/grub.cfg was correctly generated with grub-mkconfig, or generate one with a custom menu entry.

os-prober not running

When running the grub-mkconfig command, os-prober is not running as expected, even though it is installed:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.11.14-gentoo-x86_64
Found initrd image: /boot/amd-uc.img /boot/initramfs-5.11.14-gentoo-x86_64.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

This can be corrected by setting the GRUB_DISABLE_OS_PROBER variable to in /etc/default/grub file.

FILE

GRUB_DISABLE_OS_PROBER=false

Upon the next run, grub-mkconfig should find additional bootable partitions:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.11.14-gentoo-x86_64
Found initrd image: /boot/amd-uc.img /boot/initramfs-5.11.14-gentoo-x86_64.img
Warning: os-prober will be executed to detect other bootable partitions.
It's output will be used to detect bootable binaries on them and create new boot entries.
Found Windows Boot Manager on /dev/nvme0n1p2@/efi/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings ...
done

Motherboard firmware not finding the .EFI file

Some motherboard manufacturers seem to only support one location for the .EFI file in the EFI System Partition (ESP). If this seems to be the case, simply move GRUB’s default file to the /efi/boot/ location. First, make sure the ESP is mounted. Presuming the ESP is mounted at /boot/efi (as suggested in the Handbook), execute:

You can also use the removable parameter with grub-install command to generate this file automatically:

Installation finished. No error reported.

This should aid the motherboard firmware in loading the GRUB executable. Reboot the system to see if the firmware now correctly loads GRUB.

os-prober and UEFI in chroot

Run these commands in the host environment to provide the required files (example shows Gentoo mounted on /mnt/gentoo like in the Handbook):

Play a tune

You can play a tune through the PC-speaker while booting (right before the menu appears) by modifying the variable . For example, to play Berlioz’s extract from Sabbath Night of Symphonie Fantastique (bassoon part) you can add the following:

GRUB_INIT_TUNE="312 262 3 247 3 262 3 220 3 247 3 196 3 220 3 220 3 262 3 262 3 294 3 262 3 247 3 220 3 196 3 247 3 262 3 247 5 220 1 220 5"

This section is being considered for removal.

You can add a menu entry to play each of these common samples by creating the following file and then re-running .

/etc/grub.d/91_tune_demo
#!/bin/sh
exec tail -n +3 $0
menuentry "INIT_TUNE Demos" {
   echo "Close Encounters/5 Tone"
   play 480 900 2 1000 2 800 2 400 2 600 3
   echo "Fur Elise (note long)"
   play 480 420 1 400 1 420 1 400 1 420 1 315 1 370 1 335 1 282 3 180 1 215 1 282 1 315 3 213 1 262 1 315 1 335 3 213 1 420 1 400 1 420 1 400 1 420 1 315 1 370 1 335 1 282 3 180 1 215 1 282 1 315 3 213 1 330 1 315 1 282 3
   echo "Berlioz's extract from Sabbath Night of Symphonie Fantastique"
   play 312 262 3 247 3 262 3 220 3 247 3 196 3 220 3 220 3 262 3 262 3 294 3 262 3 247 3 220 3 196 3 247 3 262 3 247 5 220 1 220 5
   echo "Oldskool Batman tune"
   play 380 120 1 140 1 160 1 200 8 190 4
   echo "Legend of Zelda tune"
   play 12000 440 100 0 1 329 150 440 50 0 1 440 25 493 25 523 25 587 25 659 200
   echo "Super Mario"
   play 1000 334 1 334 1 0 1 334 1 0 1 261 1 334 1 0 1 392 2 0 4 196 2
   echo "Super Mario Alternate"
   play 480 165 2 165 2 165 3 554 1 587 1 554 2 370 1 554 1 523 2 349 1 523 1 494 3 165 2 165 2 165 2
   echo "Mario Mushroom"
   play 1750 523 1 392 1 523 1 659 1 784 1 1047 1 784 1 415 1 523 1 622 1 831 1 622 1 831 1 1046 1 1244 1 1661 1 1244 1 466 1 587 1 698 1 932 1 1175 1 1397 1 1865 1 1397 1
   echo "Star Wars Imperial Death March"
   play 480 440 4 440 4 440 4 349 3 523 1 440 4 349 3 523 1 440 8 659 4 659 4 659 4 698 3 523 1 415 4 349 3 523 1 440 8
   echo "My Little Pony"
   play 2400 587 18 554 4 587 8 659 12 587 16 0 10 587 4 659 4 740 8 587 4 784 12 740 8 659 8 587 4 740 20 587 40
   echo "Wolfenstein 3D"
   play 300 131 1 196 1 196 1 196 1 294 1 196 1 294 1 196 1 131 1
   echo "Mall (Nothing Special)"
   play 180 440 1 554 1 659 1
   echo "Final Countdown"
   play 480 554 1 494 1 554 4 370 6 10 3 587 1 554 1 587 2 554 2 494 6
   echo "Xie-Jelei's Tune"
   play 2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6
   echo "Random tune"
   play 480 220 1 277 1 330 1 440 1 185 1 220 1 277 1 370 1 294 1 370 1 440 1 587 1 330 1 415 1 494 1 659 1
   echo "Fleetwood Mac: The Chain Bass Riff (about 5 seconds)"
   play 304 55 5 0 1 55 1 62 1 65 2 62 1 55 1 49 1 55 1 62 2 41 8
   echo "Fleetwood Mac: The Chain Bass Riff Extended Version (WARNING, 25 SECONDS)"
   play 9120 55 150 0 30 55 30 62 30 65 60 62 30 55 30 49 30 55 30 62 60 41 360 0 120 55 150 0 30 55 30 62 30 65 60 62 30 55 30 49 30 55 30 62 60 41 360 0 60 41 12 42 3 43 3 44 3 45 3 46 6 47 3 48 3 49 6 50 3 51 3 52 6 53 3 54 3 55 150 0 30 55 30 62 30 65 60 62 30 55 30 49 30 55 30 62 60 41 240 82 20 0 10 82 26 0 4 82 26 0 4 82 26 0 4 82 56 0 4 82 60 55 150 0 30 55 30 62 30 65 60 62 30 55 30 49 30 55 30 62 60 41 360 0 120
}

For information on this, you can look at .

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

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

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

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

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

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

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

Загрузка и восстановление с помощью LiveCD

При использовании любого из альтернативных вариантов загрузки «родной» системы очень полезно сначала узнать (или убедиться), с какого устройства происходит загрузка. Необходимо заранее это выяснить в настройках BIOS компьютера. Это необходимо, если придётся не просто обновить конфигурацию загрузчика, а полностью его переустановить. А для этого очень желательно устанавливать его на то устройство, которому из BIOS передаётся управление для дальнейшей загрузки ОС. Для BIOS материнских плат MSI это выглядит примерно следующим образом:

Рис. 1: BIOS MSI — просмотр и настройка приоритета устройств для загрузки системы.

Как можно видеть, для данной системы загрузочным устройством является SSD-накопитель «Samsung SSD 860 EVO 250 GB». А пока это наименование можно запомнить или где-нибудь записать.

Теперь можно загрузиться с любого Live-образа используя для этого оптический CD/DVD-диск или накопитель USB-Flash

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

Итак, загрузившись в Live-режиме, первым делом следует запустить командную консоль. Далее, необходимо определить корневой раздел системы, для которой нужно восстановить загрузчик. Это нужно, чтобы войти в программную среду «родной» системы из непосредственно Live-режима и использовать весь доступный инструментарий, в том числе и команды по восстановлению GRUB.

Монтирование корневого и загрузочного раделов

С помощью команды fdisk определяем какой раздел и на каком устройстве используется родной системой как корневой:

Как можно видеть, в системе два диска — sda и sdb. Тут нужно сориентироваться и вспомнить, как размечался диск изначально при установке системы. И определить по данным вывода, какой раздел является корневым. В данном случае это раздел sda2. Его теперь нужно примонтировать командой mount:

Необходимо также примонтировать и раздел /boot

Но очень важно заметить, что если в качестве /boot используется отдельный раздел (а не подкаталог в корневом разделе, как в большинстве современных дистрибутивов, например Ubuntu), то его монтирование будет выглядеть следующим образом:. В данном случае последняя команда приведена условно, как пример

На самом деле файлы загрузчика для данного примера хранятся в подкаталоге /boot, который уже был примонтирован от sda2, и поэтому в последней команде в данном случае нет необходимости

В данном случае последняя команда приведена условно, как пример. На самом деле файлы загрузчика для данного примера хранятся в подкаталоге /boot, который уже был примонтирован от sda2, и поэтому в последней команде в данном случае нет необходимости.

Подготовка программной среды для работы

Далее необходимо определить программное окружение среды, указав каталог /mnt и интерпретатор команд:

Эта команда указывает, где должны выполняться команды и какое программное окружение для этого должно использоваться. В данном случае, теперь ядро Live-образа может полноценно работать с ФС родной системы. Используя все её пакеты, команды, файлы и прочие доступные ресурсы.

Восстановление загрузчика

Теперь нужно обновить MBR (главную загрузочную запись) диска, установив на него загрузчик GRUB. Здесь и нужно вспомнить, какой диск является загрузочным, исходя из конфигурации BIOS. Поскольку ранее это уже было определено, то теперь остаётся узнать, как это устройство обозначается в системе. Для этого полезно выполнить следующий скрипт:

Данный скрипт отработает, если в родной системе установлена утилита hdparm. Но поскольку в большинстве Linux-дистрибутивов она предустановлена и доступна «из коробки», то беспокоиться не о чем.

Как можно видеть, устройству «Samsung SSD 860 EVO 250GB», который ранее был определён как загрузочный, соответствует его определение в системе как /dev/sda . Именно на него и следует производить установку GRUB:

Создание файла конфигурации GRUB:

Ну и напоследок можно выполнить:

Если при выполнении команды grub-install возникают какие-либо ошибки, то можно выполнить её с ключом —recheck. Если же всё нормально, то можно выйти из режима chroot командой:

Далее необходимо отмонтировать все ранее примонтированные устройства и ФС:

Если /boot монтировался из отдельного раздела, то его также необходимо отмонтировать:

Ну и наконец, необходимо отмонтировать также и корневой раздел:

Далее можно перезагрузиться без Live-образа (сделав соответствующие настройки в BIOS и снова указав в качестве загрузочного «Samsung SSD 860 EVO 250GB»). И проверить, что GRUB загружает родную систему.

UEFI further reading

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

Below is other relevant information regarding installing Arch via UEFI.

Alternative install method

This article or section needs expansion.

Usually, GRUB keeps all files, including configuration files, in , regardless of where the EFI System Partition is mounted.

If you want to keep these files inside the EFI System Partition itself, add to the grub-install command:

# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=grub --boot-directory=esp --debug

This puts all GRUB files in , instead of in . When using this method, make sure you have grub-mkconfig put the configuration file in the same place:

# grub-mkconfig -o esp/grub/grub.cfg

Configuration is otherwise the same.

GRUB standalone

This section assumes you are creating a standalone GRUB for x86_64 systems (x86_64-efi). For 32-bit (IA32) EFI systems, replace with where appropriate.

It is possible to create a application which has all the modules embedded in a tar archive within the UEFI application, thus removing the need to have a separate directory populated with all of the GRUB UEFI modules and other related files. This is done using the command (included in ) as follows:

# echo 'configfile ${cmdpath}/grub.cfg' > /tmp/grub.cfg
# grub-mkstandalone -d /usr/lib/grub/x86_64-efi/ -O x86_64-efi --modules="part_gpt part_msdos" --locales="en@quot" --themes="" -o "esp/EFI/grub/grubx64_standalone.efi" "boot/grub/grub.cfg=/tmp/grub.cfg" -v

Then copy the GRUB config file to and create a UEFI Boot Manager entry for using .

Note: The option (with the quotes) is necessary for the feature to work properly.

Warning: You may find that the file is not loaded due to missing a slash (i.e. instead of ) and so you are dropped into a GRUB shell. If this happens determine what is set to () and then load the config file manually (e.g. ).

Technical information

The GRUB EFI file always expects its config file to be at . However in the standalone GRUB EFI file, the is located inside a tar archive and embedded inside the standalone GRUB EFI file itself (inside the GRUB environment, it is denoted by , without quotes). This tar archive contains all the files that would be stored normally at in case of a normal GRUB EFI install.

Due to this embedding of contents inside the standalone image itself, it does not rely on actual (external) for anything. Thus in case of standalone GRUB EFI file and the standalone GRUB EFI file reads expects the config file to be at .

Hence to make sure the standalone GRUB EFI file reads the external located in the same directory as the EFI file (inside the GRUB environment, it is denoted by ), we create a simple which instructs GRUB to use as its config ( command in ). We then instruct grub-mkstandalone to copy this file to (which is actually ) using the option .

This way, the standalone GRUB EFI file and actual can be stored in any directory inside the EFI System Partition (as long as they are in the same directory), thus making them portable.

Способ 1

Что делать в случае ошибки unknown filesystem grub-rescue? Перед вами окно, в котором можно использовать только 4 команды, их вполне достаточно, чтобы исправить все проблемы и успешно загрузиться:

  • ls — позволяет вывести всё содержимое;
  • set — применяется для установки переменных;
  • unset — очищает переменную;
  • insmod — необходима для загрузки модулей.

Также можно сделать доступным ряд других команд. Сделать их доступными можно, загрузив модуль «normal». Для этого пропишите:

После этого станут доступны:

  • dump — для очистки памяти;
  • exit — команда выхода из загрузчика;
  • chainloader — необходима, чтобы указать последующей команде boot передать управление цепочечному загрузчику;
  • kfreebsd — несколько команд, позволяющих загрузить ядро FreeBSD, его модули;
  • rmmod — позволяет выгрузить указанный модуль ядра;
  • multiboot.

Первым делом нужно отыскать модули, чтобы загрузить их. Для этого введите:

Результатом выполнения команды будет следующее:

Из этого можно сделать вывод, что загрузчик не может определить файловые системы дисков, поэтому определяет их как msdos. Теперь необходимо угадать видимые диски. В конкретном примере перед вами два диска: hd0 (с тремя разделами) и hd1 (с двумя разделами). Допустим, вы знаете, что Linux инсталлирован на диск, который имеет три раздела. В таком случае вам нужен диск с индексом «0».

GRUB даёт названия разделам в обратном порядке. В связи с этим, неясно как трактовать запись: «(hd0,msdos3)». Ведь можно посчитать это как первым разделом, так и третьим. К счастью, из этой ситуации можно выйти при помощи такого синтаксиса команды: «(hd0,1)»

Обратите внимание, что в программе-загрузчике GRUB отсчёт дисков идёт с 0, а разделов с 1

Допустим, что Линукс хранится в первом разделе, тогда он будет обозначаться (hd0,1). В этом случае команда, которую необходимо прописать, будет иметь вид:

Теперь модули могут быть загружены. Использовать их можно только после загрузки.

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

В результате выполнения на экране появится список md файлов.

Далее, пропишите:

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

Теперь остаётся загрузить Linux. Делается это при помощи команды:

Через терминал с загрузочного носителя

Для этого вам потребуется загрузочная флешка либо диск с записанным дистрибутивом Linux. В идеальном варианте он должен быть аналогичным системе, установленной на жёсткий диск. Но если дистрибутив — это не самый важный момент, то разрядность должна совпадать в любом случае. Иначе это чревато ещё большими последствиями, в результате которых уже точно придётся всё переустанавливать.

  1. Вставьте флешку или диск в разъём компьютера, после чего в BIOS выставьте носитель в качестве приоритетного для загрузки. Необходимая настройка находится в разделе Boot Device Priority либо First Boot Device. Чтобы запустить BIOS, при включении нажмите нужную кнопку или их комбинацию на клавиатуре. Наиболее популярными вариантами являются F2, Del, Shift + F2, F10. Чтобы не разбираться с БИОСом, можно просто нажать F11 или F12 и выбрать носитель из предложенного списка.
  2. Далее нужно выяснить, на каком разделе винчестера инсталлирована система, а какой указан в качестве загрузчика. Для этого нужно запустить терминал (аналог командной строки Windows), найдя его в меню приложений либо же нажав комбинацию клавиш Ctrl + Alt + T, либо Alt + F2. В открывшемся окошке вам нужно будет впечатать команду sudo fdisk -l. Сразу же утилита просканирует все разделы диска и отобразит информацию о каждом из них. Будет показана даже информация о других установленных на компьютер операционных системах. Вы сможете узнать название раздела, его расположение, размер, а также тип его файловой системы. При условии, что при установке Ubuntu вы совершали разметку вручную, вы без проблем поймёте, какой из разделов является загрузочным, а какой — корневым. При автоматической разметке ориентируйтесь на название Linux. Именно он и будет корнем вашей системы. Имя раздела обычно состоит из аббревиатуры sdc либо sda и цифры с порядковым номером.
  3. Далее нужно выполнить монтирование корневой файловой системы в папку /mnt. В этом вам поможет команда sudo mount /dev/sda1 /mnt, где вместо sda нужно прописать название вашего раздела.

Начиная с этого этапа, восстанавливать Grub в Linux возможно двумя методами.

Способ 1

  1. Введите команду восстановления загрузчика: sudo Grub-install —root-directory=/mnt /dev/sda.
  2. Перезагрузите Компьютер при помощи команды sudo reboot. В результате должно появиться меню выбора ОС.
  3. Если в этом меню отображается устаревшая информация, обновите загрузочную запись MBR. Для этого запустите Linux в обычном режиме, откройте терминал и используйте команду sudo update-Grub. Если это не помогает, примените sudo update-Grub —output=/mnt/boot/Grub/Grub.cfg, а затем повторите предыдущую.
  4. Ещё раз перезапустите компьютер.

Способ 2.

  1. После монтирования корня файловой системы в раздел /mnt, нужно дополнительно смонтировать папку с загрузочными файлами, а также другие компоненты взаимодействия с ядром. Для этого одну за другой выполните команды:

Далее вам понадобится запустить оболочку chroot. Для этого в терминале добавьте chroot /mnt /bin/bash

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

env-update

source /etc/profile.

  1. Выполните перезагрузку через reboot.

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

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

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

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

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

sudo apt install grub-efi efibootmgr

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

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

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

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

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

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

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

sudo gdisk /dev/sda

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

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

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

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

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

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

sudo grub-install /dev/sda

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

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

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

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

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

Подготовка к установке

Для начала следует найти и скачать архив с утилитой. Стоит заметить, что при работе с программой на Windows 7 необходимо загрузить дополнительно приложение BCDEdit. С помощью этой утилиты в системные настройки добавляется мультизагрузочная Grub4Dos. Данная программа не распознается ОС. Без утилиты BCDEdit приложение не запускается поверх стандартного загрузчика.

Стоит отметить особенность, касающуюся распространения установщика программы. Нужно ли скачивать инсталлятор? Специалисты не советуют делать этого. Утилита распространяется в виде архива. Его следует распаковать и настроить.

Installing GRUB 2 on OS X

The installation of GRUB 2 on OS X is a little tricky. The latest released version 2.00 (as of 7th of October, 2014) doesn’t seem to work with any configuration. The developer team fixed this in the newer revisions.

1. Clone the developer version of the sources:

git clone git://git.savannah.gnu.orggrub.git

(This was tested on revision: 77063f4cb672f423272db7e21ca448cf3de98dcf)

2. A tool named objconv is required, get it from:

Download sources, compile (see website for details) and make available in your PATH.

3. Run «autogen.sh» in the GRUB sources folder

4. Create a seperate build directory, switch to it, and run GRUB’s configure script (insert your target-specific tools!):

../grub/configure --disable-werror TARGET_CC=i386-elf-gcc TARGET_OBJCOPY=i386-elf-objcopy \
TARGET_STRIP=i386-elf-strip TARGET_NM=i386-elf-nm TARGET_RANLIB=i386-elf-ranlib --target=i386-elf

5. Run «make» and «make install»

Now you have a working GRUB 2 that has the required files to build an image that boots on i386 platforms.

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

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