Некоторым для работы нужно использовать на своем ПК одновременно Linux и Windows, а для их установки нужно иметь специальный загрузчик – grub. Но с данным приложением могут произойти различные сбои, поэтому предлагаем узнать, как самостоятельно можно восстановить работу загрузчика grub.
Что такое grub
Для начала следует четко понимать, что же такое grub. Это один из проектов GNU, который разработан с целью установки нескольких операционных систем на свой ПК, который каждый раз при включении предлагает выбрать нужную ОС.
Именно данный загрузчик считается эталонным, ведь он соответствует спецификации Multiboot и позволяет загрузить любую из операционных систем с ней совместимых. Кроме этого загрузчик способен цепочкой передать управление другому подобному приложению, с помощью чего расширяется список ОС, которые можно установить на своем устройстве.
Но загрузчик grub также подвержен некоторым проблемам и поломкам. Так, одной из самых частых причин поломки загрузчика является неправильно выбранный установочный порядок двух ОС:
- Windows.
- Linux.
Для правильной работы эти ОС устанавливаются именно в таком порядке, как указанно выше. Иначе grub повредится и система начнет загружаться сразу в Windows, а вот Линукс и вовсе станет недоступным для работы.
Также к не менее распространенным причинам поломки grub следует отнести:
- самостоятельную корректировку параметров запуска неопытными пользователями;
- некорректную установку системы, переустановку Windows 7, 8, 10 или Linux;
- использование других дистрибутивов;
- переразметку.
При возникновении поломок не спешите заниматься переустановкой систем в полном объеме. Для нормализации работы достаточно будет заняться восстановлением grub.
Использование терминала
Итак, столкнувшись с проблемой, незамедлительно следует заняться восстановлением загрузчика grub. Предлагаем для начала разобраться с двумя самыми известными способами.
Используем терминал
Для начала следует подготовить флешку, на которую необходимо заранее установить Etcher. После этого подключаем носитель в неисправный компьютер и перезагружаем его. Открывается Live-система, запускаем терминал и запускаем таблицу разделов при помощи команды:
sudofdisk -1
Вот что должно появиться на экране:
/dev/sda1 27683 66999082+ 83 Linux /dev/sda2 * 8450 13995 45430855 7 HPFS/NTFS /dev/sda3 11885 16574 6503497 5 Extended
Теперь можно понять где расположена система. Следующим этапом приступаем к монтированию раздела на mnt:
sudo mount /dev/sda1 /mnt
Самое время записать grub в MBR посредством команды:
sudo grub-install –root-directory=/mnt /dev/sda
Следующая команда предназначена для обновления меню груб-загрузчика:
sudo update-grub – output=/mnt/boot/grub/grub.cfg
Придерживаясь всех инструкций операция пройдет достаточно быстро.
Применение chroot
Кроме LiveCD помочь может утилита chroot и таблица разделов. Начинаем с команды:
sudo fdisk -1
Появится такая таблица:
/dev/sda1 27683 66999082+ 83 Linux /dev/sda2 * 8450 13995 45430855 7 HPFS/NTFS /dev/sda3 11885 16574 6503497 5 Extended
Теперь монтируем разделы:
sudo mount /dev sda1 /mnt sudo mount - - bind /dev /mnt/dev sudo mount - - bind /proc /mnt/proc sudo mount - - bind /sys /mnt/sys
Если разделы /boot или /var размещены по отдельности, то их надо примонтировать в /mnt/boot и /mnt/var.
После этого перейдите в окружение chroot:
sudo chroot /mnt
После выполнения всех вышеуказанных пунктов занимаемся переустановкой Grub:
grub-install /dev/sda
При ошибке системы применяется команда:
grub-install - - recheck /dev/sda
Или:
grub-install - - recheck - - no-floppy /dev/sda
Когда все получиться выходим из утилиты используя следующую команду:
exit
Затем вводим в терминале следующие команды для монтирования всех разделов:
sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys sudo umount /mnt
При монтаже /boot применяйте такую команду:
sudo umount /mnt/boot
Перезагрузите систему при помощи:
sudo reboot
Примените указанную ниже опцию, чтобы обновить загрузчик:
sudo update-grub
Утилита восстановления Boot
Если предыдущие методы не подошли, то можно использовать утилиту Boot.
Для этого:
- Запускаем со съемного носителя Ubuntu, проверить наличие активного интернет-соединения.
- Находим терминал и по очереди запускаем такие команды:
sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install boot-repair
- Включаем утилиту в опции «Восстановление загрузчика».
- Затем жмем «Рекомендуемые способы восстановления». Нужно подождать пока процедура закончится.
После этого должна восстановиться нормальная работа системы.
Rescue mode
Процесс восстановления в режиме grub rescue происходит в несколько этапов.
Загрузите все модули, чтобы доступ к функциям системы открылся.
Rrescue mode имеет четыре команды:
- ls;
- set;
- unset;
- insmod.
Сначала включаем первую:
ls
После этого на экране появится подобное:
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)
Иногда система Grub неверно определяет файловые системы на дисках. Попытайтесь угадать диски, которые видите. Это не составит труда зная их структуру.
В примере видно, что загрузчик показывает их как msdos, где два доступных диска. На первом три раздела, а на втором два.
Обычно загрузчик нумерует разделы в обратном порядке. Чтобы было понятнее используйте вид hd0,1. Если в Grub отсчет разделов идет с 1, а дисков с 0, то сразу будет понятно в какой раздел установлена операционная система. Применяем следующую команду:
set prefix-(hd0,1)boot/grub set root-(hd 0,1)
Так система будет использовать конкретный диск для выполнения всех предыдущих операций. Для проверки наличия загрузчика на данном диске выполняем следующие действия:
ls /boot/grub
О том, что все сделано правильно подскажет появление списков и папок.
Для загрузки всех необходимых модулей выполните команды:
insmod ext2 insmod normal normal
После этого система будет работать в полноценном режиме.
Для закрепления результата зайдите в терминал Linux и с root-правами выполните следующую команду:
grub-install / dev/sdX
sdX — диск, на который должен быть установлен Grub.
При расположении ОС в разделе btrfs выполните другое действие:
set prefix-(hd0,1)/@/boot/grub set root-(hd 0,1)
Затем подгрузите модули:
insmod btrfs insmod normal
И запустите Grub:
normal
Данная утилита позволяет запускать систему быстро и без проблем.
Через командную строку
Бывает, что повреждения не очень серьезные, но система не запускает все программы. В таком случае появляется следующее сообщение: Minimal BASH like line editing is supported. В этом случае загрузить Ubuntu можно с помощью командной строки.
Обязательно нужно знать на каком винчестере находится ядро и система. Для выполнения задачи необходимо последовательно выполнить несколько пунктов:
- Задать команду ls. (Это необходимо для того, чтобы отсканировать диски и разделы. После этого будет выведен список жестких дисков и тип их файловой системы.)
- Выбрать раздел, с которым будем работать.
- Запустить оболочку Grub, ядро Linux, систему boot.
- Открыть терминал и выполнить следующие команды сразу после того как откроется Ubuntu:
sudo Grub2-install /dev/sda sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg
- Для исправной и регулярной работы перезапустите устройство.
Grub не видит Windows 10
Существует несколько причин по которым возникает эта проблема. Чаще всего это неисправная работа os-prober или размещение системы на другом жестком диске.
В первую очередь нужно сделать так, чтобы программа увидела раздел. Затем переместите его в другую папку:
$ sudo mount -t ntfs-3g -o ro /dev/sda1
Запустите утилиту os-prober.
После обнаружения Windows обновите конфигурацию загрузчика. Одним из этих способов:
- $ sudo update-grub;
- $ sudo grub2-mkconfig -0 /boot/grub/grub.cfg;
Бывает, что это не помогает. Тогда нужно внести пункт меню Windows вручную. Это процедура займет немного больше времени, но будет эффективнее.
Необходимо узнать UUID диска, на котором установлена Windows и выполнить такое действие:
$ blkid /dev/sda1
Потом нужно открыть окно /etc/grub.d/40_custom и добавить туда нижеуказанный код:
$ enuentry “Windows 10” { insmod ntfs set root= ‘(hd0,1)’ search -- no-floppy -- fs-uuid set B4A6AEB7A6AE7A0E chainloader +1 }
При помощи следующей команды произойдет обновление конфигурации:
$ sudo update-grub
Восстановление grub после установки Windows
Чтобы восстановить загрузчик grub нужно загрузится с LiveDVD, открыть терминал и выполнить команду:
sudo fdisk -1
После этого система делится на шесть ячеек.
Для установки груб прикрепите корневой раздел Ubuntu:
sudo mount /dev/sda5 /mnt
Используйте в терминале нижеуказанное действие, чтобы записать grub в загрузки:
sudo grub-install --root-directory=/mnt /dev/sda
Затем перезагрузите компьютер:
sudo reboot
Не смотря на то, что процесс восстановления grub кажется сложным, он очень простой и не требует особенных знаний. Достаточно просто хорошо изучить инструкцию и следовать всем пунктам.