- Recover GRUB
- Standard procedure
- Troubleshooting : ‘grub-install /dev/sda’ failed.
- ¶ Загрузчик GRUB в Debian/Ubuntu Linux
- ¶ Ошибка GRUB Rescue
- ¶ Восстановление загрузчика grub через Live CD
- Как восстановить загрузчик Grub в Linux
- Восстановление GRUB в Ubuntu и Debian
- Восстановление GRUB в Arch Linux
- Восстановление GRUB на Fedora
- Часто задаваемые вопросы
- Можно ли восстановить GRUB , если моя система использует LVM ?
- Восстановление GRUB сотрет другие операционные системы на моем диске?
- Можно ли переустановить GRUB на системе UEFI ?
Recover GRUB
Imagine for any reason you have any other OS installed next to Debian. And for any reason you need to reinstall it because is really broken. Again, imagine that OS has a crappy installation and overwrites the disk MBR or GPT to own the full computer. What’s next? Reinstall Debian? No.
In any case, you can use SuperGRUB, a boot utility that can restore and repair overwritten and misconfigured GRUB installs or directly boot various operating systems.
Standard procedure
The Debian Installer (DVD, netinst CD, floppy, netboot, etc.) can be used to rescue systems, for example if they fail to boot after an upgrade. You should read and follow the instruction «Recovering a Broken System» section of the Installation Guide 1 .
Troubleshooting : ‘grub-install /dev/sda’ failed.
If D-I’s «Reinstall GRUB boot loader» option fails, with error message
Unable to install GRUB in /dev/sda Executing 'grub-install /dev/sda' failed. This is a fatal error.
Also, the d-i log console (Alt-F4) displays
grub-installer: /dev/scsi/host0/bus0/target0/lun0/disc does not have any corresponding BIOS Drive
You can still use the following method to reinstall GRUB. Choose «Execute a shell in Your root partition» in the d-i rescue menu.
Locate your root partition :
fdisk -l Disk /dev/sda: 39.9 GB, 39996820992 bytes 255 heads, 63 sectors/track, 4862 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 111 891576 7 HPFS/NTFS /dev/sda2 167 230 514080 82 Linux swap /dev/sda3 231 784 4450005 83 Linux /dev/sda4 785 4862 32756535 f W95 Ext'd (LBA) /dev/sda5 785 4862 32756503+ 83 Linux
Reinstall GRUB bootloader (grub manual)
If you have grub-legacy 2 and your root partition is /dev/sda3 then you can re-install grub in the MBR of your hard drive by typing the following commands :
sudo grub grub>root (hd0,2) grub>setup (hd0) grub>quit exit
Note that in grub-legacy (hd0,2) is the third partition.
Then choose «Reboot the system», everything should be fine.
- http://www.debian.org/releases/ on that page click on the used release > click the link «Installation Guide» > click the link for the used architecture (1)
- If you have stage1, stage2 and menu.lst files in /boot/grub/ then you probably have a working grub-legacy. If you have several *.mod files and a grub.cfg file in /boot/grub/ then you have the new grub. (2)
¶ Загрузчик GRUB в Debian/Ubuntu Linux
В операционных системах Debian/Ubuntu используется загрузчик grub.
¶ Ошибка GRUB Rescue
Иногда может возникнуть ситуация, что загрузчик неверно сконфигурирован, например при обновлении ядра не была изменена конфигурация, система не загружается, выдавая приглашение ко вводу grub rescue> .
Что же делать в этом случае? Ответ дальше.
Для вывода всех доступных команд наберите:
Просмотр доступных дисков:
В ответе можно увидеть все доступные диски, например так:
(hd0) (hd0,msdos1) (hd0,msdos2)
что означает, что есть один диск и на нем два раздела.
Необходимо отыскать на дисках директорию /boot/grub и убедиться, что в ней присутствует файл grub.cfg
ls (hd0,msdos1)/ ls (hd0,msdos2)/ ls (hd0,msdos2)/boot/grub/
Установим префикс для загрузчика и корневой раздел:
set prefix=(hd0,msdos2)/boot/grub set root=(hd0,msdos2)/boot/grub
Установим модуль файловой системы и режима работы normal и запустим загрузку:
insmod ext2 insmod normal normal
Появится стандартное окно выбора операционных систем и начнется загрузка.
После загрузки необходимо установить grub и выполнить поиск и обновление списка операционных систем:
grub-install /dev/sda update-grub
¶ Восстановление загрузчика grub через Live CD
В случае, если предыдущий вариант не помог, то можно попробовать загрузиться с Live CD и выполнить следующее:
Примонтировать диск сломанной операционной системы, перейти в него и установить grub.
Посмотреть список доступных разделов:
fdisk -l > Device Boot Start End Sectors Size Id Type > /dev/sda1 * 63 2097150 2097088 1024M 83 Linux > /dev/sda2 16193457 1677721599 1661528143 792.3G f W95 Ext'd (LBA) > /dev/sda5 16193520 1677721599 1661528080 792.3G 83 Linux
На этом примере sda5 — корневая файловая система и sda1 — директория /boot
Подключаем все в директорию /mnt точно так, как это работало на ремонтируемой операционной системе:
mount -t ext4 /dev/sda5 /mnt mount -t ext4 /dev/sda1 /mnt/boot
Делаем ссылки на необходимые для grub директории
mount --bind /dev /mnt/dev mount --bind /dev/pts /mnt/dev/pts mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys
grub-install /dev/sda grub-install --recheck /dev/sda update-grub
Отключаем в обратном порядке
exit cd / umount /mnt/sys umount /mnt/proc umount /mnt/dev/pts umount /mnt/dev umount /mnt
Как восстановить загрузчик Grub в Linux
Большой унифицированный загрузчик GRUB – это мощная и гибкая утилита, которая связывает BIOS материнской платы с ядром операционной системы. Она работает путем загрузки небольшой программы в память материнской платы, которая используется для загрузки более крупного двоичного файла мультизагрузки.
Но бывают случаи, когда GRUB не может загрузить ядро операционной системы. Например, двойная загрузка с Linux и Windows часто приводит к тому, что последняя стирает загрузчик. В этом руководстве показано, как можно восстановить систему, переустановив GRUB , используя некоторые из наиболее популярных дистрибутивов Linux.
Восстановление GRUB в Ubuntu и Debian
Одним из самых быстрых способов переустановки GRUB в Ubuntu и Debian является загрузка живой копии любого из этих дистрибутивов. Это позволит вам подключить корневой раздел вашей системы и использовать исполняемые файлы GRUB дистрибутива для воссоздания загрузчика вашей системы.
Примечание: когда вы загрузитесь с живого USB , нажмите «Try Ubuntu» для доступа к рабочему столу. Не нажимайте «Установить Ubuntu.»
- Откройте терминал в среде дистрибутива.
sudo fdisk -l | grep "Linux filesystem$"
sudo grub-install --force --boot-directory=/mnt/ /dev/sda1
Совет: хотя переустановка GRUB исправит большинство проблем с мультизагрузкой, новичкам может показаться сложной командная строка. В связи с этим, вы также можете исправить GRUB с помощью графической утилиты Boot Repair Utility.
Восстановление GRUB в Arch Linux
Наряду с Ubuntu и Debian, для восстановления загрузчика можно использовать живую копию Arch Linux. Одним из преимуществ этого является то, что живой Arch Linux не полагается на графическое отображение, поэтому вы можете легко восстановить GRUB даже на машинах по SSH .
- Определите корневой раздел вашей системы с помощью lsblk:
mount --bind /sys /mnt/sys mount --bind /proc /mnt/proc mount --bind /run /mnt/run mount --bind /dev /mnt/dev
/sbin/grub-install --target=i386-pc /dev/sda
/sbin/grub-mkconfig > /boot/grub/grub.cfg
Нажмите Ctrl + D , чтобы выйти из корневой сессии вашей системы.
Восстановление GRUB на Fedora
Подобно Ubuntu и Debian, восстановление Grub на Fedora также просто.
#Найдите корневой раздел вашей машины:
sudo fdisk -l | grep "Linux filesystem$"
- Смонтируйте корневой раздел вашей системы и создайте связующее монтирование между ним и вашей живой сессией:
sudo mount /dev/sda3 /mnt sudo mount --bind /sys /mnt/root/sys sudo mount --bind /proc /mnt/root/proc sudo mount --bind /run /mnt/root/run sudo mount --bind /dev /mnt/root/dev
sudo chroot /mnt/root bash mount /dev/sd3 / mount /dev/sda2 /boot
rm -f /etc/grub.d/* rm -f /etc/sysconfig/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install --target=i386-pc /dev/sda
Часто задаваемые вопросы
Можно ли восстановить GRUB , если моя система использует LVM ?
Да. Вы можете восстановить GRUB , даже если ваша система использует LVM . Для этого выполните ls /dev/mapper/*—vg-root , чтобы определить абсолютный путь к корневому разделу вашей машины. Используйте этот абсолютный путь вместо традиционного «/dev/sda1.»
Восстановление GRUB сотрет другие операционные системы на моем диске?
Нет. Загрузчик, по своей конструкции, знает, где найти только первые несколько байт ядра операционной системы. Замена загрузчика не повлияет на существующую на диске операционную систему.
Можно ли переустановить GRUB на системе UEFI ?
Да. Для этого вам нужно убедиться, что вы правильно смонтировали раздел «/boot/efi» вашей системы UEFI . Вам также нужно изменить значение флага —boot-directory в grub-install на «/boot/efi».
Для Fedora, вам также нужно изменить значение флага -o для grub2-mkconfig на /boot/efi/EFI/fedora/grub.cfg
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.