Чтобы восстановить Linux через BIOS, сначала необходимо загрузиться с Live USB или установочного диска системы. Включите компьютер и войдите в BIOS, обычно нажав клавишу F2, Del или Esc, в зависимости от модели вашего устройства. Убедитесь, что режим загрузки настроен на вашу флешку или диск, и сохраните изменения.
После успешной загрузки с установочного носителя выберите опцию «Поправить» или «Восстановить систему». Следуйте инструкциям на экране, чтобы восстановить или переустановить дистрибутив Linux, в зависимости от ваших нужд. В случае серьезных повреждений системы используйте утилиты восстановления, такие как Grub Repair, для восстановления загрузчика.
Восстановление загрузчика GRUB в Linux
GRUB — это универсальный и достаточно надежный загрузчик, который обеспечивает работу различных операционных систем (ОС). Тем не менее, в некоторых случаях могут возникнуть проблемы, которые могут привести к сбоям в процессе загрузки, делая его неправильным или даже невозможным.
Если точно известно, что система не запускается из-за неисправности загрузчика, не стоит паниковать. Ситуация далека от безысходной, как может показаться начинающим пользователям или администраторам. Во многих случаях загрузку можно быстро восстановить без необходимости переустановки всей системы. Существуют проверенные методы, которые будут рассмотрены в данной статье.
Почему «ломается» загрузчик GRUB?
Очевидно, что ничего не происходит просто так. Если загрузка GRUB не срабатывает, это означает, что на это оказали влияние определённые факторы. Часто в таких случаях пользователи утверждают, что не вносили изменений в системные настройки, а GRUB внезапно перестал функционировать. И в этом они отчасти правы.
На самом деле GRUB довольно чувствителен к любому изменению как своей, так и системной конфигурации, каким бы универсальным и удобным он ни был. Так, например, изменение идентификатора раздела, хранящего ядра (/boot), уже приведёт к невозможности загрузки системы. И GRUB здесь и ни причём. Нужно искать причину, по которой изменился идентификатор раздела. А они могут быть самыми разными.
Например, даже если компьютер не использовался продолжительное время и питание на его платы не подавалось, это может стать причиной сброса определённых настроек BIOS из-за разряженной батареи. В результате, при повторном включении после длительного перерыва могут произойти изменения в параметрах оборудования, что в некоторых случаях влияет на идентификатор раздела. Это только одна из неочевидных причин, по которой GRUB может не функционировать, и ни разработчики GRUB, ни производители материнских плат не могут это предугадать.
Наличие ошибок на разделах диска, человеческий фактор (особенно среди малоопытных пользователей) также очень часто являются причиной неработоспособности GRUB. Главное, что нужно понимать — это то, что в большинстве случаев причиной является внешний фактор. A GRUB – это довольно уязвимое место, чувствительное практически к любым внешним воздействиям, поскольку это программная среда, организующая передачу управления компьютером от BIOS (UEFI) к ОС.
Способы восстановления GRUB
В этой статье будут описаны два наиболее эффективных метода восстановления GRUB:
- использование LiveCD/DVD – популярный подход, который подходит даже для начинающих;
- работа в консоли GRUB – ручная загрузка операционной системы и восстановление GRUB в «родной» среде, что очень полезно, если нет доступа к LiveCD/DVD или другим загрузочным средствам.
Как вы можете понимать, процесс восстановления GRUB непосредственно связан с загрузкой операционной системы. Основная задача восстановления заключается в том, чтобы загрузить исходную систему различными альтернативными способами или вручную. Далее, в большинстве случаев восстановление GRUB выполняется одной командой:
$ sudo grub-update
Существуют и другие команды:
$ sudo grub-install /dev/sdN $ sudo grub-mkconfig -o /boot/grub/grub.cfg
Последние команды следует применять в случае, если команда grub-update не оказала должного эффекта. Первая из них отвечает за установку самого загрузчика GRUB на выбранное устройство (не на раздел!). В данном контексте вместо sdN могут использоваться sda, sdb и так далее, но ни в коем случае не sda1, sdb2 (числовая часть в конце указывает на номер раздела на устройстве) и прочее — это крайне важно, так как GRUB устанавливается исключительно на устройство.
Вторая команда создаёт конфигурационный файл GRUB исходя из текущей конфигурации системы. Анализируется информация о количестве имеющихся в системе ядер, их версий и т. д. В результате формируется оптимальная и безопасная конфигурация загрузки системы. Если ядер несколько, то будет сформирован список, который может быть доступен (в меню загрузки GRUB) для выбора определенного ядра для загрузки. По-умолчанию GRUB загружает ядро самой свежей версии.
Как видно, процесс восстановления или установки GRUB не представляет собой ничего сложного. Теперь давайте рассмотрим альтернативные методы загрузки системной среды для восстановления GRUB.
Обратите внимание: команды grub-install и grub-mkconfig могут быть заменены на grub2-install и grub2-mkconfig в зависимости от того, какой дистрибутив используется.
Загрузка и восстановление с помощью LiveCD
Перед тем как воспользоваться любым из альтернативных методов загрузки «родной» системы, крайне важно определить, с какого устройства идет загрузка. Эту информацию следует узнать заранее в настройках BIOS вашего компьютера. Это потребуется в тех случаях, когда необходимо не только обновить конфигурацию загрузчика, но и полностью его переустановить. Важно устанавливать загрузчик на то устройство, которое BIOS выберет для передачи управления при дальнейшей загрузке операционной системы. Для материнских плат MSI это обычно отображается следующим образом:
Как можно видеть, для данной системы загрузочным устройством является SSD-накопитель «Samsung SSD 860 EVO 250 GB». А пока это наименование можно запомнить или где-нибудь записать.
Теперь имеется возможность загрузиться с любого Live-образа, используя для этого оптический CD/DVD-диск или флеш-накопитель USB. Упуская технические детали, стоит отметить, что перед этим необходимо осуществить нужные настройки в BIOS вашего компьютера. Рекомендуется применять Live-образ той же системы, что и установлена на данном устройстве.
Итак, загрузившись в Live-режиме, первым делом следует запустить командную консоль. Далее, необходимо определить корневой раздел системы, для которой нужно восстановить загрузчик. Это нужно, чтобы войти в программную среду «родной» системы из непосредственно Live-режима и использовать весь доступный инструментарий, в том числе и команды по восстановлению GRUB.
Монтирование корневого и загрузочного раделов
С помощью команды fdisk можно выяснить, какой из разделов используется операционной системой в качестве корневого и на каком устройстве он расположен:
$ sudo fdisk -l [sudo] вводите пароль для john: Диск /dev/sda: 232,9 GiB, 250059350016 байт, 488397168 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Тип метки диска: gpt Идентификатор диска: 2FB31770-F1EC-51F0-9613-G11DC4G2SC21 Устр-во начало Конец Секторы Размер Тип /dev/sda1 2048 1075199 1073152 524M EFI /dev/sda2 1075200 40136703 39061504 18,6G Файловая система Linux /dev/sda3 40136704 391698431 351561728 167,7G Файловая система Linux /dev/sda4 391698432 430759935 39061504 18,6G Файловая система Linux /dev/sda5 430759936 488396799 57636864 27,5G Файловая система Linux Диск /dev/sdb: 111,8 GiB, 120033041920 байт, 234439535 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Тип метки диска: gpt Идентификатор диска: 233HSC87-S40F-473K-3K73-38sC568228L4 Устр-во начало Конец Секторы Размер Тип /dev/sdb1 2048 40962047 40960000 19,5G Файловая система Linux /dev/sdb2 40962048 163842047 122880000 58,6G Файловая система Linux /dev/sdb3 163842048 188418047 24576000 11,7G Файловая система Linux /dev/sdb4 188418048 234434559 46016512 22G Файловая система Linux
В системе можно обнаружить два устройства — sda и sdb. Необходимо разобраться и вспомнить, как выполнялась разметка диска в момент установки системы. Далее нужно определить, какой из разделов является корневым. В данном примере это раздел sda2. Теперь его следует смонтировать с помощью команды mount:
$ sudo mount /dev/sda2 /mnt
Необходимо также примонтировать и раздел /boot. Но очень важно заметить, что если в качестве /boot используется отдельный раздел (а не подкаталог в корневом разделе, как в большинстве современных дистрибутивов, например Ubuntu), то его монтирование будет выглядеть следующим образом:
$ sudo mount /dev/sda3 /mnt/boot
Приведенная команда является лишь иллюстрацией. На самом деле, файлы загрузчика для этого примера находятся в подкаталоге /boot, который уже был смонтирован из sda2, и поэтому в данном случае последняя команда не требуется.
Подготовка программной среды для работы
Поскольку в Live-режиме загружено и работает ядро Live-системы, то оно же будет использоваться и для работы с примонтированными разделами (корневой и /boot). Но для этого необходимо к корневому разделу родной системы (которая уже смонтирована в /mnt) также примонтировать и другие файловые системы (ФС), без которых ядро Live-системы не сможет корректно работать — /sys, /dev и /proc, они же необходимы для взаимодействия с ядром. Другими словами, загруженное из Live-образа ядро нужно настроить на полноценную работу с корневой ФС родной системы, добавив к ней ФС из Live-системы:
$ sudo mount —bind /sys /mnt/sys $ sudo mount —bind /dev /mnt/dev $ sudo mount —bind /proc /mnt/proc
Затем нужно установить программное окружение, указывая путь к каталогу /mnt и интерпретатор команд:
$ sudo chroot /mnt /bin/bash
Эта инструкция определяет, в каком месте будут выполняться команды и какое окружение будет использоваться. В данном случае ядро Live-образа сможет полностью взаимодействовать с файловой системой основной системы, используя все доступные пакеты, команды, файлы и ресурсы.
Восстановление загрузчика
Теперь нужно обновить MBR (главную загрузочную запись) диска, установив на него загрузчик GRUB. Здесь и нужно вспомнить, какой диск является загрузочным, исходя из конфигурации BIOS. Поскольку ранее это уже было определено, то теперь остаётся узнать, как это устройство обозначается в системе. Для этого полезно выполнить следующий скрипт:
$ for d in /dev/sd[a-z]; do echo "$d: $(sudo hdparm -I $d | drep -i ‘model’)"; done /dev/sda Номер модели: Samsung SSD 860 EVO 250GB /dev/sda Номер модели: ST43205624AS /dev/sda Номер модели: ST43210462AS
Этот скрипт будет функционировать при наличии утилиты hdparm в операционной системе. Однако, так как данная утилита обычно присутствует во многих дистрибутивах Linux, можно не волноваться об этом.
Как можно видеть, устройству «Samsung SSD 860 EVO 250GB», который ранее был определён как загрузочный, соответствует его определение в системе как /dev/sda . Именно на него и следует производить установку GRUB:
$ sudo grub-install /dev/sda
Формирование конфигурационного файла для GRUB:
$ sudo grub-mkconfig -o /mnt/boot/grub/grub.cfg
В заключение можно запустить:
$ sudo grub-update
Если при выполнении команды grub-install возникают какие-либо ошибки, то можно выполнить её с ключом —recheck. Если же всё нормально, то можно выйти из режима chroot командой:
$ exit
Следующим шагом является отключение всех ранее подключенных устройств и файловых систем:
$ sudo umount /mnt/dev $ sudo umount /mnt/proc $ sudo umount /mnt/sys
Если /boot монтировался из отдельного раздела, то его также необходимо отмонтировать:
$ sudo umount /mnt/boot
Теперь последним шагом будет отмонтирование корневого раздела:
$ sudo umount /mnt
После этого можно перезагрузить компьютер, предварительно настроив BIOS, чтобы в качестве загрузочного устройства выбрать «Samsung SSD 860 EVO 250GB». Затем проверьте, загружается ли ваша система через GRUB.
Загрузка из командной консоли GRUB
Иногда бывает так, что GRUB установлен, но в результате каких-либо сбоев его рабочая конфигурация была повреждена и загрузка ОС в штатном режиме невозможно. Обычно в таких случаях в меню GRUB появляются сообщения об ошибках с приглашением перейти в режим командной консоли загрузчика по нажатию клавиши «C». В этом режиме GRUB предоставляет довольно большой набор полезных команд. С помощью которых можно, в частности произвести ручную загрузку системы. Эти же команды, кстати, выполняются загрузчиком при чтении его файла конфигурации.
Первым шагом после того, как вы попали в командную консоль GRUB, является выполнение команды ls. Это позволит вам увидеть перечень всех дисков и разделов, доступных в системе.
Определение и выбор раздела загрузки
Однако, обозначает GRUB разделы по-своему. Например вместо привычного sda4 будет (hd0,gpt2), а вместо sdb1 будет (hd1,gpt3). Таким образом, как можно видеть, устройства в формате GRUB нумеруются цифрами, так же как и разделы. Но разделы нумеруются в обратном порядке. Например на устройстве sda с пятью разделами, разделу sda2 в формате GRUB будет соответствовать запись (hd0,gpt4), sda1 – (hd0,gpt5) и т. д. Этот принцип можно и нужно брать на вооружение при работе с разделами в командной консоли GRUB. Ведь для ручной загрузки системы необходимо правильно определить и указать корневой раздел или раздел /boot .
Важно отметить, что префикс «gpt» в названиях разделов в формате GRUB может отличаться. Например, он может быть представлен как «msdos», если GRUB не может установить тип разметки. Тем не менее, в данном случае разделы оформлены в формате GPT.
Если известно, что каталог /boot расположен на разделе sda2, который состоит из пяти подчастей, то с высокой вероятностью это будет (hd0,4) в системе GRUB. Указывать префикс «gpt» для данного раздела не обязательно. Если же восстановить изначальную структуру разделов не удаётся, то остаётся только пробовать разные варианты. Команда ls покажет что-то вроде следующего:
grub> ls (hd0) (hd0,gpt5) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (hd2) (hd2,gpt1) Данный вывод указывает на наличие трех устройств в системе, что соответствует следующей структуре разделов в традиционном формате: Диск 1: /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5 Диск 2: /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4 Диск 3: /dev/sdc1
Эта информация предназначена для того, чтобы упростить определение местоположения /boot.
Следует обратить внимание, что если «угадано» правильно, система загрузится в штатном режиме без каких-либо изменений.
Ручная загрузка ядра
Пусть для ручной загрузки выбран раздел (hd0,4) — т. е. sda2. Нужно задать этот раздел в качестве корневой файловой системы:
grub> установить корень=(hd0,4)
Активирование модулей для взаимодействия с файловой системой Ext2/3/4:
grub> подключить ext2
Для других типов ФС нужно подключать соответствующие модули: bfs, xfs или zfs. Подключение модуля normal для полноценного запуска и работы GRUB:
grub> insmod normal grub> normal
Если штатная загрузка не запускается после выполнения этих команд, необходимо продолжить процесс загрузки вручную. Для этого нужно попробовать найти необходимые ядра и выбрать одно из них для загрузки. Введите команду linux /boot/vmlinuz и нажмите клавишу :
grub> linux /boot/vmlinuz Доступные файлы: vmlinuz-4.18.0-20-generic vmlinuz-4.18.0-21-generic grub> linux /boot/vmlinuz-4.18.0-2
Как видно, команда linux обнаружила два ядра в системе и автоматически подготовила следующую команду для выбора. Просто добавьте «1-generic», если вы хотите загрузить ядро версии 4.18.0-21-generic. Укажите корневой раздел и выполните команду:
grub> linux /boot/vmlinuz-4.18.0-21-generic root=/dev/sda2
Важно заметить, что указывается тот же корневой раздел, что и в команде set root, только уже в классическом формате.
После этого требуется указать правильный образ ядра, который включает всё нужное для инициализации и формирования программной среды для его функционирования, с использованием команды initrd:
grub> initrd /boot/initrd.img-4.18.0-21-generic
Теперь всё готово, можно выполнить загрузку:
grub> boot
Если все действия выполнены корректно и выбран правильный раздел для загрузки, то система будет загружена в обычном режиме, как это происходит без вмешательства. Все, что было сделано вручную, представляет собой основной набор команд, которые хранятся в файле /boot/grub/grub.cfg и автоматически выполняются загрузчиком GRUB.
После загрузки системы не составит труда восстановить работу загрузчика, следуя инструкциям, изложенным выше.
Как загрузиться в режим восстановления или аварийный режим в Ubuntu 18.04
В качестве примера будет использована система Ubuntu 18.04 LTS, но руководство актуально для любой системы, использующей Systemd как подсистему инициализации. Так же мы рассмотрим команды по восстановлению системы Ubuntu без ее переустановки.
Что такое режим восстановления в системах Linux?
Режим восстановления аналогичен однопользовательскому режиму в Linux-дистрибутивах, использующих демон SysV в качестве стандартного менеджера служб. В этом режиме будут примонтированы все локальные файловые системы, однако активированы только ключевые службы. Например, сетевые сервисы в этом режиме не запустятся. Режим восстановления в Linux полезен в тех случаях, когда система не способна запуститься нормально. Кроме того, в этом режиме возможно выполнение ряда критически важных операций для восстановления, таких как сброс пароля root.
Что такое аварийный режим?
В отличие от режима восстановления, в аварийном режиме не монтируются точки монтирования файловых систем, службы и сокеты не будут запущены. Аварийный режим подходит для отладки.
Загрузка в режим восстановления в Ubuntu 18.04 LTS
Запустите вашу установленную ОС Ubuntu. Когда на экране отобразится меню Grub, выберите первую позицию и нажмите e, чтобы внести изменения.
Если меню Grub не загрузилось, просто нажмите клавишу ESC сразу после того, как исчезнет логотип BIOS.
Найдите строку, начинающуюся со слова «linux», удалите значение «$vt_handoff» и в конце этой строки введите следующее значение (Чтобы быстрее достичь конца строки, просто нажмите CTRL + e или используйте клавишу END или стрелки LEFT / RIGHT на клавиатуре):
systemd.unit=rescue.target
После того как вы указали указанный параметр, используйте сочетание клавиш CTRL + x или F10, чтобы загрузить систему в восстановительный режим. Спустя несколько секунд вы окажетесь в режиме восстановления (однопользовательский режим) с правами пользователя root. Нажмите Enter.
Затем введите следующую команду для монтирования файловой системы root (/) в режим чтения / записи:
mount -n -o remount,rw /
Загрузка в аварийный режим
Запуск операционной системы Linux в режиме восстановления выполняется аналогично описанному ранее процессу. Вам лишь потребуется изменить «systemd.unit= rescue.target» на «systemd.unit= emergency.target» при редактировании меню Grub.
После того как вы внесли «systemd.unit=emergency.target», нажмите Ctrl + x или F10, чтобы продолжить загрузку в режим аварийного восстановления.
Вы можете подключить корневую файловую систему в режим чтения / записи с помощью команды:
mount -n -o remount,rw /
Переключение между режимами восстановления и аварийный режимом и наоборот
Если вы вошли в режим восстановления, вы можете перейти в аварийный режим, используя следующую команду:
systemctl emergency
Аналогично, чтобы переключиться с аварийного режима в режим восстановления, введите команду:
systemctl аварийный_режим
Режим восстановления Recovery mode в Linux
Другим вариантом, доступным для восстановления системы, является режим Recovery mode. Его особенностью является наличие встроенных утилит для восстановления.
Чтобы активировать режим восстановления, нужно войти в меню Grub и выбрать пункт Дополнительные параметры.
Затем из появившегося списка выбрать первое (верхнее) ядро с надписью (recovery mode).
Как видно на изображении ниже, после загрузки системы в режим восстановления, вам будет представлен набор инструментов, предназначенных для устранения различных основных проблем с загрузкой. Рекомендуется протестировать каждый из них, который, по вашему мнению, может помочь в решении вашей проблемы.
Clean, например, удалит неиспользуемые файлы, если вы подозреваете, что проблема связана с полным диском. dpkg попытается исправить любые сломанные пакеты программного обеспечения. (Средство "dpkg"может потребовать, чтобы вы сначала включили сеть (network). Опция root запустит командную строку от имени суперпользователя.
Теперь вы знакомы с понятием режима восстановления, аварийного режима и Recovery mode, а также с процессом загрузки в эти режимы на Ubuntu 18.04. Как я указал ранее, описанные шаги будут применимы ко многим современным версиям Linux, которые используют Systemd.
Как восстановить операционную систему Ubuntu без переустановки
Изучим известные и эффективные способы восстановления операционной системы Ubuntu. Если ваша система не загружается после обновления, установки драйверов или по другим причинам, рекомендуем обратиться к данной инструкции.
На экране входа в систему воспользуйтесь комбинацией клавиш CTRL + ALT + F1 для переключения в виртуальную консоль tty1, возможно вам придется переключится на другую виртуальную консоль, в таком случае воспользуйтесь этой же комбинацией клавиш, но с F2 или F3 и т.д. И затем выполните следующие команды:
sudo rm /var/lib/apt/lists/lock sudo rm /var/lib/dpkg/lock sudo rm /var/lib/dpkg/lock-frontend sudo dpkg —configure -a sudo apt clean sudo apt update —fix-missing sudo apt install -f sudo dpkg —configure -a sudo apt update sudo apt dist-upgrade
Если установка видеодрайвера Nvidia стала причиной некорректной загрузки системы, необходимо выполнить его удаление:
sudo apt remove —purge nvidia*
И обновить систему:
sudo apt update sudo apt dist-upgrade
И нужно выполнить перезагрузку системы:
sudo reboot
Также может быть полезно переустановить графическую оболочку. Для Ubuntu можно использовать следующую команду (не затрагивает пользовательские данные):
sudo apt install —reinstall ubuntu-desktop
Рекомендую периодически делать резервные копии системы и домашнего каталога пользователя, соответствующими инструментами. Например, для резервного копирования в среде Linux можно воспользоваться утилитой QT5-FSArchiver.
Восстановление Grub2
Grub представляет собой программу загрузки, предназначенную для инициализации операционной системы на многих дистрибутивах Linux, включая Linux Mint. Неполадки с загрузчиком могут возникнуть по разным причинам, таким как установка Windows, другого дистрибутива Linux, переработка разделов диска или изменения их размера и расположения и так далее.
В случае с установкой другой системы, чтобы восстановить загрузчик Linux Mint нам понадобится LiveCD с любым Linux-дистрибутивом. Самая частая задача из этой категории — восстановление Grub после Windows. Если же ошибка возникла из-за работы с разделами или повреждения файловой системы и загрузчик загружается с сообщением Minimal BASH like line editing is supported — это значит что мы можем справиться и без LiveCD своими силами. Конечно, восстановление grub в linux mint с помощью LiveCD системы намного проще, но не всегда под руками есть нужный диск.
Восстановление Grub2 с помощью LiveCD
В данной статье мы обсудим, как можно восстановить Grub2 двумя различными способами. Начнем с более простого варианта — с использованием LiveCD. Хотя материал ориентирован на Linux Mint, он подходит для любого дистрибутива, так как загрузчик везде одинаковый, а команды аналогичны, лишь версии могут немного различаться.
Для начала вам потребуется LiveCD система той же архитектуры, что и ваша система Linux Mint, на которую был установлен Grub. При этом не имеет значения, будет ли у нее графический интерфейс или нет. Обычно все нужные инструменты поддерживаются всеми дистрибутивами. Нам понадобятся только утилиты fdisk, mount и chroot. Чтобы восстановить загрузчик grub2, просто следуйте шагам, описанным ниже.
Шаг 1. Загрузка LiveCD
Сначала вставьте носитель с LiveCD системой в дисковод или порт USB, если это флешка. Для загрузки с носителя, возможно, вам сначала понадобится зайти в меню BIOS и выставить приоритет загрузки с внешнего устройства.
Чтобы войти в BIOS, нужно нажать клавишу Del, F2, F8 или Shift + F2. В появившемся меню перейдите в раздел Boot и в пункте Boot Device Priority, 1st Boot Device или Boot Option #1 выберите необходимое устройство:
Дальше перейдите на вкладку Exit и выберите Exit Save settings. Дальше начнется загрузка образа.
Шаг 2. Определение разделов
Прежде чем приступать к восстановлению Grub2, необходимо выяснить, на каком разделе установлена операционная система и где располагаются или должны находиться файлы загрузчика. Наиболее удобный способ для этого — использовать утилиту fdisk.
В результатах работы программы отображаются разделы всех дисков, подключённых к вашему компьютеру, информация о их вместимости и файловая система. На основе этих сведений вам нужно определить, какой из разделов служит корневым для вашей операционной системы. Если вы самостоятельно разметили диски, вам будет легко разобраться, что к чему.
Например, у меня корень — /dev/nvme0n1p5 — размером 37 гигабайт, а для загрузчика отдельный раздел не выделялся. Но обычно он тоже имеет файловую систему ext4 ил ext2, а размер до 500 мегабайт. В случае с обычным SSD или HDD диском имя раздела будет начинаться с /dev/sd*. Например: /dev/sda или /dev/sdb и так далее
Шаг 3. Монтирование файловой системы
Теперь вам необходимо установить вашу основную файловую систему в директорию /mnt:
mount /dev/nvme0n1p5 /mnt
Также необходимо подключить раздел boot. К примеру, если бы он располагался по пути /dev/nvme0n1p1:
mount /dev/nvme0n1p1 /mnt/boot
Шаг 4. Подготовка к входу в систему
Чтобы восстановить загрузчик Linux мы будем использовать вашу основную систему Linux, запущенную на ядре от LiveCD. Такую возможность предоставляет команда chroot. Но перед тем, как ее использовать нужно вручную подключить к вашей корневой ФС, смонтированной в /mnt все необходимые файловые системы взаимодействия с ядром — /dev, /sys, /proc:
sudo mount —bind /dev /mnt/dev
sudo mount —bind /sys /mnt/sys
sudo mount —bind /proc /mnt/proc
Шаг 5. Вход в окружение системы
Чтобы получить доступ к окружению вашей системы, введите следующую команду:
chroot /mnt /bin/bash
Первый аргумент определяет директорию, в которой установлена корневая файловая система, а второй — оболочку, использующуюся для обработки команд пользователя.
Затем выполните эти команды для загрузки и обновления переменных профиля:
Вы сейчас работаете в Linux Mint и можете запускать почти все его приложения, однако некоторые сервисы недоступны, так как при загрузке не была использована система инициализации, что также привело к отсутствию графического интерфейса.
Шаг 6. Восстановление Grub2
Теперь давайте восстановим Grub в Linux Mint. Для этого выполните указанные ниже команды. Сначала необходимо переустановить загрузчик на жесткий диск:
sudo grub2-install /dev/sd*
В данном случае /dev/sd* обозначает наименование вашего жесткого диска.
Теперь создадим новый конфигурационный файл:
sudo grub2-mkconfig -o /boot/grub/grub.cfg
Обратите внимание, что путь к файлу конфигурации может варьироваться, поэтому будьте внимательны.
Еще можно использовать команду:
Однако данная программа функционирует исключительно в Ubuntu и дистрибутивах, основанных на этой системе.
Шаг 7. Готово
Выйдите из окружения chroot командой:
Теперь выполните перезагрузку компьютера:
Теперь всё функционирует.
Восстановление Grub2 без LiveCD
В некоторых случаях повреждения Grub не вызывает полную невозможность загрузки. Например, когда загрузочный код в MBR цел, но программа не может получить доступ к файлам на диске. Тогда загрузчик открывает вместо меню некое подобие терминала с сообщением: Minimal BASH like line editing is supported. С помощью этого терминала мы можем попытаться загрузить систему. Восстановление grub2 без LiveCD не такая уж и сложная задача, хотя, это сложнее, чем первый способ.
Чтобы успешно работать, необходимо понимать, на каком устройстве установлена система, а также само ядро Linux. Синтаксис и команды схожи с привычными командами bash, но имеют некоторые отличия в назначении. В режиме восстановления доступны лишь ограниченное количество команд: ls, insmod, set и unset.
Чтобы посмотреть список подключенных к компьютеру дисков просто выполните:
(hd2,msdos1, hd2,msdos2, hd2,msdos3, hd2,msdos4)
Следует подчеркнуть, что в grub диски и их разделы обозначаются несколько иначе. Каждый жесткий диск получает наименование hd с соответствующим номером, например, hd0 или hd1. Разделы нумеруются, начиная с единицы.
Вы можете работать только с одним разделом в определенный момент. Чтобы установить раздел, с которым нужно работать, нужно указать его в переменной root. Для установки переменных окружения используется команда set. Например, у если у меня файлы загрузчика grub находятся на /dev/sdc2, то получится hd2,2:
Установим корректную оболочку grub:
insmod ext2 insmod normal normal
Затем можно обнаружить и инициировать ядро. Для этого примените команду в Linux. Чаще всего ядро располагается в директории /boot:
И в заключение, запускаемся:
Теперь, когда система загрузится, вам останется только открыть терминал, и выполнить следующие команды, чтобы завершить восстановление загрузчика linux mint:
sudo grub2-установить /dev/sd*
sudo grub2-mkconfig -o /boot/grub/grub.cfg
Где sd* — это название вашего диска, на котором находится операционная система. Учтите, что необходимо использовать именно название диска, а не его раздела, никаких цифр добавлять не следует. Вот и все.
Восстановление в Boot Repair
Наиболее простым вариантом для восстановления загрузчика Grub является применение утилиты Boot Repair. Для этого понадобится LiveCD с Ubuntu или другим дистрибутивом. Сначала загрузитесь в Live-среду, как указано в первом методе, а затем добавьте PPA к системе:
sudo add-apt-repository -y ppa:yannubuntu/boot-repair
Затем установите программу:
sudo apt install boot-repair
Чтобы начать процесс, выполните следующие действия:
Затем, для восстановления загрузчика, достаточно просто нажать на кнопку Рекомендуемый метод восстановления:
Затем просто дождитесь завершения процесса восстановления:
После этого можно перезагрузить компьютер, и все будет функционировать корректно.
Выводы
Теперь восстановление загрузчика linux mint не вызовет у вас проблем в любых обстоятельствах, независимо от того, есть ли у вас диск с другим дистрибутивом или нет. Если остались вопросы, напишите в комментариях!