Страница 2 из 2
Не восстанавливается загрузчик GRUB 2.06 на ноутбуке Леново
Добавлено: 21 сен 2022, 06:34
sheridan
ddrews, Вы не правильно ввели команду пытаетесь записать установщик в раздел а не в диск, который возможно даже не смонтирован, поэтому и просил скриншот,
должно быть так:
sudo grub-install /dev/nvme0n1
Не восстанавливается загрузчик GRUB 2.06 на ноутбуке Леново
Добавлено: 23 апр 2023, 18:28
verdell.kibodeaux
ddrews писал(а): ↑18 сен 2022, 16:16
запустил виндовс для обновления этой операционки и драйвера Леново
В этом и кроется проблема - при (недо)обновлении виндоуса

была загружена и установлена такая программка "Lenovo firmware" которая без интерактивного предупреждения прошивает bios/uefi, а затем сбрасывает bios/uefi, а вместе с ним сбрасываются и uefi разделы и тут винда запихивает свою - итог нету Grub menu. На самом деле Grub menu не удаляется а заменяется, Grub остаётся в папке boot в корневом разделе Вашего линукса.
У меня аналогичная ситуация, причем с аналогичной моделью компа. Я решил проблему благодаря двум дополнительноым командам которых посоветовал один индус в этих ваших интернетах))
ссылка на видос доброго индуса . В остальном метод исправления составил на основе 4-5 постов из разных источников, ибо некоторых источниках способы восстановления Grub предназначены для bios/legacy (MBR) которые негодны в нашем случае т.к. у нас bios/uefi (GPT) но общие ходы помогают понять что и как восстанавливается в Grub-е. Пару ссылок:
в askubuntu MBR Grub
установка и исправление загрузки UEFI в Ubuntu
Восстановление Ubuntu после установки Windows
метод через терминал и через программу Boot-Repair с расширенными опциями для обхода nvram ошибки
восстановление grub
Значит вот выполненные шаги (предварительно загрузившись в Live-CD linuxmint 21.1):
- 1) В терминале смотрим на наш диск, где установлены линукс и виндоус, на наличие разделов, среди которых нам нужны будут два: пути расположения корневого раздела линукса и раздела EFI
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 206847 204800 100M EFI System
/dev/nvme0n1p2 206848 239615 32768 16M Microsoft reserved
/dev/nvme0n1p3 239616 314945535 314705920 150.1G Microsoft basic data
/dev/nvme0n1p4 314945536 316563455 1617920 790M Windows recovery environment
/dev/nvme0n1p5 316563456 986216447 669652992 319.3G Linux filesystem
/dev/nvme0n1p6 986216448 1000214527 13998080 6.7G Linux swap
- 2) Монтируем наш корневой раздел в папку mnt нашего Live-CD
- 3) Проверяем смонтирован ли раздел, обращяя внимание на наличие стандартных системных папок линукса (bin, boot, home и т.д.), а так же проверяем папку boot в этом же разделе на наличие файлов загрузки (ядра, конфиги и т.д.)
bin boot cdrom dev etc home lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin srv sys tmp
grub initrd.img-5.15.0-58-generic initrd.img.old vmlinuz-5.15.0-58-generic vmlinuz.old
System.map-5.15.0-58-generic config-5.15.0-56-generic config-5.15.0-67-generic initrd.img initrd.img-5.15.0-60-generic vmlinuz vmlinuz-5.15.0-60-generic
System.map-5.15.0-60-generic config-5.15.0-58-generic efi initrd.img-5.15.0-56-generic
- 4) Далее создаём ссылки на эти системные папки нашего Live-CD, к которым GRUB должен иметь доступ для обнаружения всех операционных систем и монтируем их в папку mnt
Код: Выделить всё
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
- 5) Так же монтируем EFI раздел нашего диска, в котором установлены линукс и виндоус, в папку boot корневого раздела нашего линукса смонтированного в папку mnt нашего Live-CD
- 6) Начинаем рут сессию в монтированном корневом разделе
- 7) Установка Grub диск (Grub сам найдёт нужный раздел, т.е. EFI раздел. Поэтому указываем только диск без каких либо разделов. nvme0n1 это SSD диск, nvme0n1p1 это раздел номер 1 в диске)
В 3-м шагу если мы не обнаружили наличие файлов загрузки после команды ls /mnt/boot/ то в 7-м шаге сперва выполняем команду:
которая автоматически определяет файловые системы на нашем компьютере и генерирует новый файл конфигурации Grub.
После вышеуказанной комманды установки Grub у меня вышла такая ошибка:
Installing for x86_64-efi platform.
grub-install: warning: EFI variables cannot be set on this system.
grub-install: warning: You will have to complete the GRUB setup manually.
Installation finished. No error reported.
После два дня поисков\чтения постов\форумов\ютубов нашел в последнем видос доброго индуса где тот советовал выполнить две дополнительных команд, которые решают проблему EFI variables. Далее по порядку.
- 8) Завершаем рут сессию в нашем монтированном корневом разделе
- 9) Выполняем первую дополнительную команду доброго индуса:
- 10) Заново начинаем рут сессию в нашем монтированном корневом разделе
- 11) Выполняем вторую дополнительную команду доброго индуса:
Код: Выделить всё
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
- 12) И наконец повторяем команду установки Grub (Grub сам найдёт нужный раздел, т.е. EFI раздел. Поэтому указываем только диск без каких либо разделов. nvme0n1 это SSD диск, nvme0n1p1 это раздел номер 1 в диске)
Installing for x86_64-efi platform.
Installation finished. No error reported.
- 13) Проверяем совпадают ли UUID (коды идентификации) EFI раздела с информацией о разделах в конфигурационном файле /etc/fstab в нашем корневом разделе, которая смонтирована в папку mnt нашего Live-CD
найти UUID в выводе команды и сравнить с выводом следующей команды:
Если не совпадают то вписать UUID с первого вывода в этот fstab файл, где нужно найти строку с /boot/efi через команду nano /etc/fstab
- 15) Под конец размонтируем ранее смонтированные разделы. Если некоторые станут ругаться что они заняты и не могут размонтироваться, не обращать внимание, выполнить команды по очереди и затем выключаем комп, не перезагрузка а именно выключение. Вынимаем флешку с Live-CD и нажимаем кнопку включения.
Код: Выделить всё
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt/boot/efi
sudo umount /mnt
sudo umount /dev/nvme0n1p5
- 16) Нас должен встретить Grub menu. Если в менью нет выбора виндоуса либо же есть но виндоус не загружается, то в Grub выбираем наш линукс минт и загружаемся в него
- 17) В терминале с правами рута набираем команду обновления записей конфигурации Grub
- 18) После перезагружаемся и выбираем виндоус, должен нормально загрузится. Снова перезагружаемся, выбираем линукс минт, тоже должен нормально загрузиться.
У меня данный метод сработал. Потратил пару дней на чтение различных методов, большинство методов предназначены для старого MBR Grub, а если не быть осторожным и не знать какая команда что и где делает что-то то легко можно вообще стереть сохранённый Grub менью, а то и вовсе поломать всю систему корневого раздела, а это потеря данных мама прости. Поэтому с этим осторожно, информации полноценной не нашёл, искал по частям информацию про то как восстанавливать UEFI Grub потратив пару дней.
Не восстанавливается загрузчик GRUB 2.06 на ноутбуке Леново
Добавлено: 23 апр 2023, 19:11
Slav164
В шапку темы
Не восстанавливается загрузчик GRUB 2.06 на ноутбуке Леново
Добавлено: 23 апр 2023, 19:42
symon2014
Slav164 писал(а): ↑23 апр 2023, 19:11
В шапку темы
Или в корзину для бумаг.