Восстановить grub2 после установки windows fedora

Language.png

What is GRUB 2

GRUB 2 is the latest version of GNU GRUB, the GRand Unified Bootloader. A bootloader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel — Linux in the case of Fedora. The kernel, in turn, initializes the rest of the operating system.

GRUB 2 has replaced GRUB version 0.9x, which has become GRUB Legacy. Upstream refers to GRUB 2 as just GRUB.

GRUB 2 is the bootloader used on x86_64 systems, and on aarch64 if UEFI firmware is also used.

Changing kernel command-line parameters with grubby

The grubby utility updates the bootloader-specific configuration files. The utility is a recommended way for making routine changes to the kernel boot parameters and setting a default kernel.

Following are some of the selected illustrations of grubby usage:

  • To add one kernel parameter to a single boot entry:
# grubby --args=<NEW_PARAMETER> --update-kernel=/boot/vmlinuz-5.11.14-300.fc34.x86_64
  • To add multiple kernel parameters to a single boot entry:
# grubby --args="<NEW_PARAMETER1> <NEW_PARAMETER2 <NEW_PARAMETER_n>" --update-kernel=/boot/vmlinuz-5.11.14-300.fc34.x86_64
  • To add one kernel parameter to all currently existing and future boot entries:
# grubby --args=<NEW_PARAMETER> --update-kernel=ALL
  • To remove one kernel parameter from all currently existing and future boot entries:
# grubby --remove-args=<PARAMETER_TO_REMOVE> --update-kernel=ALL
  • To set the default kernel:
# grubby --set-default=/boot/vmlinuz-5.11.12-300.fc34.x86_64

Updating the GRUB configuration file

The GRUB configuration file is located at /boot/grub2/grub.cfg and is intended to be a static file that does not need updating. In case of disk replacement, or installation of another Linux distribution, /boot/grub2/grub.cfg should be updated. Use the following commands:

sudo grub2-mkconfig -o /etc/grub2.cfg

sudo grub2-mkconfig -o /etc/grub2-efi.cfg

sudo grub2-mkconfig -o /boot/grub2/grub.cfg — Legacy boot method for grub update.

These commands use information provided by the os-prober utility to add entries for other Linux distributions and Windows.

Note.png

Refrain from using grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg going forward. This is a valid location on Fedora 33 and earlier. However on Fedora 34 and later, it is a small stub file that merely forwards to /boot/grub2/grub.cfg. See the Reinstalling GRUB section if you have accidentally overwritten this file.

I have a grub> prompt! Now what?

If you are stuck at a grub> prompt, use a rescue mode to repair the already installed operating system. You can reach the rescue mode on any Fedora edition, spin of Network Installer, or DVD Installer.

For more details see Booting Your Computer in Rescue Mode.

After completing steps specified in the previous link, run the following command to mount the root partition:

# chroot /mnt/sysimage

Next, update the GRUB configuration file as described in the Updating the GRUB configuration file section. Afterwards, continue with the section below for firmware specific instructions on Reinstalling GRUB.

Reinstalling GRUB

GRUB comes in two flavors, BIOS GRUB and UEFI GRUB. The instructions on reinstalling GRUB depend on the firmware type. Systems with UEFI firmware have their GRUB RPM packages updated, which in turn updates the bootloader installed on the EFI System volume.

Discovering the firmware type

To discover what firmware your machine uses, run the following command:

# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

The output returns only UEFI or BIOS, depending on the firmware your machine runs.

Instructions for UEFI-based systems

  • Learn what firmware your machine is running. See Discovering the firmware type section.
  • Systems with UEFI firmware have the shim and GRUB RPM packages updated, which in turn updates the bootloader files found on the EFI System volume. Reasons for reinstallation include troubleshooting early boot problems, and following inadvertent use of the grub2-install command, which results in an unsupported configuration on UEFI systems.
  • Remove the following files:
# rm /boot/efi/EFI/fedora/grub.cfg
# rm /boot/grub2/grub.cfg
  • Reinstall the following packages:
# dnf reinstall shim-* grub2-efi-* grub2-common

Warning.png

Do not use the grub2-install command on UEFI systems. On those systems, bootloaders are in the shim and grub-efi RPM packages. By reinstalling those packages, the bootloaders are reinstalled to their proper location in /boot/efi/ on the EFI System volume.

Note.png

The removal of the two grub.cfg files will trigger a script in grub2-common to recreate these files.

Instructions for BIOS-based systems

  • Learn what firmware your machine is running. See Discovering the firmware type section.
  • Systems with the BIOS firmware have the GRUB RPM packages updated. However, the installed or embedded bootloader is never updated automatically. It is a good idea to update it between Fedora release versions.
  • Find the device node the /boot/ directory is located on:
# mount | grep "/boot "
/dev/sda4 on /boot type ext4 (rw,relatime,seclabel)

The device node is /dev/sda4.

  • Reinstall the bootloader while specifying the device node without the number:
# grub2-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.

Enabling serial console in GRUB 2

On Fedora 34 and later, you can enable serial console for usage on virtual environments. The following procedure explains how to achieve this goal.

# grubby --args="systemd.journald.forward_to_console=1 console=ttyS0,38400 console=tty1" --update-kernel=/boot/vmlinuz-5.11.16-300.fc34.x86_64

The first command specifies the baud rate, console forwarding for systemd, what console to use (tty1) and on what kernel such changes should be applied.

# grubby --set-default=/boot/vmlinuz-5.11.16-300.fc34.x86_64

The second command ensures the specified kernel is going to be loaded by default on next reboot.

For instructions on how to enable serial consol in GRUB 2 for baremetal machines, see Using GRUB via a serial line.

Hi all friends.

After installing Windows 10 I found that I couldn’t enter to my Fedora anymore, the system would run straight to Windows 10 without showing my precious GRUB2 menu.

I came across the problem a few days ago and googling it I found a solution and implemented it with a little variance of mine, just because I have LVM partitions instead of standard ones.

So I will explain here what I did to have my Fedora booting again after installing Windows 10. I hope this can help a huge amount of people.

This problem occurs when you reinstall Windows in a dual boot environment, as the boot configuration of the system is stored in the MBR of Windows, Windows rewrites this MBR and the Grub gets lost forever. (MBR is for Legacy partitions, if you have UEFI it would be GPT instead of MBR in Windows).

Please, note that I did this in Legacy partitions not in UEFI partitions. I want to be clear, if you have UEFI partitions the process could change.

So, let’s do it, we’ll recover GRUB2. First of all, we need to use any Fedora LiveUSB/CD to navigate through our Linux system. Once we get inside its Terminal we search for the different partitions available, mine are:

# lsblk
NAME               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                  8:0    0 931.5G  0 disk 
└─sda1               8:1    0 931.5G  0 part /mnt/DATOS
sdb                  8:16   0 465.8G  0 disk 
├─sdb1               8:17   0   100M  0 part 
├─sdb2               8:18   0 365.7G  0 part /mnt/win
├─sdb3               8:19   0 477.2M  0 part /boot
├─sdb4               8:20   0     1K  0 part 
└─sdb5               8:21   0  84.7G  0 part 
  ├─vgroup-lvhome 253:0    0  37.3G  0 lvm  /home
  ├─vgroup-lvroot 253:1    0    40G  0 lvm  /
  └─vgroup-lvswap 253:2    0   7.4G  0 lvm  [SWAP]
sr0                 11:0    1  1024M  0 rom  

First we need to find what partition is which system. For me it is:

/dev/sda1 —> Windows miscelanious data

/dev/sdb2 —> Windows 10

/dev/sdb3 —> /boot

/dev/sdb5 —> LVM partitions (Physical volume)

Once we fact check our partitions, we need to mount the partition where «/» is located:

# mkdir /mnt/root
#mount /dev/mapper/vgroup-lvroot /mnt/root

Change the «vgroup» with your Volume Group name. We also need to mount «/boot» partition, if you don’t have this partition, just skip this step:

# mkdir /mnt/boot
#mount /dev/sdb3 /mnt/boot

Next, we need to mount «/dev» and «/proc»

# mount --bind /dev /mnt/dev/ mint mint 
# mount --bind /proc /mnt/proc/  

Then, we change the current directory to «/mnt» to reinstall GRUB2 as if we were executing the commands in the original Fedora instead of the LiveUSB/CD

# chroot /mnt  

We install the GRUB2 in the MBR (the partition where Windows is located):

# grub2-install --recheck /dev/sdb
Installation finished. No error reported.
# grub2-mkconfig -o /boot/grub2/grub.cfg

