- Что такое Grub и из-за чего он может повреждаться
- Через терминал с загрузочного носителя
- Способ 1
- Способ 2.
- Делаем загрузчик GRUB загрузчиком по умолчанию
- Шаг 1 – Запускаем менеджер загрузки
- Шаг 2 – Запускаем UEFI Shell
- Шаг 3 – Входим в файловую систему загрузочного раздела
- Шаг 4 – Переименовываем текущий загрузочный файл
- Шаг 5 – Копирование файла загрузчика GRUB
- Восстановление Grub2 с помощью LiveCD
- Шаг 1. Загрузка LiveCD
- Шаг 2. Определение разделов
- Шаг 3. Монтирование файловой системы
- Шаг 5. Вход в окружение системы
- Шаг 6. Восстановление Grub2
- Шаг 7. Готово
- Восстановление Grub в rescue mode
- Почему не загружается GRUB?
- Открываем терминал
- От чего могут возникнуть проблемы
- Через утилиту восстановления загрузчика
- Удаление Grub на Windows 10
- При восстановлении ОС
- Загрузка в Live-режиме
Что такое Grub и из-за чего он может повреждаться
После установки Linux на жесткий диск вашего компьютера все файлы копируются в отдельные папки. В некоторых каталогах хранятся файлы общего программного обеспечения, которые можно безопасно удалить. В другие записываются файлы, без которых операционная система работать не будет. Сюда входят ядро Linux, графическая оболочка и загрузчик Grub. Именно последний используется для запуска установленной операционной системы. Как это произошло?
В специальном загрузочном разделе система создает основную загрузочную запись. Английская аббревиатура выглядит как MBR и расшифровывается как Master Boot Record. Когда компьютер загружается, BIOS обращается к этой записи, затем Grub вступает во владение, а когда все хорошо, загружается Linux. А если загрузчик поврежден, то при загрузке будет ошибка и система не загрузится.
По каким причинам это может происходить? Подавляющее большинство случаев связано с тем, что после установки Linux в качестве первой системы вы устанавливаете Windows в качестве вторичной. Microsoft традиционно не любит Linux, поэтому установщик Windows удаляет Grub Linux. Такая же проблема может возникнуть при неправильной установке самого Linux, при переходе на другой дистрибутив или из-за переразметки диска.
Самое главное, о чем нужно подумать, это то, что вам не нужно думать о переустановке всей системы сразу. Просто восстановите Grub и все будет работать как раньше. Перейдем к рассмотрению наиболее эффективных методов, доступных даже неопытным пользователям.
Через терминал с загрузочного носителя
Для этого вам понадобится загрузочная флешка или диск с записанным дистрибутивом Linux. В идеале она должна быть похожа на систему, установленную на жестком диске. Впрочем, если набор дистрибутивов не является самым важным моментом, разрядность все равно должна совпадать. В противном случае это чревато еще большими последствиями, в результате которых вам обязательно придется все переустанавливать.
- Вставьте флешку или диск в разъем компьютера, затем установите носитель в качестве приоритета загрузки в BIOS. Необходимая настройка находится в разделе «Приоритет загрузочного устройства» или «Первое загрузочное устройство». Чтобы запустить БИОС, при включении нажмите нужную кнопку или их комбинацию на клавиатуре. Самые популярные варианты — F2, Del, Shift+F2, F10. Чтобы не связываться с биосом, можно просто нажать F11 или F12 и выбрать носитель из списка.
- Далее необходимо узнать, на каком разделе жесткого диска установлена система, а какой указан в качестве загрузчика. Для этого нужно запустить терминал (аналог командной строки Windows), найдя его в меню приложений или нажав комбинацию клавиш Ctrl+Alt+T, либо Alt+F2. В открывшемся окне введите команду sudo fdisk -l. Сразу же инструмент просканирует все разделы диска и выведет информацию о каждом из них. Отобразится даже информация о других операционных системах, установленных на компьютере. Вы можете узнать название раздела, его расположение, размер и тип файловой системы. Предполагая, что при установке Ubuntu вы сделали выбор вручную, вы легко поймете, какой из разделов является загрузочным, а какой корневым. Для автоматического разбиения ориентируйтесь на имя Linux. Он тот, кто будет корнем вашей системы. Имя раздела обычно состоит из аббревиатуры sdc или sda и числа с порядковым номером.
- Далее вам нужно смонтировать корневую файловую систему в папку /mnt. В этом вам поможет команда sudo mount /dev/sda1 /mnt, где вместо sda нужно написать имя вашего раздела.
На этом этапе есть два способа восстановить Grub в Linux.
Способ 1
- Введите команду восстановления загрузчика: sudo Grub-install —root-directory=/mnt /dev/sda.
- Перезагрузите компьютер с помощью команды sudo reboot. В результате должно появиться меню выбора ОС.
- Если в этом меню отображается устаревшая информация, обновите загрузочную MBR. Для этого запустите Linux в обычном режиме, откройте терминал и используйте команду sudo update-grub. Если это не поможет, используйте sudo update-Grub —output=/mnt/boot/Grub/Grub.cfg и повторите предыдущий.
- Перезагрузите компьютер.
Способ 2.
- После монтирования корня файловой системы на раздел /mnt необходимо дополнительно смонтировать папку с файлами запуска, а также другие компоненты для взаимодействия с ядром. Для этого выполните следующие команды одну за другой:
sudo mount /dev/sdc2 /mnt/boot
sudo mount —mount /dev /mnt/dev
sudo mount —bind /sys /mnt/sys
sudo mount —bind /proc /mnt/proc
- Затем вам нужно запустить оболочку chroot. Для этого добавьте в терминал chroot /mnt /bin/bash. Первый параметр учитывает корневую директорию, а второй — специальную оболочку для преобразования пользовательских команд.
- Затем нужно с помощью команд попасть в Ubuntu и использовать практически все приложения, кроме сервисов и графического интерфейса:
обновление окружения
источник /etc/профиль.
- Теперь можно приступать непосредственно к восстановлению Grub. Для этого нужно использовать несколько команд:
- Чтобы переустановить загрузчик на жесткий диск: sudo Grub2-install /dev/sdc (последний параметр — имя вашего раздела).
- Чтобы создать новый файл конфигурации: sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg.
- Чтобы обновить загрузочное меню: sudo Grub-update.
- Для завершения процедуры выйдите из оболочки chroot с помощью команды exit, а также размонтируйте ранее смонтированные разделы файловой системы:
sudo размонтировать /mnt/dev
sudo размонтировать /mnt/proc
sudo размонтировать /mnt/sys
sudo размонтировать / mnt
sudo размонтировать /mnt/boot.
- Перезапустите через перезагрузку.
Делаем загрузчик GRUB загрузчиком по умолчанию
Теперь мы пройдем все шаги, которые необходимо предпринять, чтобы сделать загрузчик GRUB загрузчиком по умолчанию.
Примечание! Все приведенные ниже шаги предполагают, что у вас есть некоторый опыт администрирования операционной системы и навыки работы с компьютером. При определенных обстоятельствах неправильные действия могут привести к поломке загрузчика компьютера.
Шаг 1 – Запускаем менеджер загрузки
Для управления загрузчиком вашего компьютера вам необходимо зайти в загрузочное меню, т.е запустить менеджер загрузок.
Обычно это можно сделать клавишей F9, но иногда используются и другие клавиши (F12 и так далее).
Итак, при включении компьютера нажимаем клавишу F9.
Шаг 2 – Запускаем UEFI Shell
В результате запустится загрузочное меню. Нам нужно открыть оболочку UEFI. Для этого входим в «Диспетчер загрузки» (интерфейс у вас может отличаться).
Затем выберите пункт «Внутренняя оболочка EFI».
После этого запустится командная оболочка для работы с UEFI. Командная строка покажет командную строку «Shell>».
Шаг 3 – Входим в файловую систему загрузочного раздела
Мы хотим внести изменения через определенные действия с файлами, поэтому нам нужно открыть файловую систему загрузочного раздела UEFI.
Делается это достаточно просто, введите команду FS0: (обычно это метка загрузочного раздела).
Шаг 4 – Переименовываем текущий загрузочный файл
Весь смысл наших действий заключается в замене текущего загрузочного файла на нужный нам, т.е на загрузчик GRUB.
Но сначала нам нужно переименовать текущий загрузочный файл, так как файл загрузчика, который мы копируем позже, должен иметь такое же имя (его можно конечно удалить, но лучше этого не делать).
Переименуйте файл с помощью следующей команды.
mv EFIBootbootx64.efi EFIBootbootx64.efi_
Если вы видите сообщение ОК, значит, все прошло успешно.
Поэтому мы переименовали файл bootx64.efi в bootx64.efi_, этот файл находится в каталоге EFIBoot.
Шаг 5 – Копирование файла загрузчика GRUB
Теперь нам нужно скопировать файл загрузчика GRUB в каталог EFIBoot, чтобы он запускался по умолчанию.
Эта статья о Debian, поэтому загрузчик находится в одноименном каталоге EFIdebian, а файл называется grubx64.efi.
Вы можете использовать следующую команду для копирования.
cp EFIdebiangrubx64.efi EFIBootbootx64.efi
Как видите, мы копируем файл с новым именем, чтобы EFI запускал его по умолчанию.
Восстановление Grub2 с помощью LiveCD
Для начала вам понадобится система LiveCD с той же разрядностью, что и ваша система Linux Mint, на которой был установлен Grub. Кроме того, неважно, графический интерфейс или нет. Как правило, все необходимые инструменты поддерживаются всеми дистрибутивами. И нам нужны только инструменты fdisk, mount и chroot. Чтобы восстановить загрузчик grub2, просто выполните следующие действия.
Шаг 1. Загрузка LiveCD
Сначала вставьте носитель с системой LiveCD в дисковод или USB-порт, если это флешка. Для загрузки с носителя может сначала потребоваться войти в меню BIOS и установить приоритет загрузки с внешнего устройства.
Нажмите Del, F2, F8 или Shift +F2, чтобы войти в BIOS. В открывшемся меню найдите раздел Boot и выберите нужное устройство в пункте Boot Device Priority или 1st Boot Device или Boot Option #1:
Затем перейдите на вкладку «Выход» и выберите «Выйти и сохранить настройки». Затем изображение начинает загружаться.
Шаг 2. Определение разделов
Шаг 3. Монтирование файловой системы
Теперь вам нужно смонтировать корневую файловую систему в каталоге /mnt:
смонтировать /dev/nvme0n1p5 /mnt
Кроме того, вам нужно смонтировать загрузочный раздел. Например, если бы он у меня был в /dev/nvme0n1p1:
смонтировать /dev/nvme0n1p1 /mnt/boot
Шаг 5. Вход в окружение системы
Для входа в системную среду используйте команду:
chroot/мнт/бин/Баш
Затем запустите эти команды, чтобы загрузить и обновить переменные профиля:
Теперь вы находитесь в Linux Mint, и вы можете запускать почти все программы, разумеется, сервисы недоступны, так как при запуске не использовалась система инициализации, и, как следствие, графическое окружение недоступно.
Шаг 6. Восстановление Grub2
Теперь восстанавливает Grub в Linux Mint. Просто выполните следующие команды. Во-первых, чтобы переустановить загрузчик на жестком диске:
sudo grub2 установить /dev/sd*
Теперь давайте создадим новый файл конфигурации:
Путь к конфигурационному файлу может немного отличаться, поэтому будьте внимательны.
Вы также можете использовать команду:
Но это работает только на Ubuntu и дистрибутивах на ее основе.
Шаг 7. Готово
Выйдите из среды chroot с помощью команды:
И перезагрузите компьютер:
Теперь все работает.
Восстановление Grub в rescue mode
Если по какой-то причине у вас нет доступа к LiveCD/USB-накопителю, а также к компьютеру, с помощью которого можно создать этот самый носитель, то этот способ для вас.
Само восстановление проходит так: сначала загружаем все модули, чтобы открыть доступ ко всей функциональной части Grub, а затем запускаем с нужного раздела. Вы должны понимать, что Grub состоит из двух частей:
Одна из этих частей (первая) записывается в MBR на диске. Он имеет базовый функционал и ничего больше (консоль в режиме восстановления).
Поэтому нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), а затем загрузить все недостающие модули. Но после этого мы можем запустить загрузчик с нужного раздела. В режиме спасения всего четыре команды:
ls отключил insmod
Для начала введите следующую команду:
так далее
Вывод будет примерно таким:
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)
В некоторых случаях Grub неправильно определяет файловые системы, находящиеся на разделах диска. В этом примере загрузчик перечисляет их как msdos. Мы должны попытаться угадать диски, которые мы видим. В примере доступно два диска. Диск с индексом 0 содержит три раздела, а диск с индексом 1 содержит два раздела. Если вы знаете структуру своих дисков, подобрать нужный не составит труда.
В загрузчике Grub разделы нумеруются в обратном порядке. Не очень понятно, какой из разделов назван например (hd0,msdos3). Чтобы было понятнее, можно использовать форму (hd0,1). Если количество дисков в улье начинается с 0, а разделов с 1, то можно определить, что операционная система установлена в первый раздел первого раздела — (hd0,1). Мы используем следующую команду:
установить префикс = (hd0,1)/boot/grub установить root = (hd0,1)
С помощью этих команд мы указываем системе использовать определенный диск для выполнения всех остальных операций (в нашем случае это диск (hd0,1)). Чтобы проверить, есть ли загрузчик на этом диске, введите эту команду:
лс /загрузка/жратва
Если в выводе есть список файлов и папок, мы все сделали правильно. Теперь вы можете загрузить все необходимые модули. Для этого выполните команды:
insmod ext2 insmod нормальный нормальный
После выполнения команд Grub загрузится в полнофункциональном режиме. Все операционные системы, установленные на компьютере, будут найдены, после чего появится загрузочное меню по умолчанию.
Чтобы исправить результат (а не делать то же самое после перезагрузки ПК), вам нужно зайти в терминал вашего дистрибутива Linux, где как root вы выполните следующую команду:
grub-установить /dev/sdX
sdX — это диск, на который будет установлен Grub.
Если операционная система расположена на разделе с файловой системой btrfs, нам нужно выполнить следующие команды:
установить префикс = (hd0,1)/@/boot/grub установить root = (hd0,1)
И загружаем модули:
insmod btrfs insmod обычный
Ну а теперь запустите GRUB:
обычный
Почему не загружается GRUB?
Все дело в том, что по умолчанию установщик Debian устанавливает загрузчик в области UEFI по всем спецификациям, а Windows — нет, что как раз и не дает Debian загрузиться даже после успешной установки.
В этом случае UEFI загружает загрузчик по умолчанию, то есть загрузчик Windows и Debian просто не загружается. В итоге у вас установлен Debian, но Windows 10 все равно запускается по умолчанию.
Поэтому, чтобы избежать этой ситуации, во-первых, Debian 10 должен быть установлен в экспертном режиме, чтобы принудительно установить загрузчик в правильную область (путь съемного носителя), как это делает Windows.
Некоторые другие дистрибутивы Linux, такие как Ubuntu, по умолчанию устанавливают загрузчик в путь съемного носителя, и у них таких проблем нет, но такой подход создает условия для конфликта с другими установщиками, что плохо и неправильно. Вот почему Debian не делает этого по умолчанию.
Однако, если вы установили Debian 10 в обычном режиме, и у вас возникла такая ситуация, что вместо загрузчика GRUB загружается Windows 10, вам не нужно переустанавливать Debian, достаточно зайти в меню загрузки, запустить UEFI Shell и настроить UEFI ботинок. А теперь я покажу вам, как все это сделать.
Открываем терминал
Итак, вы загрузились в режиме Live. Теперь вам нужно открыть терминал.
В Ubuntu и некоторых других дистрибутивах это можно сделать, нажав горячую клавишу Ctrl+Alt+T. Или запустить терминал через меню программы.
От чего могут возникнуть проблемы
Одна из самых распространенных причин — неправильный порядок установки двух операционных систем (Linux и Windows). Допустим, если вы хотите установить эти две операционные системы на свой ПК, вам обязательно нужно знать правильный порядок:
- Сначала установите Windows
- И только потом линукс
Если, например, сделать наоборот, будет поврежден точно такой же Grub; система загрузится непосредственно в Windows, а дистрибутив Linux останется недоступным.
Grub также может сломаться по другим причинам. Например, из-за попыток изменить параметры загрузки вручную (при недостатке опыта) в этом случае нужно либо удалить лишнее вручную, либо полностью переустановить Grub.
Через утилиту восстановления загрузчика
Так как предыдущий способ может быть не у всех, мы воспользуемся особенностью Ubuntu, что она может полноценно работать при загрузке с флешки. Для этого мы используем специальный инструмент восстановления запуска. То, что должно быть сделано?
- Загрузите Ubuntu с флешки и убедитесь, что у вас есть активное подключение к Интернету.
- Найдите терминал и выполните в нем по очереди следующие команды:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-получить обновление
sudo apt-get установить загрузочный ремонт.
- В меню программы найдите «Восстановление загрузчика» и активируйте инструмент.
- Нажмите на кнопку «Рекомендуемый метод восстановления» и дождитесь завершения процедуры.
- В большинстве ситуаций этих действий вполне достаточно для нормальной работы загрузчика Grub Linux.
Удаление Grub на Windows 10
При наличии нескольких операционных систем на персональном компьютере (настольном устройстве, планшете, ноутбуке) иногда требуется процедура удаления вторичного загрузчика и восстановления идентичного приложения от Microsoft. Используется пара стандартных методов.
Часто используется — активация утилиты через отдельный носитель и специальный режим работы Windows, удаление с помощью UEFI.
При восстановлении ОС
Операционная система Windows 10 включает в себя возможность восстановления операционной системы с нескольких носителей — загрузочной флешки или диска. При выполнении данной процедуры необходимо сделать следующее:
- установить дополнительный диск, при его включении отметить загрузку основного блока с этого диска;
- после появления первого окна нажмите на блок «Восстановление»;
- откроется список доступных функций, выберите раздел «Командная строка»;
- на пустой строке необходимо поочередно вводить команды bootrec.exe/FixBoot, bootrec.exe/FixMbr.
Следуя инструкциям, необходимо перезагрузить личное устройство. После перезагрузки компьютера приложение Grub будет удалено.
Загрузка в Live-режиме
Теперь нужно загрузиться с созданного диска или флешки.
Для этого необходимо предварительно выбрать в BIOS приоритет загрузки с CD/DVD или USB (если вы используете флешку).
На современных компьютерах, использующих БИОС/UEFI, для входа в БИОС нужно при включении компьютера зажать специальную клавишу. Ключи могут отличаться от производителя к производителю. Обычно это: F2, Del, F10, Esc, F11 или F3.
На старых компьютерах, использующих классический БИОС, для входа в БИОС при запуске компьютера, в самом начале, при появлении логотипа материнской платы, нажмите специальную клавишу. Для разных материнских плат ключ может быть разным. Обычно это одна из клавиш: Del, F1, F2, F8, F10 или другая, или даже горячая клавиша.
Читайте также: Восстановление Windows 10 из резервной копии системы