CentOS 7: ошибка загрузки
Приветствую членов сообщества GNU/Linux и пикабушников, которые случайно наткнулись на данный пост!
!!! Ахтунг! Чукча не писатель! Поэтому заранее просит прощения за, возможно допущенные в ходе написания поста, грамматические ошибки, а также возможно не совсем корректное употребление некоторых терминов
Данный пост состоит из трёх частей.
В первой части содержится описание проблемы, с которой я столкнулся на днях.
Во второй -- описан способ, как эта проблема была мной решена -- возможно кому-то это пригодится сейчас или в будущем.
Третья часть посвящена вопросам к пользователям, которые разбираются в данной теме и я буду очень благодарен тем, которые смогут ответить на возникшие у меня в ходе вопросы.
Итак, первая часть.
Есть ноутбук Lenovo. Если нужно точное название модели -- я напишу его в комментариях. На данный ноутбук я поставил себе CentOS 7.
/*натыкался на просторах, что ставить CentOS на ноут -- это тот ещё изврат, но у меня на то были причины*/
На днях у меня при включении ноутбука отобразилась ошибка
Failed to open \EFI\BOOT\grubx64.efi - Not Found
Failed to load image \EFI\BOOT\grubx64.efi: Not Found
start_image() returned Not Found
При этом установленная система не запускалась вообще.
Теперь, плавно перейдём к тому, как именно данная проблема была мной решена.
Так получилось, что у меня под рукой была флешка с операционной системой Mint 18.3. Загрузившись с этой флешки я начал пытаться понять, что произошло с моим ноутбуком.
Итак, после нескольких часов поисков в гугле и плясок с бубном, мной был выработан примерно следующий алгоритм решения проблемы.
1. Зайти в BIOS, и установить для пункта Boot Mode значение UEFI.
2. Запуститься с загрузочной флешки и открыть терминал.
3. В терминале получить root-права.
4. Выполнить следующие команды:
su root
mount /dev/centos/root /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
modprobe efivars
chroot/mnt
efibootmgr --create --label CentOS --disk /dev/sda1 --loader "\EFI\centos\shim.efi"
5. После этого можно пробовать перезагружаться.
Далее -- мои вопросы к знатокам данной темы.
1. Является ли данная проблема специфичной для дистрибутивов CentOS или может проявиться где угодно?
Изначально у меня значение Boot Mode было [Legacy Support], но сейчас при установке этого значения ко мне возвращается исходная проблема и её приходится решать заново. Отсюда вопрос
2. В чём отличие этих двух режимов?
3. Является ли данный способ решения проблемы специфичным для тех операционных систем, которыми я располагал? Изменился ли бы алгоритм действий, если бы на ноутбуке и/или флешке были бы другие дистрибутивы?
4. Можно ли было как-то по-другому решить эту проблему? Есть ли какие-то явные недостатки у способа, описанного выше?
Данная проблема предположительно возникла в результате того, что у меня в BIOS была разрешена загрузка с флешки, и в момент включения ноутбука к нему была подключена флешка, которая, вообще говоря, не является загрузочной. Сейчас я запретил загрузку с флешки и проблема не проявляется.
5. Может ли действительно быть так, что проблема появилась из-за того, что компьютер попытался загрузиться с незагрузочной флешки. Можно ли это как-то предотвратить? Или следует разрешать загрузку с флешек только в тех случаях, когда я действительно хочу загрузиться с флешки?
6. К какому разделу информатики, или администрирования, или ещё чего относится данная проблема? На какие темы следует обратить внимание для повышения собственной грамотности в данном вопросе?
Заранее спасибо всем за ответы. Надеюсь мой пост окажется полезным.