Finally, get out of Chroot and restart the system naturally:

# exit 
exit

After this, Grub2 should appear without problems and you should chose between Windows and Linux again. Enjoy it.

Any comments or corrections are appreciated!

Bibliography:

https://www.reddit.com/r/Fedora/comments/4em7rw/cant_restore_grub2_via_bootrepairdisk/

https://www.linuxito.com/gnu-linux/nivel-medio/270-como-recuperar-grub-2-luego-de-instalar-windows

1. Введение

GRUB или Grand Unified Bootloader (Унифицированный системный загрузчик) является наиболее распространенным системным загрузчиком в среде Linux. Он занимает свое место по праву, ведь благодаря ему становится возможной загрузка практически всех актуальных операционных систем. Это все существующие дистрибутивы Linux, версии ОС Windows, версии DOS, версии BSD, версии Mac OS X, а также некоторые другие менее популярные операционные системы.

По сути, это небольшое технологическое чудо. Например, в течение некоторого времени на моем ноутбуке было установлено около 10 разных операционных систем, которые были доступны из меню системного загрузчика GRUB и отлично работали, не конфликтуя друг с другом.

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

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

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

2.1. Когда приходится восстанавливать системный загрузчик

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

GRUB состоит из двух программных компонентов. Первым программным компонентом является сам системный загрузчик, который размещается в основной загрузчоной записи (Master Boot Record или MBR). Эта запись расположена в рамках первого сектора жесткого диска. Вторым программным компонентом является реализация меню загрузки и используемые ею дополнительные файлы. Они располагаются за пределами основной загрузочной записи, а именно, в директории boot корневого раздела Linux.

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

2.2. Процесс восстановления системного загрузчика в системах с BIOS

Данное описание процесса восстановления системного загрузчика подойдет для систем с классической прошивкой BIOS (это системы с предустановленными ОС Windows XP или Windows Vista). Оно также подойдет для систем с прошивками UEFI, работающих в режиме совместимости с BIOS (это системы с предустановленной ОС Windows 7). При этом оно не подойдет для систем с прошивками UEFI, не поддерживающих режимы совместимости с BIOS (это системы с предустановленными ОС Windows 8.x и Windows 10). Если в вашей системе используется новейшая прошивка UEFI, не совместимая с BIOS, вам придется обратиться к следующему разделу.

Предположим, что нам нужно восстановить системный загрузчик, затертый системным загрузчиком ОС Windows.

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

Примечание: вам придется использовать загрузочный носитель той версии системы, которая установлена на вашем жестком диске. Например, в том случае, если на вашем жестком диске установлена система Ubuntu 16.04, вы должны использовать загрузочный диск Ubuntu 16.04.

B. Теперь следует выяснить имя файла устройства раздела с корневой директорией установленной системы. Для этого можно воспользоваться приложением Диски, доступным в Linux Mint, Ubuntu и Fedora Workstation.

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

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

C. Теперь нужно открыть окно терминала.

D. Далее нужно скопировать и вставить в окно терминала следующую команду (напоминаю, что вы должны заменить sda5 на имя файла устройства раздела с корневой директорией установленной системы):

sudo mount /dev/sda5 /mnt

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

E. Теперь нужно выполнить следующую последовательность команд с помощью терминала (в последней команде должно использоваться имя файла устройства корневого раздела установленной системы без его номера):

sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
sudo grub2-mkconfig -o /boot/grub/grub.cfg
sudo grub2-install /dev/sda

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

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

grub probe: error: failed to get canonical path of /cow
Installation finished. No error reported.

Оно никоим образом не повлияет на установку системного загрузчика.

F. Теперь нужно отмонтирвать смонтированные файловые системы. Для этого следует выполнить следующую последовательность команд:

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt

После окончания ввода каждой из команд также следует нажимать клавишу Enter для ее исполнения.

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

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

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

После перезагрузки пункт для загрузки Windows появится в меню загрузчика GRUB. При необходимости вы можете открыть меню системного загрузчика, зажав и удерживая клавишу Shift сразу же после исчезновения экрана загрузки BIOS.

2.3. Процесс восстановления системного загрузчика в системах с UEFI

Данное описание процесса восстановления системного загрузчика подойдет для систем с прошивкой UEFI (это системы с предустановленными ОС Windows 8.x или Windows 10). Например, после успешной установки одного из дистрибутивов Linux на такую систему в меню UEFI может не оказаться пункта для его загрузки. Кроме того, вы можете случайно привести раздел UEFI к оригинальному состоянию или обновить его содержимое, в результате чего загрузка Linux также станет невозможной. К счастью, данная проблема может быть решена без переустановки системы. Однако, вам придется неукоснительно следовать приведенным ниже инструкциям.

Примечание: данные инструкции подходят лишь для современных систем с прошивками UEFI, не работающих в режиме совместимости с BIOS. Обычно такие системы продаются с предустановленными ОС Windows 8.x или Windows 10. При этом они не подойдут для систем с классическими прошивками BIOS (это системы с предустановленными ОС Windows XP, Windows Vista и Windows 7). Если в вашей системе используется классическая прошивка BIOS, вам придется обратиться к предыдущему разделу.

На системы с прошивками UEFI традиционно устанавливаются 64-битные операционные системы, поэтому мы будем рассматривать случай «исчезновения» пункта для загрузки 64-битной Linux-системы из меню UEFI. Для решения аналогичной проблемы вам придется действовать следующим образом:

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

Примечание: вам придется использовать загрузочный носитель той версии системы, которая установлена на вашем жестком диске. Например, в том случае, если на вашем жестком диске установлена система Ubuntu 16.04, вы должны использовать загрузочный диск Ubuntu 16.04.

B. Далее следует установить соединение с сетью Интернет. Оно необходимо для переустановки пакетов программного обеспечения.

C. Теперь нужно узнать имена файлов устройств двух разделов жесткого диска, а именно, раздела с корневой директорией системы (с системными файлами дистрибутива) и раздела EFI (содержащего загрузчики Linux и Windows). Для этого можно воспользоваться приложением Диски, доступным в Linux Mint, Ubuntu и Fedora Workstation.

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

В моем случае файл устройства раздела с корневой директорией имеет имя sda5, а раздела EFI — имя sda2. Я буду использовать имена этих файлов устройств в данном руководстве, вам же придется изменить их на имена ваших файлов устройств.

D. Теперь нужно открыть окно терминала.

E. Далее нужно скопировать и вставить в окно терминала следующую команду (напоминаю, что вы должны заменить sda5 на имя файла устройства раздела с корневой директорией установленной системы):

sudo mount /dev/sda5 /mnt

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

Пришло время сделать то же самое с разделом EFI. Вам придется скопировать и вставить в окно терминала следующую команду (напоминаю, что вы должны заменить sda2 на имя файла устройства раздела EFI установленной системы):

sudo mount /dev/sda2 /mnt/boot/efi

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

F. Теперь нужно выполнить следующую последовательность команд с помощью терминала:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo modprobe efivars
sudo chroot /mnt

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

G. Пришло время переустановить пакеты программного обеспечения, в результате чего пункт для загрузки дистрибутива Linux должен снова появиться в меню UEFI. Вам придется выполнить команду, актуальную для вашего дистрибутива.

Linux Mint/Ubuntu:

sudo apt-get install --reinstall grub-efi-amd64

Fedora Workstation:

sudo dnf reinstall grub2-efi grub2-efi-modules shim

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

H. После окончания процесса переустановки пакетов программного обеспечения следует корректно отмонтировать все разделы установленной системы. Для этого следует выполнить с помощью терминала следующую последовательность команд:

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt/boot/efi
sudo umount /mnt

После окончания ввода каждой из команд также следует нажимать клавишу Enter для ее исполнения.

I. Далее следует воспользоваться функцией перезагрузки системы и не забыть извлечь загрузочный накопитель. В последующем процессе загрузки вы должны обнаружить пункт для загрузки установленной Linux-системы в меню UEFI. Если из этого меню исчез пункт для загрузки Windows, следует загрузить Linux, открыть окно терминала и выполнить с помощью него следующую команду:

Linux Mint/Ubuntu:

sudo grub2-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg

Fedora Workstation:

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

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

Примечание: файл конфигурации GRUB в Linux Mint находится в директории ubuntu, так как дистрибутив Linux Mint основан на Ubuntu.

После перезагрузки пункт для загрузки Windows появится в меню UEFI.

3. Настройка GRUB

3.1. О сторонних приложениях

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

