---
title: 'Восстановить загрузчик Linux в Rescue'
sidebar_label: 'Восстановить загрузчик Linux в Rescue'
sidebar_position: 8
description: 'Как восстановить загрузчик Linux в режиме восстановления и диагностики Rescue'
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'

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

Основной загрузчик операционных систем Linux — GRUB.
Если загрузчик Linux был удален, поврежден или перестал работать после замены диска, вы можете восстановить загрузчик.
Для этого [загрузите сервер в режиме Rescue](/dedicated/troubleshooting/boot-to-recovery.mdx), смонтируйте основные разделы аналогично тому, как они смонтированы в основной системе, и установите загрузчик GRUB.

<Tabs queryString="mount-manually">
  <TabItem value="no-software-raid" default>
    <TabItemLabel>
      Разметка диска без программного RAID
    </TabItemLabel>

    1. [Загрузите сервер в режиме восстановления и диагностики Rescue](/dedicated/troubleshooting/boot-to-recovery.mdx).

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

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

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

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

       ```bash
       lsblk -o +FSTYPE
       ```

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

       ```bash
       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`:

       ```bash
       mount /dev/<system_partition> /mnt
       ```

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

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

       ```bash
       mount /dev/<boot_partition> /mnt/boot
       ```

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

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

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

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

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

       ```bash
       mount --bind /sys /mnt/sys
       mount --bind /proc /mnt/proc
       mount --bind /dev /mnt/dev
       mount -t devpts devpts /mnt/dev/pts
       ```

    9. Подключитесь к окружению:

       ```bash
       chroot /mnt /bin/bash
       ```

    10. Экспортируйте переменную PATH:

    ```bash
    export export PATH=/usr/sbin:/usr/bin:/sbin:/bin:$PATH
    ```

    11. Установите загрузчик GRUB.
        Команда зависит от загрузчика ОС, который вы определили на шаге 2:

        * UEFI:

        ```bash
        grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
        ```

        * BIOS:

        ```bash
        grub-install /dev/<disk>
        ```

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

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

        ```bash
        /sbin/grub-mkconfig -o /boot/grub/grub.cfg
        ```

    13. После завершения работ выйдите из окружения:

        ```bash
        exit
        ```

    14. Размонтируйте служебные файловые системы:

        ```bash
        umount -t devpts devpts /mnt/dev/pts
        umount --bind /dev /mnt/dev
        umount -t sysfs /sys /mnt/sys
        umount -t proc /proc /mnt/proc
        ```

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

        ```bash
        umount /dev/<system_partition> /mnt
        ```

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

  <TabItem value="disk-with-software-raid">
    <TabItemLabel>
      Разметка диска с программным RAID
    </TabItemLabel>

    1. [Загрузите сервер в режиме восстановления и диагностики Rescue](/dedicated/troubleshooting/boot-to-recovery.mdx).

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

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

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

    3. Проверьте, определила ли система RAID-массивы, для этого выведите информацию о разделах на дисках:

       ```bash
       lsblk -o +FSTYPE
       ```

       В ответе появится информация о разделах на дисках и конфигурации RAID-массивов. Например:

       ```bash
       NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT  FSTYPE
       sda       8:0    0 447.6G  0 disk
       ├─sda1    8:1    0   512M  0 part              vfat
       ├─sda2    8:2    0   500M  0 part
       │ └─md0   9:0    0   500M  0 raid1             ext4
       └─sda3    8:3    0 446.6G  0 part
         └─md1   9:1    0 446.6G  0 raid1             ext4
       sdb       8:16   0 447.6G  0 disk
       ├─sdb1    8:17   0   512M  0 part              
       ├─sdb2    8:18   0   500M  0 part
       │ └─md0   9:0    0   500M  0 raid1             ext4
       └─sdb3    8:19   0 446.6G  0 part
         └─md1   9:1    0 446.6G  0 raid1             ext4
       ```

       Здесь `md0`, `md1` — RAID-массивы на разделах дисков. В вашей ОС имена RAID-массивов могут отличаться.

    4. Если на шаге 3 в выводе `lsblk` есть RAID-массивы, пропустите этот шаг.
       Если RAID-массивы отсутствуют, запустите сборку RAID-массивов:

       ```bash
       mdadm --assemble --scan
       ```

    5. Выведите информацию о разделах на дисках и конфигурации RAID-массивов:

       ```bash
       lsblk -o +FSTYPE
       ```

       В ответе появится информация о разделах на дисках и конфигурации RAID-массивов. Например:

       ```bash
       NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT  FSTYPE
       sda       8:0    0 447.6G  0 disk
       ├─sda1    8:1    0   512M  0 part              vfat
       ├─sda2    8:2    0   500M  0 part
       │ └─md0   9:0    0   500M  0 raid1             ext4
       └─sda3    8:3    0 446.6G  0 part
         └─md1   9:1    0 446.6G  0 raid1             ext4
       sdb       8:16   0 447.6G  0 disk
       ├─sdb1    8:17   0   512M  0 part              
       ├─sdb2    8:18   0   500M  0 part
       │ └─md0   9:0    0   500M  0 raid1             ext4
       └─sdb3    8:19   0 446.6G  0 part
         └─md1   9:1    0 446.6G  0 raid1             ext4
       ```

       Здесь `md0`, `md1` — RAID-массивы на разделах дисков. В вашей ОС имена RAID-массивов могут отличаться.

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

       * корневой RAID-раздел `/` — обычно это самый большой раздел на диске, в примере на шаге 5 это массив `md1`;
       * загрузочный RAID-раздел `/boot` — обычно это раздел с файловой системой ext4 и размером 512 МБ — 1 ГБ. В примере на шаге 5 это массив `md0`;
       * раздел EFI `/boot/efi` — используется при загрузке ОС в режиме UEFI. Это раздел с файловой системой vfat. В примере на шаге 5 это раздел `sda1` и, если раздел EFI был клонирован на второй диск, `sdb1`.

    7. Смонтируйте корневую файловую систему в директорию `/mnt`:

       ```bash
       mount /dev/<system_raid_array> /mnt
       ```

       Здесь `<system_raid_array>` — корневой RAID-раздел, который вы выбрали на шаге 6, в примере это `md1`.

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

       ```bash
       mount /dev/<boot_raid_array> /mnt/boot
       ```

       Укажите `<boot_raid_array>` — загрузочный RAID-массив `/boot`, который вы выбрали на шаге 6, в примере это `md0`.

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

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

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

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

        ```bash
        mount --bind /sys /mnt/sys
        mount --bind /proc /mnt/proc
        mount --bind /dev /mnt/dev
        mount -t devpts devpts /mnt/dev/pts
        ```

    11. Подключитесь к окружению:

        ```bash
        chroot /mnt /bin/bash
        ```

    12. Экспортируйте переменную PATH:

        ```bash
        export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin
        ```

    13. Установите загрузчик GRUB.
        Команда зависит от загрузчика ОС, который вы определили на шаге 2:

        * UEFI:

        ```bash
        grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
        ```

        * BIOS — установите загрузчик на каждый диск, с которого будет загружаться ОС:

        ```bash
        grub-install /dev/<disk_1>
        grub-install /dev/<disk_2>
        ```

        Укажите `<disk_1>`, `<disk_2>` — системные диски, на которых установлена ОС и расположен корневой раздел `/`, в примере на шаге 5 это `sda` и `sdb`.
        В зависимости от количества устройств в RAID может быть больше дисков.

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

        ```bash
        /sbin/grub-mkconfig -o /boot/grub/grub.cfg
        ```

    15. После завершения работ выйдите из окружения:

        ```bash
        exit
        ```

    16. Если на вашей системе только один раздел EFI, пропустите этот шаг.
        Если на вашей системе раздел EFI клонирован на несколько дисков, установите загрузчик GRUB на каждый диск:

        16.1. Размонтируйте раздел EFI:

        ```bash
        umount /mnt/boot/efi
        ```

        16.2. Примонтируйте раздел EFI:

        ```bash
        mount /dev/<efi_partition_2> /mnt/efi2
        ```

        Укажите `<efi_partition_2>` — раздел EFI на втором диске, в примере на шаге 5 это `sdb1`.

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

        ```bash
        mount --bind /sys /mnt/sys
        mount --bind /proc /mnt/proc
        mount --bind /dev /mnt/dev
        mount -t devpts devpts /mnt/dev/pts
        ```

        16.4. Подключитесь к окружению:

        ```bash
        chroot /mnt /bin/bash
        ```

        16.5. Установите загрузчик GRUB:

        ```bash
        grub-install --target=x86_64-efi --efi-directory=/efi2 --bootloader-id=GRUB
        ```

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

        ```bash
        /sbin/grub-mkconfig -o /boot/grub/grub.cfg
        ```

        16.7. После завершения работ выйдите из окружения:

        ```bash
        exit
        ```

    17. Размонтируйте служебные файловые системы:

        ```bash
        umount -t devpts devpts /mnt/dev/pts
        umount --bind /dev /mnt/dev
        umount -t sysfs /sys /mnt/sys
        umount -t proc /proc /mnt/proc
        ```

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

        ```bash
        umount /dev/<system_raid_array> /mnt
        ```

        Укажите `<system_raid_array>` — корневой RAID-раздел `/`, который вы смонтировали на шаге 7, в примере это `md1`.
  </TabItem>
</Tabs>

<Formbricks />
