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

Материал из ALT Linux Wiki
(Новая страница: «<ol> <li>Просмотрите список дисков/разделов <pre> # fdisk -l /dev/sda1 * /dev/sda2 </pre> Если список слишком б…»)
 
Нет описания правки
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
==v1==
<ol>
<ol>


Строка 30: Строка 31:
</ol>
</ol>
Источник: [http://help.ubuntu.ru/wiki/%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_grub help.ubuntu.ru]
Источник: [http://help.ubuntu.ru/wiki/%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_grub help.ubuntu.ru]
==v2==
* Если использован [[Rescue|ALT Linux Rescue]]:
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, необходимо выполнить
<source lang="bash">grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sda # заменить /dev/sda на то устройство, куда хочется установить GRUB</source>
если же используется 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]]
{{Category navigation|title=Помощь по ALT Linux Rescue|category=Rescue manuals|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Помощь по ALT Linux Rescue|category=Rescue manuals|sortkey={{SUBPAGENAME}}}}
[[Category:Rescue manuals]]
[[Category:Rescue manuals]]
{{Category navigation|title=GRUB|category=GRUB|sortkey={{SUBPAGENAME}}}}

Версия от 10: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