Перейти к основному содержимому

Восстановить загрузчик Linux в Rescue

Последнее изменение:

Основной загрузчик операционных систем Linux — GRUB. Если загрузчик Linux был удален, поврежден или перестал работать после замены диска, вы можете восстановить загрузчик. Для этого загрузите сервер в режиме Rescue, смонтируйте основные разделы аналогично тому, как они смонтированы в основной системе, и установите загрузчик GRUB.

  1. Загрузите сервер в режиме восстановления и диагностики Rescue.

  2. Определите режим загрузки ОС:

    [ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS"

    В ответе появится информация о режиме загрузки ОС — BIOS или UEFI.

  3. Выведите информацию о разделах на доступных дисках:

    lsblk -o +FSTYPE

    В ответе появится список дисков с разделами. Например:

    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS FSTYPE
    sda 8:0 0 25G 0 disk
    ├─sda1 8:1 0 1M 0 part
    ├─sda2 8:2 0 512M 0 part vfat
    ├─sda3 8:2 0 1G 0 part ext4
    └─sda4 8:3 0 23,5G 0 part ext4
    sdb 8:16 0 8G 0 disk
    ├─sdb1 8:17 0 4G 0 part ext4
    └─sdb2 8:20 0 4G 0 part xfs

    Здесь sda1, sda2, sda3, sda4, sdb1, sdb2 — разделы на дисках. В вашей ОС имена разделов могут отличаться.

  4. Определите разделы, которые нужно монтировать:

    • корневой раздел / — обычно это самый большой раздел на диске, в примере на шаге 3 это раздел sda4;
    • загрузочный раздел /boot — обычно это раздел с файловой системой ext4 и размером 512 МБ — 1 ГБ. В примере на шаге 3 это раздел sda3;
    • раздел EFI /boot/efi — используется при загрузке ОС в режиме UEFI. Это раздел с файловой системой vfat. В примере на шаге 3 это раздел sda2.
  5. Смонтируйте корневую файловую систему в директорию /mnt:

    mount /dev/<system_partition> /mnt

    Укажите <system_partition> — корневой раздел /, который вы выбрали на шаге 4, в примере это sda4.

  6. Примонтируйте загрузочный раздел:

    mount /dev/<boot_partition> /mnt/boot

    Укажите <boot_partition> — загрузочный раздел /boot на диске, который вы выбрали на шаге 4, в примере это sda3.

  7. Если используется UEFI-загрузчик ОС, примонтируйте раздел EFI:

    mount /dev/<efi_partition> /mnt/boot/efi

    Укажите <efi_partition> — раздел EFI /boot/efi, который вы выбрали на шаге 4, в примере это sda2.

  8. Смонтируйте служебные файловые системы:

    mount --bind /sys /mnt/sys
    mount --bind /proc /mnt/proc
    mount --bind /dev /mnt/dev
    mount -t devpts devpts /mnt/dev/pts
  9. Подключитесь к окружению:

    chroot /mnt /bin/bash
  10. Экспортируйте переменную PATH:

export export PATH=/usr/sbin:/usr/bin:/sbin:/bin:$PATH
  1. Установите загрузчик GRUB. Команда зависит от загрузчика ОС, который вы определили на шаге 2:

    • UEFI:
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
    • BIOS:
    grub-install /dev/<disk>

    Укажите <disk> — системный диск, на котором установлена ОС и расположен корневой раздел /, в примере на шаге 3 это sda.

  2. Создайте файл конфигурации GRUB:

    /sbin/grub-mkconfig -o /boot/grub/grub.cfg
  3. После завершения работ выйдите из окружения:

    exit
  4. Размонтируйте файловую систему:

    umount /dev/<system_partition> /mnt

    Укажите <system_partition> — корневой раздел /, который вы смонтировали на шаге 5, в примере это sda4.