Восстанавливаем системный загрузчик MX Linux на машине с UEFI
debianeach
Опубликован: | 2019-05-02T11:53:33.616549Z |
Отредактирован: | 2019-05-02T11:53:33.616549Z |
Продолжим разговор о MX Linux и предложенном этим сообществом LiveCD. В предыдущем выпуске блога я продемострировал установку этой операционной системы на виртуальный компьютер с UEFI и в результате получил странный казус: моя виртуальная машина отказалась загружаться при очередном включении компьютера. Я не вполне уверен, что причина неполадки на стороне MX Linux, возможно, что именно UEFI-режим VirtualBox несовершенен и является виновником. В общем-то, разбираться в этом наверно нет смысла, а вот восстановить работу виртуальной машины со свежеустановленным MX Linux на борту мне очень хочется. Об этом и поговорим.
Итак, после того, как я установил MX Linux на свою виртуальную машину, я выключил компьютер. Каково же было моё удивление, когда при очередном включении этой виртуальной машины вместо процесса загрузки рабочего стола MX я получил такое нерадостное сообщение.
Сама по себе операционная система достаточно интересна, и мне хочется её поизучать, попробовать настроить под себя, посмотреть версии основных десктопных программ, попробовать обновиться... Короче говоря, хочется потестировать операционную систему и её возможности в полном объёме. Поэтому я решил попробовать восстановить системный загрузчик.
Для реализации задуманного мне как раз и пригодится MX Linuх LiveCD, с которого система была установлена. Вставляю iso образ в свою виртуальную машину и включаю её.
В стартовом меню выбираю верхний пункт и нажимаю Enter
, в результате чего через некоторое время оказываюсь опять на рабочем столе операционной системы LiveCD, сразу запускаю терминал и вхожу как root.
Напоминаю, что при старте LiveCD MX Linux пароль root, а также имя и пароль текущего пользователя можно найти в окне приветствия. Для восстановления системного загрузчика удобней будет войти root-ом, потому что придётся выполнять целый ряд последовательных действий, и каждый раз писать при этом sudo будет не очень разумно. Поэтому вхожу root-ом именно при помощи команды su -
.
Схема разметки жесткого диска мне хорошо известна, на всякий случай делаю lsblk
, чтобы убедиться, что разделы на диске присутствую и не смонтированы.
Раздел sda1
- это раздел с флагом ESP и файловой системой fat32, а раздел sda2
- это раздел корневой файловой системы, на который и установлена копия MX Linux, которую я пытаюсь реанимировать. С этими двумя разделами я и буду работать далее.
Монтирую раздел sda2
в системный каталог /mnt
.
mount /dev/sda2 /mnt
После выполнения этого действия можно получить оглавление этого раздела при помощи простой команды ls /mnt
, она должна вывести перечень всех системных каталогов установленной на разделе sda2
операционной системы, если это так, то можно двигаться дальше.
Монтирую другие системные каталоги, которые понадобятся для восстановления загрузчика. Выполняю последовательно следующие команды.
mount --bind /dev /mnt/dev mount --bind /dev/pts /mnt/dev/pts mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys
Ещё мне понадобится раздел диска sda1
, его я тоже смонтирую в каталог /mnt
.
mount /dev/sda1 /mnt/boot/efi/
Когда все необходимые каталоги смонтированы, меняю текущий корень системы и объявляю корнем каталог, куда я и смонтировал все файловые системы - каталог /mnt
.
chroot /mnt
Теперь всё готово, чтобы восстановить системный загрузчик установленной на диск виртуальной машины операционной системы. Последовательно выполняю две команды:
update-grub grub-install /dev/sda
Сообщение - "Installation finished. No error reported." - говорит о том, что цель достигнута. Покидаю текущий корень и перезагружаю компьютер.
exit systemctl reboot
Нажимаю Enter
, система уходит в перезагрузку, и через некоторое время на мониторе виртуальной машины я получаю меню системного загрузчика.
Продолжив загрузку, дожидаюсь приглашения на вход в систему.
Ввожу логин, пароль и нажимаю кнопку "Войти".
Welcome home, dear! Системный загрузчик восстановлен, операционная система MX Linux готова к работе. Цель этой демонстрации полностью достигнута, а предназначение LiveCD ещё раз продемонстрировано на решении весьма часто встречающейся в повседневной практике прикладной задачи.