3.2. Перемещение Windows на первое место в меню системного загрузчика

В начале знакомства с Linux многим пользователям хочется, чтобы ОС Windows была выбрана и загружалась по умолчанию (рано или поздно это проходит!). Это не так сложно реализовать.

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

Меню системного загрузчика GRUB, с помощью которого вы можете выбрать операционную систему для загрузки, по умолчанию является функциональным, но не очень красивым. К счастью, это легко исправить, к примеру, использовав красивое изображение в качестве его фона.

3.4. Изменение времени показа меню системного загрузчика

Для произвольного изменения времени показа меню системного загрузчика GRUB достаточно отредактировать файл конфигурации /etc/default/grub, изменив значение переменной GRUB_TIMEOUT, после чего обновить конфигурацию самого загрузчика. Обратите внимание на то, что установка значения 0 не даст никакого эффекта: будет использоваться стандартное значение, равное 10 секундам. Если же вы все же хотите установить минимальное время показа меню, вы можете использовать значение 0.1. Для обновления конфигурации системного загрузчика в системе с классической прошивкой BIOS следует воспользоваться следующей командой:

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

Если у вас система с современной прошивкой UEFI, вы можете использовать одну из следующих команд:

Linux Mint/Ubuntu:

sudo grub2-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg

Fedora Workstation:

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

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

3.5. Использование дополнительных параметров конфигурации ядра ОС

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

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

A. В первую очередь следует открыть окно терминала и ввести в него следующую команду:

Linux Mint:

gksudo xed /etc/default/grub

Ubuntu/Fedora Workstation:

gksudo gedit /etc/default/grub

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

B. В открывшемся файле конфигурации GRUB следует найти следующую строку:

GRUB_CMDLINE_LINUX=""

В кавычках должны перечисляться параметры, которые будут передаваться ядру ОС. Для разделения параметров должен использоваться символ пробела. Например, в случае необходимости передачи ядру ОС параметра nomodeset следует привести эту строку к следующему виду:

GRUB_CMDLINE_LINUX="nomodeset"

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

C. Для обновления конфигурации системного загрузчика придется выполнить еще одну команду. В случае использования системы с классической прошивкой BIOS следует воспользоваться командой:

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

Если у вас система с современной прошивкой UEFI, вы можете использовать одну из следующих команд:

Linux Mint/Ubuntu:

sudo grub2-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg

Fedora Workstation:

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

После окончания ввода команды следует нажать клавишу Enter для ее исполнения.

D. Наконец, следует перезагрузить компьютер.

3.5.1. Параметр nomodeset

В современных версиях ядра Linux реализован механизм установки параметров графических карт практически всех производителей. То есть, запись данных в регистры графических карт осуществляется на уровне ядра ОС, а не на уровне модуля графического сервера X.org после его запуска. Данный механизм позволяет использовать заставки с высоким разрешением при загрузке системы и избавиться от искажений при переходе от экрана загрузки к экрану входа в систему.

К сожалению при использовании некоторых видеокарт данный механизм работает ненадежно и может приводить к черному экрану после загрузки системы. Параметр nomodeset сообщает ядру ОС о том, что не нужно использовать механизм установки параметров графических карт до момента запуска графического сервера X.org. Однако, стоит учесть, что некоторые графические карты могут работать некорректно при передаче данного параметра, поэтому не стоит злоупотреблять им.

3.5.2. Параметры noacpi, noapic и nolapic

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

Стандарт ACPI (Advanced Configuration and Power Interface) описывает механизмы управления питанием. Старые системы могут не поддерживать его в полной мере, поэтому в некоторых случаях стоит сообщать ядру ОС об этом. Вы можете сделать это, передав параметр acpi=off или noacpi.

Стандарт APIC (Advanced Programmable Interrupt Controller) реализуется в более новых системах. Локальной версией данного стандарта является стандарт LAPIC. Данный стандарт описывает механизм генерации и обработки прерываний, то есть, сигналов, используемых аппаратным обеспечением компьютера. И снова, некоторые реализации APIC могут быть неполными в старых системах, поэтому стоит деактивировать их поддержку. Вы можете сделать это, передав параметры noapic и nolapic.

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

3.5.3. Параметры quet splash

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

4. Удаление GRUB из основной загрузочной записи (возврат к Windows)

Удаление GRUB является печальным событием, ведь это такой отличный инструмент! Однако, если вы хотите знать все о системном загрузчике GRUB, вы также должны знать о том, как удалить его. Если говорить максимально кратко, то можно сказать, что под удалением GRUB чаще всего подразумевается замена системного загрузчика GRUB из состава дистрибутива Linux на системный загрузчик NTLoader из состава ОС Windows в основной загрузочной записи. Это может быть сделано различными способами.

4.1. Удаление GRUB с помощью Ultimate Boot CD

Вы можете заменить системный загрузчик GRUB на системный загрузчик NTLoader с помощью загрузочного диска Ultimate Boot CD (UBCD). Образ этого загрузочного диска доступен на данном веб-сайте.

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

Ultimate Boot CD содержит несколько инструментов, предназначенных для восстановления системного загрузчика NTLoader в основной загрузочной записи диска. Рассмотрим методику использования одного из них.

Сначала вам нужно будет с помощью меню выбрать жесткий диск, после чего выбрать действие Boot Management и, наконец, выбрать инструмент Super Grub Disk. После этого вам нужно будет снова нажать клавишу Enter для запуска Super Grub Disk. Далее нужно просто выбрать пункт:

