Не восстанавливается загрузчик GRUB 2.06 на ноутбуке Леново

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

sheridan
Сообщения: 1283
Зарегистрирован: 24 фев 2020, 19:13
Решено: 14
Откуда: Алчевск
Благодарил (а): 892 раза
Поблагодарили: 467 раз
Контактная информация:

Не восстанавливается загрузчик GRUB 2.06 на ноутбуке Леново

#21

21 сен 2022, 06:34

ddrews, Вы не правильно ввели команду пытаетесь записать установщик в раздел а не в диск, который возможно даже не смонтирован, поэтому и просил скриншот,
должно быть так:
sudo grub-install /dev/nvme0n1

no avatar

verdell.kibodeaux
Сообщения: 1
Зарегистрирован: 23 апр 2023, 07:50
Благодарил (а): 3 раза
Поблагодарили: 1 раз
Контактная информация:

Не восстанавливается загрузчик GRUB 2.06 на ноутбуке Леново

#22

23 апр 2023, 18:28

ddrews писал(а):
18 сен 2022, 16:16
запустил виндовс для обновления этой операционки и драйвера Леново
В этом и кроется проблема - при (недо)обновлении виндоуса :acute: была загружена и установлена такая программка "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

    Код: Выделить всё

    sudo fdisk -l
    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

    Код: Выделить всё

    sudo mount /dev/nvme0n1p5 /mnt
  • 3) Проверяем смонтирован ли раздел, обращяя внимание на наличие стандартных системных папок линукса (bin, boot, home и т.д.), а так же проверяем папку boot в этом же разделе на наличие файлов загрузки (ядра, конфиги и т.д.)

    Код: Выделить всё

    ls /mnt/
    bin boot cdrom dev etc home lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin srv sys tmp

    Код: Выделить всё

    ls /mnt/boot/
    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

    Код: Выделить всё

    sudo mount /dev/nvme0n1p1 /mnt/boot/
  • 6) Начинаем рут сессию в монтированном корневом разделе

    Код: Выделить всё

    sudo chroot /mnt
  • 7) Установка Grub диск (Grub сам найдёт нужный раздел, т.е. EFI раздел. Поэтому указываем только диск без каких либо разделов. nvme0n1 это SSD диск, nvme0n1p1 это раздел номер 1 в диске)
    В 3-м шагу если мы не обнаружили наличие файлов загрузки после команды ls /mnt/boot/ то в 7-м шаге сперва выполняем команду:

    Код: Выделить всё

    sudo update-grub
    которая автоматически определяет файловые системы на нашем компьютере и генерирует новый файл конфигурации Grub.

    Код: Выделить всё

    grub-install /dev/nvme0n1
    После вышеуказанной комманды установки 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) Выполняем первую дополнительную команду доброго индуса:

    Код: Выделить всё

    sudo modprobe efivarfs
  • 10) Заново начинаем рут сессию в нашем монтированном корневом разделе

    Код: Выделить всё

    sudo chroot /mnt
  • 11) Выполняем вторую дополнительную команду доброго индуса:

    Код: Выделить всё

    mount -t efivarfs efivarfs /sys/firmware/efi/efivars
  • 12) И наконец повторяем команду установки Grub (Grub сам найдёт нужный раздел, т.е. EFI раздел. Поэтому указываем только диск без каких либо разделов. nvme0n1 это SSD диск, nvme0n1p1 это раздел номер 1 в диске)

    Код: Выделить всё

    grub-install /dev/nvme0n1
    Installing for x86_64-efi platform.
    Installation finished. No error reported.
  • 13) Проверяем совпадают ли UUID (коды идентификации) EFI раздела с информацией о разделах в конфигурационном файле /etc/fstab в нашем корневом разделе, которая смонтирована в папку mnt нашего Live-CD

    Код: Выделить всё

    blkid | grep -i efi
    найти UUID в выводе команды и сравнить с выводом следующей команды:

    Код: Выделить всё

    grep -i efi /etc/fstab
    Если не совпадают то вписать 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

    Код: Выделить всё

    sudo update-grub
  • 18) После перезагружаемся и выбираем виндоус, должен нормально загрузится. Снова перезагружаемся, выбираем линукс минт, тоже должен нормально загрузиться.
    У меня данный метод сработал. Потратил пару дней на чтение различных методов, большинство методов предназначены для старого MBR Grub, а если не быть осторожным и не знать какая команда что и где делает что-то то легко можно вообще стереть сохранённый Grub менью, а то и вовсе поломать всю систему корневого раздела, а это потеря данных мама прости. Поэтому с этим осторожно, информации полноценной не нашёл, искал по частям информацию про то как восстанавливать UEFI Grub потратив пару дней.

Аватара пользователя

Slav164
Сообщения: 269
Зарегистрирован: 01 фев 2018, 15:41
Откуда: Барнаул
Благодарил (а): 12 раз
Поблагодарили: 33 раза
Контактная информация:

Не восстанавливается загрузчик GRUB 2.06 на ноутбуке Леново

#23

23 апр 2023, 19:11

В шапку темы

Аватара пользователя

symon2014
Сообщения: 5934
Зарегистрирован: 16 дек 2017, 21:59
Решено: 37
Откуда: Феодосия
Благодарил (а): 32 раза
Поблагодарили: 750 раз
Контактная информация:

Не восстанавливается загрузчик GRUB 2.06 на ноутбуке Леново

#24

23 апр 2023, 19:42

Slav164 писал(а):
23 апр 2023, 19:11
В шапку темы
Или в корзину для бумаг.

Ответить

Вернуться в «Иные системные ошибки»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость