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.
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
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.
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 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
Пример вывода команды:
В моем случае мы видим 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 может быть примерно следующим:
Нам нужно определить, на каком разделе установлен Linux (корневой раздел), а также определить EFI-раздел. В моем случае это разделы: /dev/nvme0n1p5 и /dev/nvme0n1p1, которые расположены на диске /dev/nvme0n1.
Монтирование разделов
Примонтируем корневой раздел. Выполняем команду (вместо /dev/sda2 вы должны указать свой раздел):
sudo mount /dev/sda2 /mnt
Мы примонтировали раздел /dev/sda2 в директорию /mnt.
Если для загрузчика у вас выделен отдельный раздел, то нужно примонтировать еще и его (вместо /dev/sdX укажите ваш boot-раздел):
sudo mount /dev/sdX /mnt/boot
Теперь можно посмотреть содержимое директории /mnt, чтобы убедиться, что мы примонтировали верный раздел:
ls /mnt
Вывод команды должен быть примерно следующим. Обратите внимание есть ли в этом списке каталог /boot, так как именно в нем установлен GRUB.
Также можно проверить, что директория boot не пустая:
ls /mnt/boot
У меня вывод команды выглядит следующим образом. Обратите внимание на присутствие каталога с именем grub.
Далее нужно создать ссылки на несколько директорий, к которым 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
Монтирование EFI-раздела
Если у вас используется UEFI, то еще нужно примонтировать EFI-раздел в директорию /mnt/boot/efi (выше я указал пример вывода команды fdisk -l в котором показан EFI-раздел):
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
Выполняем chroot на /mnt
На предыдущем шаге мы смонтировали все необходимые директории в директорию /mnt. Теперь переключимся (выполним chroot) на данную директорию. Выполняем команду:
sudo chroot /mnt
Генерация файла конфигурации GRUB
Данный шаг нужно выполнять не всем. Если у вас был установлен GRUB и вы уверены, что его конфигурация верная, то можно перейти к следующему шагу.
Для генерации файла конфигурации GRUB используется команда update-grub. Данная команда автоматически определяет файловые системы на вашем компьютере и генерирует новый файл конфигурации. Выполняем команду:
sudo 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
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 Восстановление Grub 20 |
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 |
2732 / 1428 / 89 Регистрация: 08.09.2011 Сообщений: 3,746 Записей в блоге: 1 |
|
26.06.2017, 13:59 |
4 |
значит что-то не так поставили
0 |
Модератор 2792 / 2035 / 682 Регистрация: 02.03.2015 Сообщений: 6,509 |
|
26.06.2017, 15:00 |
5 |
GRUB надо ставить на диск, а не раздел (на
в любом случае Вам необходимо восстанавливать grub
0 |
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 |
8446 / 2968 / 494 Регистрация: 14.04.2011 Сообщений: 7,361 |
|
26.06.2017, 18:44 |
8 |
Сделать вот так ->
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 |
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. Добавлено через 9 минут
Восстановить GRUB можно например так. Загрузиться с установочного диска флешки Fedora и в терминале выполнить О чём я тоже говорил ->
Это если жесткий диск один и разметка на нём MBR. У вас разметка диска GPT.
0 |
1 / 1 / 2 Регистрация: 17.05.2017 Сообщений: 39 |
|
27.06.2017, 14:38 [ТС] |
11 |
Ух ты, Спасибо! При установке Федора выбирал стандартный раздел, не шифровал. Зная свой БИОС наизусть, сразу перешёл ко второму варианту. Взгляните на эти скриншоты?
0 |
8446 / 2968 / 494 Регистрация: 14.04.2011 Сообщений: 7,361 |
|
27.06.2017, 15:46 |
12 |
Если при установке Fedora выбирали стандартный раздел, то непонятно почему так получилось. Возможно при выборе разделов возвращались назад (отменяли изменения) или что-то другое, теперь уже не важно.
0 |
1 / 1 / 2 Регистрация: 17.05.2017 Сообщений: 39 |
|
27.06.2017, 17:28 [ТС] |
13 |
Может проще будет переустановить? Или поставить каую-нибудь убунту? Она вроде легче.
0 |
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, галочку Форматировать НЕ ставить. Дальше для корневого раздела указать точку монтирования. Должно получиться: Новая установка На счёт установки другой системы ничего не скажу, вы сами решайте какая система вам нужна. Модель ноутбука напишите.
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 |
8446 / 2968 / 494 Регистрация: 14.04.2011 Сообщений: 7,361 |
|
28.06.2017, 19:00 |
16 |
РешениеПопробуйте загрузить Windows не через GRUB, а через Boot menu (F12). Там нужно выбрать Windows Boot Manager. Вы предыдущее сообщение дополнили, сейчас посмотрю. Добавлено через 6 минут
0 |
1 / 1 / 2 Регистрация: 17.05.2017 Сообщений: 39 |
|
28.06.2017, 20:32 [ТС] |
17 |
ок, попробую. /dev/sda5 удалить или он не помешает?
0 |
8446 / 2968 / 494 Регистрация: 14.04.2011 Сообщений: 7,361 |
|
28.06.2017, 20:43 |
18 |
РешениеНе нужно удалять /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 |
8446 / 2968 / 494 Регистрация: 14.04.2011 Сообщений: 7,361 |
|
29.06.2017, 09:14 |
20 |
Дополнение, на всякий случай.
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 позволяет изменять параметры системного загрузчика
Восстановление системного загрузчика
Проблемы, связанные с системным загрузчиком GRUB 2, могут привести систему в различные состояния. Текст, выводимый на экран вместо меню системного загрузчика, указывает на текущее состояние системы. В том случае, если система перестала загружаться с выводом приглашения grub>
, можно сделать вывод о том, что были загружены модули GRUB 2, но не удалось загрузить файл конфигурации grub.cfg
. Данное приглашение выводится в полнофункциональной командной оболочке системного загрузчика, с помощью которой вы можете выполнить достаточно много действий, направленных на загрузку системы. Если вы видите приглашение grub rescue>
, то несложно сделать вывод о том, что системный загрузчик не может обнаружить свои модули, а также файлы с описанием параметров загрузки системы. Однако, в том случае, если на экране вашего компьютера выводится лишь слово ‘GRUB’, можно сделать неутешительный вывод о том, что системному загрузчику не удалось обнаружить даже базовую информацию, которая обычно хранится в основной загрузочной записи.
Вы можете исправить данные неполадки GRUB 2, воспользовавшись либо Live CD любого дистрибутива, либо командной оболочкой GRUB 2. Если вам повезет, и ваш системный загрузчик выведет приветствие grub>
, вы сможете использовать всю мощь встроенной командной оболочки GRUB 2 для исправления любых ошибок.
Системный загрузчик 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» из меню загрузки
Дружище, где мой 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. Все готово, перезагружаемся и пользуемся.