Win => MBR &  !WIN!   :(((((((((((((((((((((((((((((((((

и нажать клавишу Enter.

Примечание: использование огромного количества круглых скобок является не моей идеей, а идеей автора Super Grub Disk…

И это все, что нужно было сделать! Теперь вы можете перезагрузить свой компьютер. После перезагрузки будет загружена ОС Windows.

4.2. Удаление GRUB с помощью FreeDOS

Для удаления системного загрузчика может также использоваться флеш-накопитель с интерфейсом USB. Вам понадобятся три приложения: Unetbootin, FreeDOS и Testdisk для DOS.

A. Для начала нужно загрузить приложение Unetbootin и создать с помощью него загрузочный флеш-накопитель. При запросе названия операционной системы следует выбрать FreeDOS.

B. Теперь нужно загрузить версию утилиты Testdisk для DOS/Win9x (версия для Windows не подойдет!).

C. Далее нужно извлечь файлы testdisk.exe и CWSDPMI.exe из архива утилиты Testdisk на загрузочный флеш-накопитель (прямо в корневую директорию, не создавая каких-либо поддиректорий).

D. Теперь нужно загрузить компьютер с созданного флеш-накопителя. При появлении начального окна достаточно нажать на клавишу Enter.

E. На данном этапе должна начаться загрузка операционной системы FreeDOS. Вы должны выбрать вариант загрузки:

FreeDOS Safe Mode (don't load any drivers)

Для продолжения процесса загрузки следует нажать клавишу Enter.

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

C:

После окончания ввода команды следует нажать клавишу Enter для ее исполнения.

G. Теперь нужно запустить утилиту Testdisk с помощью следующей команды:

testdisk

После окончания ввода команды следует также нажать клавишу Enter для ее исполнения.

H. Утилита должна начать работу. Для начала следует выбрать режим без журналирования [No Log] и нажать клавишу Enter.

I. Далее следует выбрать нужный жесткий диск: обычно это второй диск в списке (первым диском является сам флеш-накопитель). После выбора диска нужно нажать на клавишу Enter.

J. Далее нужно выбрать вариант [Intel] и нажать клавишу Enter.

K. Наконец, нужно выбрать вариант [MBR Code] и нажать клавишу Enter. При запросе подтверждения следует ввести y (yes) и снова нажать клавишу Enter.

И это все, что нужно было сделать! Теперь вы можете перезагрузить свой компьютер. После перезагрузки будет загружена ОС Windows.

5. Хотите ознакомиться с дополнительными советами?

Хотите узнать о других настройках и приемах работы с Linux-системами? На данном веб-сайте размещено большое количество подобных материалов.

Категория: nix’ы
22 марта 2019
22 марта 2019
9179

Слетел GRUB, такое бывает, восстановить загрузчик можно при помощи установочного Live CD, представим, что CD загружен и загрузочный USB готова к работе:

  • Загружаемся с флешки
  • Открываем терминал в нем выполняем:
  • Далее при помощи fdisk -l ищем разделы своей Fedora, далее создаем каталог /mnt/root и монтируем туда все необходимое (рутовый раздел, загрузочный раздел), далее пример:
mkdir /mnt/root
mount /dev/sdd5 /mnt/root
mount /dev/sdd1 /mnt/root/boot/
mount -o bind /dev /mnt/root/dev
mount -o bind /proc /mnt/root/proc
mount -o bind /sys /mnt/root/sys
mount -o bind /run /mnt/root/run

  • Изменяем корневой каталог:
  • Устанавливаем загрузчик на загрузочный диск:
grub2-install --no-floppy --recheck /dev/sdd
grub2-mkconfig -o /boot/grub2/grub.cfg

  • Выходим, перезагружаем компьютер:
exit && /sbin/shutdown -r now

  • На всякий случай привожу дефолтный конфиг /etc/default/grub файла:
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

Done! 

Восстановление GRUB

В данной статье рассматривается процесс восстановления загрузчика GRUB 2.

Причины, по которым может понадобится восстановить GRUB, могут быть разными.

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

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

Во всех случаях нужно выполнить восстановление загрузчика GRUB. Существуют разные способы восстановления. В данном руководстве рассматривается процесс использованием загрузочного Live-образа Linux. Загрузившись в Live-систему вам нужно будет ввести несколько команд, чтобы выполнить восстановление. Рассматривается способ восстановления без использования сторонних программ.

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

Подготовка

Для восстановления GRUB потребуется загрузочный диск или флешка с дистрибутивом Linux. Если у вас его нет, то нужно скачать образ с дистрибутивом. Например, можно скачать ISO образ Ubuntu.

Для создания загрузочной флешки можно воспользоваться программой Etcher. Она работает в Linux, Windows и MacOS. Подробная инструкция: Как создать загрузочную флешку.

Загрузка в Live-режиме

Теперь нужно загрузиться с созданного диска или флешки.

Чтобы это сделать сначала нужно в BIOS выбрать приоритет загрузки с CD/DVD или с USB (если вы используете флешку).

На современных компьютерах, где используется BIOS/UEFI, для входа в BIOS нужно при включении компьютера удерживать специальную клавишу. У разных производителей клавиша может быть разной. Обычно это: F2, Del, F10, Esc, F11 или F3.

На старых компьютерах, где используется классический BIOS, чтобы войти в BIOS нужно при загрузке компьютера, в самом начале, когда появляется логотип материнской платы, нажать специальную клавишу. Для разных материнских плат клавиша может быть разной. Обычно это одна из клавиш: Del, F1, F2, F8, F10 или какая-нибудь другая, или даже сочетание клавиш. Подробности: Настройка BIOS для загрузки с CD/DVD-диска или с USB-носителя

Открываем терминал

Итак, вы загрузились в Live-режиме. Теперь нужно открыть терминал.

В Ubuntu и некоторых других дистрибутивах это можно сделать нажатием сочетания клавиш Ctrl+Alt+T. Или запустить терминал через меню программ.

Определение разделов

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

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

sudo fdisk -l

Вывод fdisk для BIOS

Пример вывода команды:
Восстановление GRUB. fdisk l

В моем случае мы видим 2 диска: /dev/sda (SSD диск) и /dev/sdb (флешка, с которой сейчас загружена Live-система).

Нас интересует диск /dev/sda. На диске /dev/sda создано несколько разделов. В моем случае /dev/sda4, на котором установлен Windows, а также 4 раздела с пометкой Linux (см. последний столбец таблицы). У вас скорее всего может быть один раздел Linux (корневой раздел) или два раздела (корневой и home). На одном из этих разделов установлен GRUB.

То есть из таблицы вы должны определить какой раздел является корневым, на нем скорее всего у вас установлен GRUB. В моем случае GRUB установлен в раздел /dev/sda2. Далее по тексту я буду его использовать (вы должны будете указывать свой раздел).

Иногда бывает, что для загрузчика GRUB выделен отдельный раздел (он называется boot-раздел). Если это так, то на следующем шаге вам нужно будет примонтировать корневой раздел и раздел с загрузчиком.

Вывод fdisk для UEFI

Для новых компьютеров с UEFI вывод команды fdisk -l может быть примерно следующим:
Fdisk l для UEFI

Нам нужно определить, на каком разделе установлен Linux (корневой раздел), а также определить EFI-раздел. В моем случае это разделы: /dev/nvme0n1p5 и /dev/nvme0n1p1, которые расположены на диске /dev/nvme0n1.

Монтирование разделов

Примонтируем корневой раздел. Выполняем команду (вместо /dev/sda2 вы должны указать свой раздел):

sudo mount /dev/sda2 /mnt

Мы примонтировали раздел /dev/sda2 в директорию /mnt.
Восстановление GRUB. Монтирование корневого раздела

Если для загрузчика у вас выделен отдельный раздел, то нужно примонтировать еще и его (вместо /dev/sdX укажите ваш boot-раздел):

sudo mount /dev/sdX /mnt/boot

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

ls /mnt

Вывод команды должен быть примерно следующим. Обратите внимание есть ли в этом списке каталог /boot, так как именно в нем установлен GRUB.
Восстановление GRUB. Список файлов

Также можно проверить, что директория boot не пустая:

ls /mnt/boot

У меня вывод команды выглядит следующим образом. Обратите внимание на присутствие каталога с именем grub.
Восстановление GRUB. Список файлов в boot

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

sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

Восстановление GRUB. mount bind dev pts proc sys

Монтирование EFI-раздела

Если у вас используется UEFI, то еще нужно примонтировать EFI-раздел в директорию /mnt/boot/efi (выше я указал пример вывода команды fdisk -l в котором показан EFI-раздел):

sudo mount /dev/nvme0n1p1 /mnt/boot/efi

Выполняем chroot на /mnt

На предыдущем шаге мы смонтировали все необходимые директории в директорию /mnt. Теперь переключимся (выполним chroot) на данную директорию. Выполняем команду:

sudo chroot /mnt

Восстановление GRUB. chroot

Генерация файла конфигурации GRUB

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

Для генерации файла конфигурации GRUB используется команда update-grub. Данная команда автоматически определяет файловые системы на вашем компьютере и генерирует новый файл конфигурации. Выполняем команду:

sudo update-grub

В выводе команды будет показано, какие операционные системы были найдены.
Восстановление GRUB. update-grub

Если вдруг утилита update-grub не определила ваш Windows (у меня такое было для UEFI), то можно будет запустить update-grub повторно уже из вашей Linux-системы, когда вы в нее загрузитесь (мне это помогло и Windows определился).

Устанавливаем GRUB

Осталось выполнить установку GRUB на диск. Мы определили раздел на котором у нас установлен GRUB на первом шаге данного руководства. В моем случае это раздел /dev/sda2, который расположен на диске /dev/sda.

Для установки GRUB используется команда grub-install, которой нужно передать в качестве параметра диск, на который будет выполняться установка (в моем случае это диск /dev/sda):

grub-install /dev/sda

Восстановление GRUB. grub-install

https://askubuntu.com/questions/88384/how-can-i-repair-grub-how-to-get-ubuntu-back-after-installing-windows
If 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 efi
grep -i efi /etc/fstab

Перезагрузка компьютера

Выходим из окружения chroot, для этого выполняем команду:

exit

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

sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev/pts
sudo umount /mnt/dev

Если вы монтировали boot-раздел, то его тоже нужно отмонтировать:

sudo umount /mnt/boot

Если вы монтировали EFI-раздел, отмонтируем:

sudo umount /mnt/boot/efi

Отмонтируем корневой раздел:

sudo umount /mnt

Перезагружаем компьютер. Для этого выполняем команду:

reboot

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

  • удерживать клавишу Shift, если у вас классический BIOS;
  • нажать Esc, если у вас UEFI.

Если у вас, при выполнении grub-update, не определился Windows и не был добавлен в меню GRUB, то уже загрузившись в вашу систему Linux (не LiveCD), откройте терминал и выполните:

sudo grub-update

Мне это помололо на компьютере, который использует UEFI.

Шпаргалка

Мы рассмотрели процесс восстановления загрузчика GRUB 2. Для удобства привожу краткую шпаргалку по командам, которые мы выполняли. Учитывайте, что названия и имена разделов (/dev/sd…) у вас могут отличаться.

sudo fdisk -l
sudo mount /dev/sda2 /mnt
# sudo mount /dev/sdaX /mnt/boot
# sudo mount /dev/sdaY /mnt/boot/efi
sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
sudo update-grub
grub-install /dev/sda

1 / 1 / 2

Регистрация: 17.05.2017

Сообщений: 39

1

25.06.2017, 21:49. Показов 10901. Ответов 20


Здравствуйте Уважаемые форумчане, В очередной раз обращаюсь за советом. Ситуация следующая: на своем ноутбуке поделил жесткий на 2 раздела, на один поставил Вин 7, а на второй Федору 25. При загрузке тупо грузит виндовс и отказывается видеть линух

Как понимаю, надо восстановить ГРАБ, но как это сделать аккуратно?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

25.06.2017, 21:49

Ответы с готовыми решениями:

grub — восстановление
Здравствуйте! Понимаю, тема такая уже много раз была.. Все же..
На ноуте два жестких диска, на…

Восстановление grub
После неудачных экспериментов перестал грузится граб. После включения пк теперь сразу грузится…

Восстановление GRUB
Здрасте!
Пытаюсь восстановить загрузчик линукса после переустановки винды. У меня убунту 11, я так…

Восстановление Grub
Всем доброго времени суток ! Решил переразбить диск потому что 200 гб под линь мне не нужно, после…

20

Автор FAQ

2732 / 1428 / 89

Регистрация: 08.09.2011

Сообщений: 3,746

Записей в блоге: 1

26.06.2017, 13:19

2

Да, если вы ставили Windows после установки Fedora то да Вам надо переустановить GRUB так как Windows перетирает загрузочную область.

Восстановить GRUB можно загрузившись с LIVE CD Linux какого-нибудь.



1



1 / 1 / 2

Регистрация: 17.05.2017

Сообщений: 39

26.06.2017, 13:27

 [ТС]

3

Нет, Я Ставил FEDORA после WINDOWS. В этом всё дело.



0



Автор FAQ

2732 / 1428 / 89

Регистрация: 08.09.2011

Сообщений: 3,746

Записей в блоге: 1

26.06.2017, 13:59

4

значит что-то не так поставили При правильной установке, система автоматически найдет Windows и добавит все как надо. Но в любом случае Вам необходимо восстанавливать grub



0



Модератор

Эксперт NIX

2792 / 2035 / 682

Регистрация: 02.03.2015

Сообщений: 6,509

26.06.2017, 15:00

5

GRUB надо ставить на диск, а не раздел (на /dev/sda, но не на /dev/sda1)

Цитата
Сообщение от Чистый
Посмотреть сообщение

в любом случае Вам необходимо восстанавливать grub



0



Эксперт HardwareЭксперт WindowsАвтор FAQ

8446 / 2968 / 494

Регистрация: 14.04.2011

Сообщений: 7,361

26.06.2017, 15:04

6

Ещё GRUB может не появлятся если 7-ка установлена в UEFI режиме (хотя это маловероятно). Восстановить GRUB можно например так. Загрузиться с установочного диска флешки Fedora и в терминале выполнить

Код

sudo mount /dev/sdaX  - где Х номер корневого раздела
sudo grub2-install --root-directory=/mnt /dev/sda

Это если жесткий диск один и разметка на нём MBR.



0



1 / 1 / 2

Регистрация: 17.05.2017

Сообщений: 39

26.06.2017, 17:55

 [ТС]

7

Походу мне проще будет переставить, каким образом это правильно сделать, чтобы граб подхватил винду и федору??



0



Эксперт HardwareЭксперт WindowsАвтор FAQ

8446 / 2968 / 494

Регистрация: 14.04.2011

Сообщений: 7,361

26.06.2017, 18:44

8

Сделать вот так ->

Цитата
Сообщение от Marinero
Посмотреть сообщение

GRUB надо ставить на диск, а не раздел (на /dev/sda, но не на /dev/sda1)



0



1 / 1 / 2

Регистрация: 17.05.2017

Сообщений: 39

26.06.2017, 22:12

 [ТС]

9

Download from live-cd

Код

fdisk -l
Device         Start       End   Sectors   Size Type
/dev/sda1       2048    616447    614400   300M Windows recovery environment
/dev/sda2     616448    821247    204800   100M EFI System
/dev/sda3     821248   1083391    262144   128M Microsoft reserved
/dev/sda4    1083392 567173119 566089728   270G Microsoft basic data
/dev/sda5  567173120 568172543    999424   488M EFI System
/dev/sda6  568172544 569196543   1024000   500M Linux filesystem
/dev/sda7  569196544 976773119 407576576 194.4G Linux LVM

Код

#sudo mount /dev/sda6
mount: can't find /dev/sda6 in /etc/fstab

Код

# mkdir /mnt/boot
# mount /dev/sda6 /mnt/boot
# grub2-install --boot-directory=/mnt/boot /dev/sda
grub2-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.

Код

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.8.6-300.fc25.x86_64
Found initrd image: /boot/initramfs-4.8.6-300.fc25.x86_64.img
Found Windows Boot Manager on /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
Found Fedora release 25 (Twenty Five) on /dev/mapper/fedora-root
done

=((((((



0



Эксперт HardwareЭксперт WindowsАвтор FAQ

8446 / 2968 / 494

Регистрация: 14.04.2011

Сообщений: 7,361

27.06.2017, 06:23

10

Как я и предположил 7-ка установлена в UEFI режиме. Вы установили Федору с или на (как угодно) LVM, возможно использовали шифрование и чутка добавили трудностей. Сейчас у вас на диске два раздела EFI, чего быть не должно. Не каждый UEFI-BIOS «проглотит» два EFI раздела, возможно поэтому у вас не появляется GRUB. Пока два варианта приходят на ум. Первый это в UEFI-BIOS в разделе Boot поискать запись Fedora (не знаю, как она будет называться Fedora или по-другому) и поставить эту запись на первое место в загрузке, сохранить изменеия. Если такой записи нет, то возможно в BIOS есть возможность добавить EFI файл в ручную. Может называться типа Select an EFI file… Особенно это практикуется на ноутах Acer.
И второй вариант, это в Windows через программку Bootice https://www.cyberforum.ru/atta… 1424232707 (установки не требует, запускать от имени администратора) EFI -> Edit boot entries -> поискать запись Fedora и поднять её на первое место.

Добавлено через 9 минут
Забыл написАть. Это не ваш вариант восстановления GRUB ->

Цитата
Сообщение от Андрей1224
Посмотреть сообщение

Восстановить GRUB можно например так. Загрузиться с установочного диска флешки Fedora и в терминале выполнить
sudo mount /dev/sdaX — где Х номер корневого раздела
sudo grub2-install —root-directory=/mnt /dev/sda

О чём я тоже говорил ->

Цитата
Сообщение от Андрей1224
Посмотреть сообщение

Это если жесткий диск один и разметка на нём MBR.

У вас разметка диска GPT.



0



1 / 1 / 2

Регистрация: 17.05.2017

Сообщений: 39

27.06.2017, 14:38

 [ТС]

11

Ух ты, Спасибо! При установке Федора выбирал стандартный раздел, не шифровал. Зная свой БИОС наизусть, сразу перешёл ко второму варианту. Взгляните на эти скриншоты?



0



Эксперт HardwareЭксперт WindowsАвтор FAQ

8446 / 2968 / 494

Регистрация: 14.04.2011

Сообщений: 7,361

27.06.2017, 15:46

12

Если при установке Fedora выбирали стандартный раздел, то непонятно почему так получилось. Возможно при выборе разделов возвращались назад (отменяли изменения) или что-то другое, теперь уже не важно.
По скринам, как я и говорил у вас два раздела ESP (EFI), в Bootice это разделы № 1 и 4. В Bootice записи о Fedora нет, значит остаётся только в настройках UEFI-BIOS искать параметр о котором я писАл Select an EFI file.. или с похожим названием типа Add EFI file или что-то подобное. И если такой параметр найдёте, то в нём указать путь к загрузчику Fedora на разделе /sda5 (на пятом разделе).



0



1 / 1 / 2

Регистрация: 17.05.2017

Сообщений: 39

27.06.2017, 17:28

 [ТС]

13

Может проще будет переустановить? Или поставить каую-нибудь убунту? Она вроде легче.



0



Эксперт HardwareЭксперт WindowsАвтор FAQ

8446 / 2968 / 494

Регистрация: 14.04.2011

Сообщений: 7,361

27.06.2017, 19:07

14

Переустановить систему это верная мысль, только переустановить её нужно правильно. Я бы предложил такой вариант (я бы так делал). Загрузиться в Live CD Fedora, через Gparted удалить последние три раздела /dev/sda5, /dev/sda6, /dev/sda7 (если на /devsda7 есть нужная информация, то сначала перенести эту инфу на другой раздел). Затем на освободившемся месте создать раздел под корень Fedora и раздел подкачки, если нужен. Начать установку Fedora, выбрать Стандртный раздел. Для раздела /dev/sda2 (100 МБ) указать точку монтирования /boot/efi, галочку Форматировать НЕ ставить. Дальше для корневого раздела указать точку монтирования. Должно получиться: Новая установка
1. Раздел 100 МБ; /dev/sda2; точка монтирования /boot/efi
2. Раздел под корень; точка монтирования «/»
3. Раздел подкачки, если нужен.
Всё, устанавливать систему.

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



0



1 / 1 / 2

Регистрация: 17.05.2017

Сообщений: 39

28.06.2017, 18:52

 [ТС]

15

Ноутбук Lenovo B570e.

Добавлено через 21 час 52 минуты
Сделал как вы сказали. Появился выбор. Но теперь не Грузит Винду) тупо чёрный экран и нижнее подчёркивание в левом верхнем углу экрана. Как лечить?)

Добавлено через 1 час 30 минут

Код

Устр-во       начало     Конец   Секторы Размер Тип
/dev/sda1       2048    616447    614400   300M Среда для восстановления Microsoft
/dev/sda2     616448    821247    204800   100M EFI
/dev/sda3     821248   1083391    262144   128M Зарезервированный раздел Microsoft
/dev/sda4    1083392 567173119 566089728   270G Microsoft basic data
/dev/sda5  567173120 568172543    999424   488M EFI
/dev/sda6  568172544 906092543 337920000 161,1G Файловая система Linux
/dev/sda7  906092544 936812543  30720000  14,7G Файловая система Linux
/dev/sda8  936812544 947052543  10240000   4,9G Linux своп
/dev/sda9  947052544 973676543  26624000  12,7G Файловая система Linux



0



Эксперт HardwareЭксперт WindowsАвтор FAQ

8446 / 2968 / 494

Регистрация: 14.04.2011

Сообщений: 7,361

28.06.2017, 19:00

16

Лучший ответ Сообщение было отмечено Marinero как решение

Решение

Попробуйте загрузить Windows не через GRUB, а через Boot menu (F12). Там нужно выбрать Windows Boot Manager.

Вы предыдущее сообщение дополнили, сейчас посмотрю.

Добавлено через 6 минут
У вас опять лишний (второй) раздел EFI, /dev/sda5.



0



1 / 1 / 2

Регистрация: 17.05.2017

Сообщений: 39

28.06.2017, 20:32

 [ТС]

17

ок, попробую. /dev/sda5 удалить или он не помешает?



0



Эксперт HardwareЭксперт WindowsАвтор FAQ

8446 / 2968 / 494

Регистрация: 14.04.2011

Сообщений: 7,361

28.06.2017, 20:43

18

Лучший ответ Сообщение было отмечено Marinero как решение

Решение

Не нужно удалять /dev/sda5 возможно на нём находится загрузчик Fedora. Вообще Fedora загружается? А Windows через F12 грузится? В Windows через Bootice можно посмотреть на каком разделе находится загрузчик Fedora. Как в посте №11 скрин №3, выделите строку Fedora и посмотрите в Boot part путь к загрузчику (на каком разделе он находится).



0



1 / 1 / 2

Регистрация: 17.05.2017

Сообщений: 39

28.06.2017, 21:13

 [ТС]

19

Загрузился в Федору и сделал sudo dnf update и еще несколько команд отсюда, http://linux-faq.ru/page/10-op… orkstation

И , О чудо, Грузится и Win и Fedora. Браво! Спасибо)



1



Эксперт HardwareЭксперт WindowsАвтор FAQ

8446 / 2968 / 494

Регистрация: 14.04.2011

Сообщений: 7,361

29.06.2017, 09:14

20

Дополнение, на всякий случай.
В Федоре откройте программу Диски, выделите раздел /dev/sda2 и посмотрите смонтирован ли он в /boot/efi (в нижней строчке написано). Затем выделите раздел /dev/sda5 и посмотрите смонтирован ли он куда-нибудь. Если /dev/sda2 смонтирован в /boot/efi, а /dev/sda5 не смонтирован никуда, значит Fedora грузится с /dev/sda2 (как и должно быть и судя по всему у вас так и происходит), тогда /dev/sda5 можно удалить,т.к. он не задействован.



0



Оригинал: GRUB 2: Heal your bootloader

Автор: Mayank Sharma

Дата публикации: 10 сентября 2015 г.

Перевод: А. Панин

Дата перевода: 16 декабря 2015 г.

Существует не так много вещей, которые могут раздражать настолько сильно, насколько раздражает неработоспособность системного загрузчика. Именно поэтому мы будем учиться использовать по максимуму все возможности системного загрузчика GRUB 2, поддерживая его в рабочем состоянии.

Для чего это нужно?

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

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

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

Наиболее важным компонентом системного загрузчика GRUB 2 является набор из текстовых файлов а также нескольких сценариев командной оболочки. Первый компонент данного набора, с которым стоит познакомиться, расположен в директории /etc/default/grub. Это текстовый файл, с помощью которого вы можете устанавливать значения переменных конфигурации и других параметров меню GRUB 2 (обратитесь к разделу «Пользовательские параметры меню загрузки»).

Другой важной директорией, связанной с GRUB 2, является директория /etc/grub.d. В данной директории расположены все сценарии, формирующие описание каждого из элементов меню. Имена этих сценариев должны иметь префиксы, состоящие из двух цифр. Эти префиксы предназначены для установления порядка, в котором сценарии будут исполняться, а также порядка расположения соответствующих элементов в меню GRUB 2. В первую очередь осуществляется чтение файла 00_header, после чего происходит разбор файла конфигурации /etc/default/grub. После этого осуществляется формирование элементов меню для ядер Linux текущей системы с помощью сценария 10_linux. Данный сценарий создает один обычный элемент меню для загрузки для ядра Linux и один элемент меню для восстановления системы для этого же ядра Linux из раздела /boot.

Далее исполняются сценарии для поиска других операционных систем, такие, как 30_os-prober и 40_custom. Сценарий os-prober создает элементы меню для других ядер и других операционных систем, которые обнаруживаются на других разделах жестких дисков. Он способен распознать установленные системы Linux, Windows, BSD и Mac OS X. Если вы используете слишком экзотическую для сценария os-prober конфигурацию разделов вашего жесткого диска, препятствующую распознаванию установленного дистрибутива, вы можете добавить описание данного дистрибутива в сценарий 40_custom (обратитесь к разделу «Пользовательские элементы меню загрузки»).

GRUB 2 не требует ручного редактирования файлов конфигурации для изменения параметров загрузки системы: вместо этого он позволяет генерировать файл конфигурации /boot/grub/grub.cfg с помощью утилиты grub2-mkconfig. Данная утилита позволяет осуществлять разбор сценариев из директории /etc/grub.d, а также файла конфигурации /etc/default/grub для автоматического формирования описания параметров загрузки системы.

Восстановление работоспособности системного загрузчика в графическом режиме

Подавляющее большинство проблем, связанных с системным загрузчиком GRUB 2, может быть просто решено путем нажатия единственной кнопки приложения Boot Repair. Это изящное, простое приложение имеет интуитивный пользовательский интерфейс и позволяет сканировать и распознавать различные типы дисков и схем дисковых разделов, а также может выяснять расположение и корректно идентифицировать установленные в рамках этих разделов операционные системы. Утилита может работать как на обычных компьютерах с основными загрузочными записями (Master Boot Record, MBR), так и на новых компьютерах с UEFI и таблицами разделов GUID (GUID Partition Table, GPT).

Простейший способ использования утилиты Boot Repair заключается в ее установке в рамках Live-сессии дистрибутива Ubuntu. Запустите live-версию дистрибутива Ubuntu на машине с неработоспособным системным загрузчиком и установите приложение Boot Repair, в первую очередь добавив соответствующий репозиторий PPA с помощью команды:

sudo add-apt-repository ppa:yannubuntu/Boot Repair

После этого обновите список репозиториев с помощью команды:

Наконец, вы можете установить приложение с помощью команды:

sudo apt-get install -y Boot Repair

После окончания процесса установки вы сможете запустить приложение. Оно просканирует ваш жесткий диск перед отображением пользовательского интерфейса, который состоит из нескольких кнопок. Для выполнения предложенных приложением действий вы можете просто нажать на кнопку «Recommended Repair», которая позволит исправить большинство проблем, связанных с системным загрузчиком. После восстановления вашего системного загрузчика утилита выведет ссылку, которую следует запомнить. При переходе по этой ссылке вы сможете ознакомиться с детальной информацией о ваших дисках, включая их разделы, а также с содержимым важных файлов конфигурации GRUB 2, таких, как файлы из директории /etc/default/grub и файл /boot/grub/grub.cfg. Если приложению не удастся восстановить ваш системный загрузчик, вы сможете разместить данную ссылку на форуме вашего дистрибутива для того, чтобы посетители смогли ознакомится со схемой разделов вашего жесткого диска и дать полезные советы.

Приложение Boot Repair позволяет изменять параметры системного загрузчика

Приложение Boot Repair позволяет изменять параметры системного загрузчика

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

Проблемы, связанные с системным загрузчиком GRUB 2, могут привести систему в различные состояния. Текст, выводимый на экран вместо меню системного загрузчика, указывает на текущее состояние системы. В том случае, если система перестала загружаться с выводом приглашения grub>, можно сделать вывод о том, что были загружены модули GRUB 2, но не удалось загрузить файл конфигурации grub.cfg. Данное приглашение выводится в полнофункциональной командной оболочке системного загрузчика, с помощью которой вы можете выполнить достаточно много действий, направленных на загрузку системы. Если вы видите приглашение grub rescue>, то несложно сделать вывод о том, что системный загрузчик не может обнаружить свои модули, а также файлы с описанием параметров загрузки системы. Однако, в том случае, если на экране вашего компьютера выводится лишь слово ‘GRUB’, можно сделать неутешительный вывод о том, что системному загрузчику не удалось обнаружить даже базовую информацию, которая обычно хранится в основной загрузочной записи.

Вы можете исправить данные неполадки GRUB 2, воспользовавшись либо Live CD любого дистрибутива, либо командной оболочкой GRUB 2. Если вам повезет, и ваш системный загрузчик выведет приветствие grub>, вы сможете использовать всю мощь встроенной командной оболочки GRUB 2 для исправления любых ошибок.

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

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

Следующие команды будут работать как в случае вывода приглашения grub>, так и в случае вывода приглашения grub rescue>. Команда set pager=1 позволяет задействовать механизм прокрутки текста для предотвращения его автоматической прокрутки. Также вы можете использовать команду ls, которая позволяет вывести список всех видимых GRUB 2 разделов жесткого диска аналогичным образом:

grub> ls
(hd0) (hd0,msdos5) (hd0,msdos6) (hd1,msdos1)

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

Кроме того, вы можете использовать команду ls по отношению к каждому разделу жесткого диска для поиска раздела с вашей корневой файловой системой:

grub> ls (hd0,5)/
lost+found/  var/  etc/  media/  bin/  initrd.gz   
boot/  dev/  home/  selinux/  srv/  tmp/ vmlinuz

Вы можете отбросить идентификатор типа раздела msdos при записи имени раздела. Также в том случае, если вы пропустите слэш в конце имени раздела и выполните, к примеру, такую команду, как ls (hd0,5) вы получите информацию о разделе, включающую данные о типе файловой системы, ее общем размере и времени последней модификации. Если на вашем жестком диске создано несколько корневых разделов, вы можете прочитать содержимое файла /etc/issue с помощью команды cat с целью идентификации дистрибутива аналогичным образом: cat (hd0,5)/etc/issue.

Если предположить, что вы нашли нужную корневую файловую систему в разделе (hd0,5), вы должны убедиться в том, что данная файловая система содержит директорию /boot/grub и образ ядра Linux с именем, аналогичным vmlinuz-3.13.0-24-generic, который вы желаете загрузить. Теперь для загрузки системы вам остается ввести следующие команды:

grub> set root=(hd0,5)
grub> linux /boot/vmlinuz-3.13.0-24-generic root=/dev/sda5
grub> initrd /boot/initrd.img-3.13.0-24-generic

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

Ввод данных строк должен завершаться вводом после следующего приветствия grub> команды boot, инициирующей загрузку указанной операционной системы силами GRUB 2.

Вши действия должны немного отличаться в том случае, если вы столкнетесь с приветствием grub rescue>. Так как системный загрузчик не смог обнаружить и загрузить любой из необходимых модулей, вам придется загрузить их вручную:

grub rescue> set root=(hd0,5)
grub rescue> insmod (hd0,5)/boot/grub/normal.mod
grub rescue> normal
grub> insmod linux

Очевидно, что как и раньше после результативного использования команды ls для поиска корневого раздела Linux, вам придется отметить этот раздел с помощью команды set. Далее нужно загрузить модуль normal, после чего будет осуществлен возврат в стандартный режим с приветствием grub>. Следующая команда позволяет загрузить модуль linux в том случае, если он не был загружен автоматически. После загрузки данного модуля вы можете преступить к передаче системному загрузчику информации о расположении файлов образа ядра и начального образа диска и инициировать загрузку дистрибутива с помощью команды boot.

После успешной загрузки дистрибутива не стоит забывать о необходимости повторной генерации файла конфигурации GRUB 2 с помощью команды:

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

Вам также придется установить копию системного загрузчика в основную загрузочную запись с помощью команды:

sudo grub2-install /dev/sda

GRUB 2 и UEFI

Машины с прошивками UEFI (т.е., практически все машины, продающиеся в течение нескольких последних лет) добавили новый уровень сложности в процесс диагностики проблем системного загрузчика GRUB 2. Несмотря на то, что процедура восстановления работоспособности системного загрузчика GRUB 2, установленного на машине с прошивкой UEFI, не значительно отличается от процедуры восстановления работоспособности этого же загрузчика на машине без прошивки UEFI, в новые версии прошивок вносятся различные изменения, которые являются причиной различных результатов процесса восстановления работоспособности системного загрузчика.

В системах на основе UEFI вам не придется устанавливать что-либо в основную загрузочную запись. Вместо этого вы должны будете установить загрузчик Linux с поддержкой EFI в системный раздел EFI (EFI System Partition, ESP) и выбрать данный загрузчик в качестве используемого по умолчанию с помощью такого инструмента, как efibootmgr в Linux или bcdedit в Windows.

На данный момент системный загрузчик GRUB 2 должен корректно устанавливаться в процессе установки любого из популярных дистрибутивов Linux, что позволяет последнему успешно сосуществовать с ОС Windows 8. Однако, в том случае, если вы получите в результате неработоспособный системный загрузчик, вы сможете восстановить работоспособность системы с помощью live-образа дистрибутива Linux. В процессе загрузки live-образа дистрибутива вам следует убедиться в том, что вы осуществляете загрузку в режиме UEFI. Меню загрузки компьютера должно содержать по два элемента для каждого из съемных носителей — для загрузки в обычном режиме и в режиме UEFI. Используйте последний режим для организации доступа к переменным EFI посредством файлов из директории /sys/firmware/efi/.

Из live-окружения следует смонтировать корневую файловую систему неудачно установленного дистрибутива таким образом, как описано в данном руководстве. Вам также придется смонтировать системный раздел EFI (ESP). Если предположить, что данному разделу соответствует файл устройства /dev/sda1, то вы можете смонтировать данный раздел с помощью следующей команды:

sudo mount /dev/sda1 /mnt/boot/efi

После этого необходимо загрузить модуль ядра efivars с помощью команды modprobe efivars перед созданием окружения 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 из меню загрузки

Для деактивации сценария из директории /etc/grub.d вам нужно всего лишь убрать бит исполнения, с помощью команды, аналогичной команде chmod -x /etc/grub.d/20_memtest86+, которая позволяет убрать строку «Memory Test» из меню загрузки

Дружище, где мой GRUB?

Положительной чертой системного загрузчика GRUB 2 является возможность его переустановки при каждой необходимости. Таким образом, в том случае, если вы потеряете системный загрузчик GRUB 2, к примеру, после того, как ОС Windows заменит его на свой собственный загрузчик, вы сможете восстановить GRUB 2, выполнив несколько операций в live-окружении. Если предположить, что вы установили дистрибутив в раздел жесткого диска, представленный файлом устройства /dev/sda5, вы можете переустановить системный загрузчик GRUB 2, в первую очередь создав директорию для монтирования корневой файловой системы дистрибутива с помощью команды:

sudo mkdir -p /mnt/distro

После этого следует смонтировать файловую систему из этого раздела с помощью команды:

mount /dev/sda5 /mnt/distro

После этого вы сможете переустановить системный загрузчик GRUB 2 с помощью команды:

grub2-install --root-directory=/mnt/distro /dev/sda

Данная команда позволит перезаписать информацию в области основной загрузочной записи устройства /dev/sda, содержащего файловую систему установленного дистрибутива Linux, а также такие файлы системного загрузчика GRUB 2, как grubenv и device.map.

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

Перед выполнением данной команды следует убедиться в том, что разделы с корневыми файловыми системами установленных дистрибутивов, которые не представлены в меню загрузки, смонтированы. Если дистрибутив, который вы желаете добавить в меню загрузки, работает с файловыми системы /root и /home, расположенными на отдельных разделах жесткого диска, перед исполнением команды grub2-mkconfig следует смонтировать лишь файловую систему /root.

Хотя системный загрузчик GRUB 2 и может определять большинство дистрибутивов, попытка добавления в меню системного загрузчика записи для дистрибутива Fedora при работе с дистрибутивом Ubuntu требует одного дополнительного шага. Если вы использовали стандартные настройки в процессе установки дистрибутива Fedora, силами его установщика будут созданы разделы LVM. В этом случае перед вызовом сценария os-prober из комплекта поставки системного загрузчика GRUB 2 для добавления дистрибутива Fedora в меню загрузки вам в первую очередь придется установить драйвер lvm2 с помощью системы управления пакетами программного обеспечения дистрибутива, воспользовавшись аналогичной командой:

sudo apt-get install lvm2

Быстрое исправление

Если исполнение команды grub2-install не приводит к каким-либо положительным изменениям и вы не можете загрузить дистрибутив Linux, вам придется полностью переустановить и перенастроить системный загрузчик. Для выполнения этой задачи можно воспользоваться полезной утилитой chroot, которая позволяет временно заменить корневую директорию live-окружения на корневую директорию установленной системы Linux, работоспособность которой необходимо восстановить. Вы можете использовать для этой цели Live CD любого дистрибутива Linux, на котором присутствует утилита chroot. Однако, вам следует убедиться в том, что вы используете Live CD для той же архитектуры центрального процессора, что и установленный на жестком диске дистрибутив. Таким образом, если вы желаете использовать утилиту chroot для восстановления работоспособности 64-битной установленной системы, вам понадобится Live CD для 64-битных систем.

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

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

sudo mount /dev/sda5 /mnt

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

$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /dev/pts /mnt/dev/pts
$ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /sys /mnt/sys

Теперь вы можете покинуть live-окружение и перейти в окружение установленного на разделе, представленном файлом устройства /dev/sda5, дистрибутива с помощью утилиты chroot:

$ sudo chroot /mnt /bin/bash

Все готово для установки, проверки и обновления системного загрузчика GRUB 2. Как и ранее, для переустановки системного загрузчика следует использовать команду:

sudo grub2-install /dev/sda

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

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

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

$ exit
$ sudo umount /mnt/sys 
$ sudo umount /mnt/proc
$ sudo umount /mnt/dev/pts
$ sudo umount /mnt/dev 
$ sudo umount /mnt

После этого вы можете безопасно перезагрузить машину, которая должна вновь вернуться под контроль системного загрузчика GRUB 2, находящегося под вашим полным контролем!

Пользовательские параметры меню загрузки

Системный загрузчик GRUB 2 использует большое количество конфигурационных переменных. В данном разделе описаны некоторые из этих переменных, которые вы скорее всего захотите модифицировать в процессе рассмотрения содержимого файла конфигурации /etc/default/grub. Переменная GRUB_DEFAULT позволяет указать элемент меню загрузки, который будет выбран по умолчанию. в качестве ее значений могут использоваться числа, такие, как число 0, соответствующее первому элементу меню, а также строка «saved» позволяющая автоматически выбирать элемент меню, использованный в процессе прошлой загрузки компьютера. Переменная GRUB_TIMEOUT позволяет задать длительность периода ожидания перед загрузкой с использованием выбранного по умолчанию элемента меню, а переменная GRUB_CMDLINE_LINUX позволяет задать список параметров, который будет передаваться каждому из ядер Linux при использовании соответствующих элементов меню загрузки.

В том случае, если переменная GRUB_DISABLE_RECOVERY имеет значение true, элементы меню загрузки для восстановления системы не будут генерироваться. Эти элементы позволяют загружать дистрибутивы в однопользовательском режиме, в котором вы можете использовать любые доступные инструменты с интерфейсом командной строки для восстановления системы. Еще одной полезной переменной является переменная GRUB_GFXMODE, позволяющая задать разрешение экрана, которое будет установлено при показе меню загрузки. В качестве значения данной переменной может использоваться любое описание разрешения, поддерживаемого вашей графической картой.

Пользовательские элементы меню загрузки

Если вы желаете добавить элемент в меню вашего системного загрузчика, вы должны добавить соответствующий станс в сценарий с именем 40_custom. Вы можете использовать данный элемент меню загрузки, к примеру, для загрузки дистрибутива Linux, установленного на съемном диске с интерфейсом USB. Если предположить, что раздел с дистрибутивом на вашем съемном диске с интерфейсом USB представлен файлом устройства /dev/sdb1, а файл образа ядра vmlinuz и файл initrd находятся в поддиректории корневой директории (/), вам придется добавить следующий станс в файл сценария 40_custom:

menuentry "Linux on USB" { 
set root=(hd1,1) 
linux /vmlinuz root=/dev/sdb1 ro quiet splash 
initrd /initrd.img 
}

Для лучшей совместимости вы можете использовать идентификатор UUID раздела жесткого диска вместо идентификаторов устройства и раздела следующим образом:

set root=UUID=54f22dd7-eabe

Воспользуйтесь командой sudo blkid для получения всех идентификаторов UUID присоединенных к системе жестких дисков и их разделов. Аналогичным образом вы можете добавить в меню загрузки записи, соответствующие любым идентифицированым сценарием os-prober, но установленным на жестком диске дистрибутивам, конечно же, если вы знаете о том, на каком диске установлен каждый из дистрибутивов и по какому пути находятся его файлы образа ядра и образа начальной файловой системы.

Если вам понравилась статья, поделитесь ею с друзьями:


Установили Windows, и она затерла Вам загрузчик Grub? Не проблема, его можно легко восстановить с помощью этого руководства.

Нам понадобится загрузочный диск с любым Linux (например Ubuntu) и 10 минут свободного времени.

В зависимости от дистрибутива в системе может использоваться Grub, или Grub 2.

Восстановление Grub (старая версий)

Старую версию Grub использует Mandriva, Fedora, и ряд других дистрибутивов. Чтобы его восстановить делаем следующие действия:
1. Загружаемся с загрузочного компакт-диска (или флешки) и открываем терминал.
2. Запускаем в терминале консоль Grub:
sudo grub
3. Указываем корневой раздел, на котором находятся рабочие файлы Граба:

grub> root (hd0,4)
Filesystem type is ext2fs, partition type 0x83

hd0 обозначает номер жесткого диска в системе, а 0 — номер раздела на нем. Если не знаете на каком разделе находятся рабочие файла Grub, то можно воспользоваться командой

find:
grub> find /boot/grub/menu.lst
(hd0,4)

Результат ее работы пишем в параметрах к команде root.
4. Восстанавливаем загрузчик с помощью команды setup:

grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 17 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,4)/boot/grub/stage2 /boot/grub/menu.lst"... succe
eded
Done.

В качестве параметра команде пишем hd0, так как в подавляющем большинстве случаев загрузка компьютера начинается именно с этого диска.
5. Перезагружаемся и наслаждаемся результатом!

Восстановление Grub 2 (новая версия)

Grub 2 используется в Ubuntu и всех дистрибутивах на базе Ubuntu.
1. Загружаемся с загрузочного компакт-диска (или флешки) и открываем терминал.
2. Ищем раздел, на котором находятся рабочие файлы Grub 2. Для этого поочередно монтируем все разделы на дисках и ищем на них папку /boot/grub.
3. Восстанавливаем загрузчик с помощью программы grub-install. открываем терминал и командуем:
sudo grub-install --root-directory=/media/disk_with_boot_grub/ /dev/sda
Здесь вместо /media/disk_with_boot_grub/ указываем путь, куда был смонтирован раздел, который был найден на предыдущем шаге.
4. Все готово, перезагружаемся и пользуемся.

Понравилась статья? Поделить с друзьями:
  • Ворлд 2008 скачать бесплатно для windows 10
  • Восстановить efi загрузку windows 10 после замены материнской платы
  • Восстановить dll файлы windows 10 программа
  • Ворлд 2007 скачать бесплатно для windows 10 на русском
  • Восстановить desktop ini на windows 10