UEFI, восстановление загрузки
Добавлено: 17 ноя 2024, 16:59
Известна проблема загрузки ос при перестановке системного диска с двумя операционными системами(windows, linux) в другую машину, когда при загрузке не удается загрузиться в Linux, его "не видно". И манипуляции с биос не помогают. При этом в некоторых версиях уже отсутствует поддержка Legacy и настройки переключения UEFI/Legacy попросту нет.
Есть статья, в которой довольно подробно описаны действия по восстановлению, и они работают, любой более менее знакомый с linux пользователь справится.
https://www.decker.su/2017/07/ubuntu-ue ... epair.html
Эту тему я пишу для совсем "зеленых" пользователей как я, не особо работающих с командной строкой и не знающих некоторых нюансов линукса.
Как и написано в статье выше, вводим команду sudo fdisk -l и получаем список разделов.
Устр-во начало Конец Секторы Размер Тип
/dev/nvme1n1p1 2048 514047 512000 250M EFI
/dev/nvme1n1p2 514048 776191 262144 128M Зарезервированный раздел Mi
/dev/nvme1n1p3 776192 460611604 459835413 219,3G Microsoft basic data
/dev/nvme1n1p4 963987456 996968447 32980992 15,7G Среда для восстановления Mi
/dev/nvme1n1p5 460613632 961959935 501346304 239,1G Файловая система Linux
Ищем раздел EFI, у меня он называется /dev/nvme1n1p1. Но, два последних символа это номер раздела, и он нам не нужен - оставляем dev/nvme1n1. А Номер раздела у нас p1, понадобится далее*
Далее монтируем его - sudo mount /dev/nvme1n1 /mnt .
Далее прописываем наш вариант загрузчика:
efibootmgr -c -d /dev/nvme1n1 -p НОМЕР_РАЗДЕЛА -L "Ubuntu" -l "\Efi\ubuntu\grubx64.efi"
*НОМЕР_РАЗДЕЛА - на моем примере это раздел p1, нам нужна только цифра.
Так же важно прописать путь к файлу в нужном регистре, например в моем случае это было EFI, в статье, на которую я сослался вначале, в верхнем регистре только первая буква.
Проверяем командой:
ls /mnt
ls /mnt/EFI/
Итоговая команда выглядит так: efibootmgr -c -d /dev/nvme1n1 -p 1 -L "Ubuntu" -l "\EFI\ubuntu\grubx64.efi"
Есть статья, в которой довольно подробно описаны действия по восстановлению, и они работают, любой более менее знакомый с linux пользователь справится.
https://www.decker.su/2017/07/ubuntu-ue ... epair.html
Эту тему я пишу для совсем "зеленых" пользователей как я, не особо работающих с командной строкой и не знающих некоторых нюансов линукса.
Как и написано в статье выше, вводим команду sudo fdisk -l и получаем список разделов.
Устр-во начало Конец Секторы Размер Тип
/dev/nvme1n1p1 2048 514047 512000 250M EFI
/dev/nvme1n1p2 514048 776191 262144 128M Зарезервированный раздел Mi
/dev/nvme1n1p3 776192 460611604 459835413 219,3G Microsoft basic data
/dev/nvme1n1p4 963987456 996968447 32980992 15,7G Среда для восстановления Mi
/dev/nvme1n1p5 460613632 961959935 501346304 239,1G Файловая система Linux
Ищем раздел EFI, у меня он называется /dev/nvme1n1p1. Но, два последних символа это номер раздела, и он нам не нужен - оставляем dev/nvme1n1. А Номер раздела у нас p1, понадобится далее*
Далее монтируем его - sudo mount /dev/nvme1n1 /mnt .
Далее прописываем наш вариант загрузчика:
efibootmgr -c -d /dev/nvme1n1 -p НОМЕР_РАЗДЕЛА -L "Ubuntu" -l "\Efi\ubuntu\grubx64.efi"
*НОМЕР_РАЗДЕЛА - на моем примере это раздел p1, нам нужна только цифра.
Так же важно прописать путь к файлу в нужном регистре, например в моем случае это было EFI, в статье, на которую я сослался вначале, в верхнем регистре только первая буква.
Проверяем командой:
ls /mnt
ls /mnt/EFI/
Итоговая команда выглядит так: efibootmgr -c -d /dev/nvme1n1 -p 1 -L "Ubuntu" -l "\EFI\ubuntu\grubx64.efi"