Переустановка GRUB: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 52: Строка 52:
  grub-efi-autoupdate
  grub-efi-autoupdate


Если при этом выдаётся следующая ошибка ошибка:
Если при этом выдаётся следующая ошибка:


  Installing for x86_64-efi platform.
  Installing for x86_64-efi platform.

Версия от 13:30, 18 марта 2024

v1

  1. Просмотрите список дисков/разделов
    # fdisk -l
    /dev/sda1 *
    /dev/sda2
    

    Если список слишком большой, воспользуйтесь командой more:

    # fdisk -l | more
    
  2. Смонтируйте раздел/диск с Linux
    # mount /dev/sda2 /mnt
  3. Для переустановки/восстановления GRUB выполните:
    grub-install --root-directory=/mnt /dev/sda

    Если вы хотите установить загрузчик на расширенный раздел, добавьте ключ --force.

    grub-install --force --root-directory=/mnt /dev/sda2
  4. Если так же нужно обновить меню GRUB:
    update-grub --output=/mnt/boot/grub/grub.cfg

Источник: help.ubuntu.ru

v2

mount-system
chroot /mnt/system1
  • Если в используемом LiveCD нет mount-system, делаем самостоятельно (предполагая/зная, что корень на /dev/sda2):
mount /dev/sda2 /mnt 
mount -o bind /dev /mnt/dev
mount -o bind /proc /mnt/proc
mount -o bind /run /mnt/run
mount -o bind /sys /mnt/sys
chroot /mnt/ /bin/bash

После того как проведены подготовительные действия и сделан сhroot, необходимо выполнить

grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sda # заменить /dev/sda на то устройство, куда хочется установить GRUB

если же используется EFI-режим, может потребоваться восстановить загрузчик в ESP-разделе (EFI System Partition), который монтируется в /boot/efi:

mount -a # достаточно смонтировать точку монтирования /boot/efi
grub-efi-autoupdate

Если при этом выдаётся следующая ошибка:

Installing for x86_64-efi platform.
EFI variables are not supported on this system.
EFI variables are not supported on this system.
grub-install: error: efibootmgr failed to register the boot entry: No such file or directory.

то необходимо перед вызовом grub-efi-autoupdate сделать следующее:

mount -t efivarfs efivarfs /sys/firmware/efi/efivars

Источник: Grub