Настройка загрузчика grub
Содержание:
- Содержание
- Удаление Grub в UEFI
- Boot-Repair
- Восстановление в Boot Repair
- Восстановление Grub2
- Booting from a serial console
- Что для этого нужно?
- Main changes
- Fixing reboot/shutdown freezes
- Displays
- Themes
- Installing/Reinstalling/Moving GRUB2
- Booting an ISO from a Menuentry
- 6 ответов
- Что такое Grub и из-за чего он может повреждаться
- Немного теории[править]
- Selected Problems and Bugs
- Устанавливаем GRUB
- Настройка Grub через /boot/grub/grub.cfg
- Через командную строку
- GRUB 2 и UEFI
- Установка загрузчика Grub в GPT для BIOS
Содержание
Сначала на жёсткий диск устанавливается Windows после чего на отдельный раздел производится установка Linux. При такой схеме в загрузочную область диска добавится загрузчик grub2 что позволяет выбирать в какую из систем производить запуск.
Но бывает так, что в таком состоянии компьютер работает длительное время. У Windows как известно разрастается реестр, и система начинает работать медленно. Тут вы приняли решение переустановить Винду, а заодно затёрли загрузчик Linux. Загрузочная область оказывается повреждена и при старте системы появляется сообщение на чёрном экране: grub rescue unknown filesystem.
Удаление Grub в UEFI
Чтобы реализовать задуманное, пользователю снова потребуется программа, которая была рассмотрена в предыдущем пункте. Единственная разница заключается в том, что теперь нужно будет скачать на сайте 64-битную версию утилиты.
В UEFI совсем необязательно удалять ненужный загрузчик. Вы можете оставить обе программы в системе, переместив ненужный вариант ниже основного. То есть, нужно сделать так, чтобы Grub оказался запасным инструментом.
Пошаговое руководство:
- Запустите программу Bootice на своём ПК.
- Далее вам понадобится вкладка UEFI.
- Перейдите туда и нажмите на кнопку «Edit Boot Enteries». Перед вами откроется новое окошко.
Теперь пользователь может пойти одним из двух доступных путей:
- Опустите загрузчик Grub, воспользовавшись для этих целей клавишей Down. Это позволит сделать загрузчик Windows основной программой в системе.
- Альтернативный вариант: удалите запись о загрузчике Grub, воспользовавшись клавишей Del.
Удаление загрузчика Grub с флешки
Чтобы удалить программу с флешки, пользователи часто прибегают к распространенной ошибке. Они интуитивно выполняют действие, первое пришедшее им на ум. Что это может быть? Конечно же, форматирование флешки. Однако подобный способ не приносит нужных результатов. Дело в том, что Grub записывается в таблицу MBR, а потому требуется создание новой таблицы.
Дельнейшие процессы выполняются в Linux. Чтобы узнать имя устройства у вашей флешки, задайте в терминале специальную команду. Впишите в строке текст, указанный ниже:
Далее выполните удаление существующей таблицы. Еще раз воспользуйтесь строкой терминала Линукс:
Чтобы создать новую таблицу разделов, потребуется программа Gparted. Добавьте раздел на флешке и выполните форматирование в файловую систему FAT32. Готово! Еще раз напоминаем о том, что нельзя стирать загрузчик с жёсткого диска. Его восстановление – очень непростой и энергозатратный процесс.
Заключение
Для успешного удаления стандартного загрузчика Grub в Линукс достаточно следовать инструкциям, предоставленным в данной статье.
Boot-Repair
The majority of this guide is devoted to working with the GRUB 2 terminal, which is used to enter commands to attempt to repair a broken bootloader. Boot-Repair is a GUI application which can automatically analyze boot problems and select the proper course of action to repair them. Its simple interface provides beginners as well as experienced Linux users an easy method of repairing the majority of GRUB 2 problems.
Additionally, Boot-Repair contains an automated method to run a boot info script which performs a series of tests and provides a file containing much valuable information regarding the status of the computer’s operating and boot systems. This file can be inspected by community helpers on forums or IRC channels to help diagnose boot problems.
Boot-Repair can be run from a LiveCD or an operating Linux system. To download the package run the following commands:
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
Visit the Boot-Repair community document for more information.
Boot-Repair is available from the Launchpad repositories and can be run from a CD or a working Linux OS.
Восстановление в Boot Repair
Наверное самый простой способ восстановить загрузчик Grub — это использовать утилиту Boot Repair. Для её запуска вам понадобится LiveCD с Ubuntu или другим дистрибутивом. Сначала загрузитесь в Live среду, как описано в первом методе, затем добавьте PPA к системе:
После этого установите утилиту:
Для запуска выполните:
sudo boot-repair
Далее для восстановления загрузчика достаточно нажать кнопку Рекомендуемый способ восстановления:
Затем просто дождитесь завершения процесса восстановления:
После этого компьютер можно перезагружать и всё будет работать.
Восстановление Grub2
В этой статье мы поговорим про Восстановление Grub2. Расскажем про основные способы восстановления этого загрузчика на вашем устройстве. Кстати мы уже писали о том, как удалить загрузчик Grub. Почитайте, возможно вам будет это также интересно.
Но, Вы можете легко восстановить GRUB2 с Ubuntu live CD или USB-накопителя. Этот процесс отличается от восстановления устаревшего загрузчика GRUB в старых дистрибутивах Linux.
Графический метод — восстановление загрузки
Boot Repair — графический инструмент, который может восстановить GRUB2 одним щелчком мыши. Это идеальное решение для проблем с загрузкой для большинства пользователей.
Этот метод является самым простым для и понятным для новичков, так как все происходит в графическом окне.
Если у вас есть флэшка, на которую вы заранее установили Ubuntu, вставьте ее в свой компьютер и перезапустите. Если вы этого не сделаете, загрузите образ Ubuntu live и запишите его на диск или установите на флешку. Вы также можете скачать специальный компакт-диск Boot Repair с официального сайта разработчиков.
После загрузки в живую среду Ubuntu откройте терминал из Dash и выполните следующие команды для установки Boot Repair:
sudo apt-add-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
boot-repair
Окно Boot Repair появится после запуска команды boot-repair. После того, как он сканирует вашу систему, нажмите кнопку Рекомендуемый ремонт, чтобы восстановить GRUB2 одним щелчком.
Вы также можете щелкнуть заголовок Дополнительные параметры, чтобы настроить параметры GRUB2 без изучения его синтаксиса командной строки.
Перезагрузите компьютер после использования средства восстановления загрузки. Ubuntu должен загружаться нормально.
Метод терминала
Восстановление Grub2 включает также способ через «Терминал».
Если вы предпочитаете испачкать руки, то вы можете сделать это через «Терминал» операционной системы. Вам нужно будет загрузиться с Live CD или USB-накопителя, как в графическом методе выше. Убедитесь, что версия Ubuntu на компакт-диске совпадает с версией Ubuntu, установленной на вашем компьютере, например, если у вас установлен Ubuntu 17.04, убедитесь, что вы используете live CD с Ubuntu 17.04.
Откройте терминал после загрузки в живую среду. Идентификация раздела Ubuntu устанавливается с использованием одной из следующих команд:
Вот результат работы обеих команд. В команде fdisk -l раздел Ubuntu идентифицируется словом Linux в столбце System. В команде blkid раздел идентифицируется файловой системой ext4.
Выполните следующую команду для монтирования раздела Ubuntu в / mnt, заменив / dev / sdX # на имя вашего раздела Ubuntu из приведенных выше команд:
Например, используйте / dev / sda1 для первого раздела первого жесткого диска.
Важно: Если у вас есть отдельный загрузочный раздел, пропустите указанную выше команду и смонтируйте загрузочный раздел в / mnt / boot. Если вы не знаете, есть ли у вас отдельный загрузочный раздел, вы, вероятно, этого не сделаете
Выполните следующую команду, чтобы переустановить grub с live CD, заменив / dev / sdX на имя устройства на жестком диске выше. Опустите число. Например, если вы использовали / dev / sda1 выше, используйте / dev / sda здесь.
Перезагрузите компьютер, и Ubuntu должен загрузиться правильно.
Выводы
Основная идея этого руководства – помочь пользователям при восстановлении загрузчика Grub2. Если у вас есть вопросы, отправляйте их в форму комментариев на нашем сайте. Помогайте нам вместе улучшать Linux и делайте то, что будет развивать наше сообщество: спрашивайте, предлагайте и вносите свой вклад.
Booting from a serial console
If you want GRUB to operate over a serial line, you will need to uncomment GRUB_TERMINAL in /etc/default/grub and set it to serial (instead of the console default). Alternatively, you can add GRUB_TERMINAL=»console serial» to have the grub menu on both serial and local console. The default serial console settings are to operate on the first serial port (ttyS0) at a 9600 bit/s transfer rate with 8 data bits, 1 stop bit and no parity.
If you want to use another serial port or if your console uses different settings, you must add a GRUB_SERIAL_COMMAND line to specify additional parameters to the serial command. The serial command in GRUB 2 uses the same syntax as its GRUB Legacy counterpart (documented here). For example, for a very common 9600 bit/s (baud) serial line with 8 data bits, 1 stop bit and no parity:
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1"
An example is a 4800 bit/s (baud) serial line with 7 data bits, 1 stop bit and even parity:
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=4800 --word=7 --parity=even --stop=1"
Что для этого нужно?
Для начала, нам нужна материнская плата с несколькими слотами для установки видеокарт. Выглядит это так.
Видеокарты желательно покупать одинаковые или хотя бы близкие по серии. В противном случае максимальная производительность не гарантируется, и не факт, что вообще все заработает. Следите за тем, чтобы идентичным был графический процессор и видеопамять: карты от разных производителей будут жить вместе, если у них идентичные ГП и видеопамять, а вот платы от одного производителя с разным железом не полетят точно.
Также нам нужны контактные шлейфы для соединения обеих плат
Для каждого стандарта они свои.
Обязательно обратите внимание на блок питания. Если до этого у вас не было проблем с питанием — совсем не факт, что они не появятся теперь
Две видеокарты потребляют куда больше энергии, следовательно, им нужен более мощный блок питания. Уточняйте энергопотребление выбранных видеокарт на сайте производителя, и исходя из этого рассчитывайте мощность блока питания. Хотите стабильности и хорошей производительности — не пренебрегайте этим условием
Это важно.
И, наконец, обратите внимание на то, подходит ли ваш корпус. Это тоже довольно важно: тепловыделение двух мощных видеокарт существенно выше, чем тепловыделение одной, поэтому стоит следить за потоками воздуха и температурой в системном блоке, чтобы избежать перегрева и выхода устройств из строя.
Main changes
The last Rescatux stable version was released on October 2012. That’s about eight years ago.
Many changes have happened to Rescatux since then. UEFI options which became mainstream at 2015 have been added. Secure Boot support has been added. Rescapp is now its own program.
Rescapp 0.56 main menu featured at Rescatux 0.73
Rescapp had some serious usability flaws that have been fixed. When you run an option you never knew if it was working ok. Now you have an status for the option.
Rescapp 0.56 – Status label shows that the Easy GNU/Linux boot option is being run
Finally the complete nightmare of pop-ups that were shown when an option is run have been replaced by nice coloured scrolling messages.
Rescapp 0.56 – Nice scrolling coloured messages show what the option does
One of the best improvement has been done recently. Rescapp has been improved so that every option is properly documented (as well as a non native English speaker can write).
Not only every question explains all the steps that it performs and the questions they are going to make but some scenarios are explained so that you can understand what’s the most suitable scenario when to use the option.
Rescapp 0.56 – Now every option has its own documentation with examples of use
Fixing reboot/shutdown freezes
If your machine freezes upon attempts to shutdown or reboot, try modifying /etc/default/grub. Open the file with gksudo gedit /etc/default/grub (graphical interface) or sudo nano /etc/default/grub (command-line). Any other plaintext editor (Vim, Emacs, Kate, Leafpad) is fine too. Find the line that starts with GRUB_CMDLINE_LINUX_DEFAULT and add reboot=bios to the end.
If done properly it should result in something like GRUB_CMDLINE_LINUX_DEFAULT="quiet splash reboot=bios"
Then save the file, run sudo update-grub and reboot in any way that’s possible for you. After that, reboots and shutdowns should start working properly.
With certain hardware (notably DELL) the kernel parameter that you add needs to be reboot=pci (instead of reboot=bios), the procedure remains the same.
Displays
GRUB 2 can do more than provide a simple black & white menu. Its menu can be customized by the user to present a more visually-appealing menu by changing font colors, backgrounds and resolutions.
For information on using splash images and changing font colors and menu resolutions, please refer to the Grub2/Displays community documentation.
Themes
GRUB 2 Theming is still under development, as is integration with gfxmenu. Theme elements will include colors, fonts, progress indicators, menus, and labels. Both of these hold great promise but are not ready for release with Ubuntu 9.10. Check the Links section at the bottom of this page for references.
Installing/Reinstalling/Moving GRUB2
Please visit the Grub2/Installing community documentation. Information concerning upgrades from GRUB 0.97 (Legacy) to GRUB 2 is now located at Grub2/Upgrading.
Booting an ISO from a Menuentry
Ubuntu ISOs, as well as many utility ISOs and some other Linux operating systems, can be booted from a hard drive via a GRUB menuentry. This eliminates the need to create a CD/DVD and allows bootable image files to be stored only on the hard drive.
For information on this Grub 2 feature, please visit the Grub2/ISOBoot community documentation page.
6 ответов
Что такое Grub и из-за чего он может повреждаться
После того как вы производите инсталляцию Linux на жёсткий диск вашего компьютера, все файлы копируются в отдельные папки. В одних каталогах хранятся файлы обычного программного обеспечения, которое можно спокойно удалить. В других же записываются файлы, без которых операционная система работать не будет. Сюда относятся ядро Linux, графическая оболочка, а также системный загрузчик Grub. Именно последний и применяется для того, чтобы запускать инсталлированную операционную систему. Каким образом это происходит?
В специальном загрузочном разделе система создаёт главную загрузочную запись. Её английская аббревиатура выглядит как MBR, и расшифровывается как Master Boot Record. При старте компьютера BIOS обращается к этой записи, а потом в действие вступает Grub и, когда всё в порядке, происходит запуск Linux. И если же загрузчик повреждён, при запуске произойдёт ошибка и система запускаться не будет.
По каким причинам это может случиться? Подавляющее большинство случаев являются следствием того, что после установки Linux в качестве первой системы вы устанавливаете Windows в роли дополнительной. Компания Microsoft традиционно не любит Linux, поэтому установщик Windows удаляет Grub Linux. Эта же проблема может возникнуть при некорректной установке самого Linux, перехода на другой дистрибутив либо из-за переразметки диска.
Самое важное, что следует учесть — это то, что не нужно сразу же думать о переустановке всей системы. Достаточно лишь просто восстановить Grub и всё будет работать, как и прежде
Перейдём к рассмотрению наиболее действенных способов, доступных даже неопытным юзерам.
Немного теории[править]
DOS Partition Tableправить
Загрузчик ОС может находиться как в Master Boot Record (MBR), так и в boot record раздела. Если загрузчик находится в BR раздела, этот раздел должен быть помечен как активный, а в MBR должен находиться стандартный загрузчик, который находит активный раздел и запускает следующий загрузчик оттуда.
Рекомендуемые средстваправить
Действия, описанные в разделе «Восстановление загрузки при повреждении MBR», можно сделать из любой ОС любыми имеющимися там средствами. Для действий, описанных в разделе «Подготовка к восстановлению основного загрузчика» и далее требуется любой LiveCD с Linux, соответствующий по архитектуре установленной на восстанавливаемой системе (но x86_64 может быть применён для i586). Во многих образах ALT Linux присутствует возможность загрузиться в режиме восстановления (rescue). Как правило, в этих образах присутствуют две полезные утилиты — fixmbr и mount-system. Кроме того, существует специализированный LiveCD ALT Linux Rescue.
Selected Problems and Bugs
External Drive Installs and »grub-pc» Updates
Launchpad Bug 496435 Installs of Ubuntu on external drives can cause problems as grub-install uses device names (e.g. sda, sdb) rather than UUIDs in certain circumstances. If connected to another machine when an update of grub-pc is made, the upgrade may be written to the incorrect device and make the computer unbootable.
A workaround is posted on the bug link above.
External Drive Installs and MBR Selection
When installing Ubuntu to a USB drive, the potential exists for GRUB 2 to write to the hard drive’s MBR or split the installation between the hard drive and the USB drive (rather than completely on the USB device). This can render the main drive unbootable.
Workaround: During the final stages of the install there is an «Advanced» button which allows the user to select the install location. See the bug report for more details.
Boot Partition is in Logical Volume whose Volume Group contains a snapshot
When your boot partition (the one providing /boot) is a LV, make sure not to have any LVM snapshots inside the containing VG. At reboot this will render your system unbootable, dropping you in a «grub rescue>»-shell with the following message: «error: no such disk.»
The grub-rescue-shell provided does not help you, because all modules (esp. lvm) are unreachable. You’ll have to boot from a install medium and remove all snapshots that are in the same VG as your boot partition by hand.
This issue is extremely annoying if your server is in a remote datacenter since the origin of the problem cannot be spotted easily and repairing the system may be hard.
While this will be fixed in the upcoming Maverick Meerkat 10.10 release, the current Lucid Lynx LTS 10.04 is affected.
A workaround would be to install ubuntu using a separated non-LVM partition for /boot if you are using LVM snapshots regularly.
There’s some kind of irony that if you’re careful and take a LVM snapshot before upgrading (and possibly rebooting) your system, this will trigger the bug.
insmod fails with «error: no such disk»
Several grub2 modules, such as the linux-module depends on other modules, which is attempted to be auto-loaded. For this to work, the variable $prefix, must be set to where the grub2 modules can be found. Usually, this is accomplished with the command «set prefix=/boot/grub».
Устанавливаем GRUB
Осталось выполнить установку GRUB на диск. Мы определили раздел на котором у нас установлен GRUB на первом шаге данного руководства. В моем случае это раздел /dev/sda2, который расположен на диске /dev/sda.
Для установки GRUB используется команда grub-install, которой нужно передать в качестве параметра диск, на который будет выполняться установка (в моем случае это диск /dev/sda):
https://askubuntu.com/questions/88384/how-can-i-repair-grub-how-to-get-ubuntu-back-after-installing-windowsIf Ubuntu is installed in EFI mode, and EFI partition UUID has changed, you may need to update it in /etc/fstab. Compare it:blkid | grep -i efigrep -i efi /etc/fstab
Настройка Grub через /boot/grub/grub.cfg
Файл /etc/boot/grub/grub.cfg управляет непосредственно работой загрузчика, здесь указаны все его параметры и настройки, а также сформировано меню. Поэтому, изменяя этот файл, мы можем настроить Grub как угодно. Сначала попытаемся разобраться с синтаксисом файла. Он очень напоминает синтаксис bash и состоит из нескольких команд, которые что-то делают, загружают и настраивают.
Команды могут быть объединены в функции или блоки с помощью инструкций if else, синтаксис которых аналогичен bash. Рассмотрим основные из этих команд:
- load_env — загрузить переменные окружения из файла;
- set — установить значение переменной окружения. Используется как set имя_переменной=значение;
- insmod — загрузить модуль из папки с модулями Grub;
- linux — загружает ядро Linux;
- initrd — подготавливает образ initrd для загрузки ядра;
- boot — пытается загрузить систему;
- chainloader — запускает загрузчик из другого раздела;
- search — установить значение переменной выполнив поиск по заданным параметрам, например, может найти диск по его UUID или метке;
- menuentry — позволяет создать пункт меню;
Это все команды, которые вам понадобятся. Но две последние нужно рассмотреть подробнее, так как они будут использоваться чаще всего.
Команда search используется для поиска дисков и имеет такой синтаксис:
$ search опции_поиска —set=имя_переменной —hint приметы_устройства основной_параметр
- Опции поиска задают по какому критерию нужно искать, например, —fs-uuid — искать по UUID, —label — по метке, —no-floppy — не искать в схемных носителях.
- Приметы устройства дают программе дополнительные подсказки для более быстрого поиска;
- Основной параметр — значение, по которому будем выполнять поиск.
Например, команда может выглядеть вот так:
Вторая команда, которая нам очень понадобится, это menuentry. Она используется для создания пунктов меню, с помощью которых будут загружаться операционные системы и дистрибутивы linux. Синтаксис этой команды такой:
menuentry имя_пункта {команды установки переменных окружениязагрузка модулейlinux файл_ядра параметры_ядраinitrd файл_initrd}
Обычно, для нормальной загрузки операционной системы сначала необходимо установить корневой раздел, для этого, возможно, нужно загрузить некоторые модули, дальше нужно запустить ядро с нужными параметрами и добавить образ initrd если это требуется. Самый простой пример пункта меню:
Теперь давайте попробуем собрать всю информацию воедино и создадим самый просто конфигурационный файл для Grub вручную:
# Время показа меню 5 секунд
set timeout=5
# Установим разрешение экрана и укажем что это же разрешение нужно сохранять для ядра:
set gfxmode=»1280×800″
set gfxpayload=keep
# Загрузим необходимые модули для работы видео режима, нужно для использования фоновой картинки
insmod vbe
insmod gfxterm
terminal_output gfxterm
# Установка шрифта с поддержкой Unicode:
font «/boot/grub2/fonts/unicode.pf2»
loadfont unicode
# Загрузим модуль работы с jpeg и зададим фоновый рисунок:
insmod jpeg
background_image «/boot/fon.jpg»
# Установим переменные окружения для настройки цвета меню:
set menu_color_normal=red/black
set menu_color_highlight=yellow/black
set color_normal=yellow/black
menuentry «Ubuntu» {
root=(hd0,1)
linux /casper/vmlinuz boot=casper noeject noprompt splash
initrd /casper/initrd.lz
}
menuentry «OpenSUSE» {
insmod gzio
insmod part_msdos
insmod ext2
set root=’hd0,msdos5′
linux /boot/vmlinuz-4.1.31-30-default root=UUID=c52ca066-e48f-4df2-bc7e-4d885a354090 resume=/dev/sda7 splash=silent quiet showopts
initrd /boot/initrd-4.1.31-30-default
}
Теперь, когда вы знаете как примерно выглядит конфигурационный файл Grub, вы сможете разобраться с файлом, созданным автоматически. Пункты меню выводятся по порядку, поэтому чтобы поменять их местами будет достаточно поменять местами команды в файле
Программа настройки Grub — это хорошо, но также важно понимать как все работает на низком уровне
Через командную строку
Бывает, что повреждения не очень серьезные, но система не запускает все программы. В таком случае появляется следующее сообщение: Minimal BASH like line editing is supported. В этом случае загрузить Ubuntu можно с помощью командной строки.
Обязательно нужно знать на каком винчестере находится ядро и система. Для выполнения задачи необходимо последовательно выполнить несколько пунктов:
- Задать команду ls. (Это необходимо для того, чтобы отсканировать диски и разделы. После этого будет выведен список жестких дисков и тип их файловой системы.)
- Выбрать раздел, с которым будем работать.
- Запустить оболочку Grub, ядро Linux, систему boot.
- Открыть терминал и выполнить следующие команды сразу после того как откроется Ubuntu:
sudo Grub2-install /dev/sda sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg
- Для исправной и регулярной работы перезапустите устройство.
GRUB 2 и UEFI
Машины с прошивками UEFI (т.е., практически все машины, продающиеся в течение нескольких последних лет) добавили новый уровень сложности в процесс диагностики проблем системного загрузчика GRUB 2. Несмотря на то, что процедура восстановления работоспособности системного загрузчика GRUB 2, установленного на машине с прошивкой UEFI, не значительно отличается от процедуры восстановления работоспособности этого же загрузчика на машине без прошивки UEFI, в новые версии прошивок вносятся различные изменения, которые являются причиной различных результатов процесса восстановления работоспособности системного загрузчика.
В системах на основе UEFI вам не придется устанавливать что-либо в основную загрузочную запись. Вместо этого вы должны будете установить загрузчик Linux с поддержкой EFI в системный раздел EFI (EFI System Partition, ESP) и выбрать данный загрузчик в качестве используемого по умолчанию с помощью такого инструмента, как в Linux или в Windows.
На данный момент системный загрузчик GRUB 2 должен корректно устанавливаться в процессе установки любого из популярных дистрибутивов Linux, что позволяет последнему успешно сосуществовать с ОС Windows 8. Однако, в том случае, если вы получите в результате неработоспособный системный загрузчик, вы сможете восстановить работоспособность системы с помощью live-образа дистрибутива Linux. В процессе загрузки live-образа дистрибутива вам следует убедиться в том, что вы осуществляете загрузку в режиме UEFI. Меню загрузки компьютера должно содержать по два элемента для каждого из съемных носителей — для загрузки в обычном режиме и в режиме UEFI. Используйте последний режим для организации доступа к переменным EFI посредством файлов из директории .
Из live-окружения следует смонтировать корневую файловую систему неудачно установленного дистрибутива таким образом, как описано в данном руководстве. Вам также придется смонтировать системный раздел EFI (ESP). Если предположить, что данному разделу соответствует файл устройства , то вы можете смонтировать данный раздел с помощью следующей команды:
sudo mount /dev/sda1 /mnt/boot/efi
После этого необходимо загрузить модуль ядра с помощью команды перед созданием окружения chroot с корневой файловой системой неудачно установленного дистрибутива таким образом, как описано в данном руководстве.
Теперь в том случае, если вы используете дистрибутив Fedora, вы можете переустановить системный загрузчик с помощью следующей команды:
yum reinstall grub2-efi shim
После нее следует выполнить команду для генерации нового файла конфигурации системного загрузчика:
grub2-mkconfig -o /boot/grub2/grub.cfg
Пользователи дистрибутива Ubuntu могут выполнить эту же операцию с помощью команды:
apt-get install --reinstall grub-efi-amd64
После восстановления системного загрузчика следует выйти из окружения chroot, отмонтировать все смонтированные разделы жесткого диска и перезагрузить компьютер, перейдя в меню GRUB 2.
Для деактивации сценария из директории /etc/grub.d вам нужно всего лишь убрать бит исполнения, с помощью команды, аналогичной команде chmod -x /etc/grub.d/20_memtest86+, которая позволяет убрать строку «Memory Test» из меню загрузки
Установка загрузчика Grub в GPT для BIOS
Во-первых, мы можем ничего не менять и установить Grub так, как описано в предыдущем способе. Но тогда он будет установлен в область совместимости с MBR, а это не надежно. Поэтому рекомендуется установить grub так, как описано ниже, на отдельный раздел.
Нужный нам раздел можно создать в установщике любого дистрибутива, если вы выполняете установку в графическом интерфейсе или с помощью gparted. Нам нужен раздел размером 1 Мегабайт без файловой системы и с меткой grub_bios:
Дальше примените изменения, нажмите на разделе правой кнопкой, выберите manage flags и добавьте флаг grub_bios:
Готово. Если у вас нет под рукой доступа к графическому интерфейсу, вы можете создать такой раздел через терминал. Утилита fdisk не поддерживает работу с gpt, поэтому будем использовать gfdisk. Сначала запустите утилиту:
Чтобы создать новый раздел нажмите n и выберите номер раздела:
Соглашаемся с начальным сектором, будет использован первый же свободный:
Выбираем конечный сектор раздела. По умолчанию будет использоваться максимальный. Нам нужен раздел размером 1 Мб. Размер одного сектора GPT — 512 байт, поэтому нам нужен раздел размеров 2048 секторов. Таким образом, конечный сектор будет 24000 с чем-то.
HEX Code — это тот код, который скажет системе, что этот раздел нужно использовать для Grub, нужно установить ef02:
Готово, осталось нажать w для записи изменений на диск:
Установка grub на жесткий диск дальше выполняется точно так же, как и в предыдущем способе:
Осталось создать конфигурационный файл grub:
Теперь переходим к самому сложному, как установить grub efi.