grub-install : команда не найдена

Вопрос или проблема

У меня были установлены Windows 8.1 и Kali Linux на расширенном разделе. По какой-то причине я только отформатировал раздел, на котором была установлена Windows, и переустановил ее. Теперь система загружается только в Windows и не показывает grub.

Я использую загрузочную USB и попробовал переустановить grub:

grub-install --boot-directory=/mnt/boot /dev/sda

и получаю ошибку:

grub-install :команда не найдена

Чтобы дополнить ответ пользователя @kirill-a и немного его расширить:

Вот что я сделал недавно, чтобы восстановить загрузчик GRUB на компьютере с двойной загрузкой Windows 8 и Debian 8, после того как переустановка Windows 8 очистила предыдущую запись загрузчика GRUB в начале диска.

ПРИЕМ ГРУБ2: метод ‘chroot’ с USB/CD на linux:

Эти инструкции применимы в общем к незашифрованному диску, не использующему LVM на дистрибутивах на основе Debian, небольшие изменения необходимы в названиях каталогов и утилитах, используемых в дистрибутивах на основе RHEL/SUSE и, возможно, Arch.

Начните с загрузочной Live USB или CD с выбранным вами дистрибутивом.

  1. Используйте lsblk, чтобы определить дескриптор имени ядра (т.е. /dev/xxyN) блока устройства с отсутствующим или поврежденным загрузчиком GRUB.

Все последующие действия необходимо выполнять от имени root (используйте su или sudo).

  1. Создайте временную точку монтирования для установленного Linux:

    mkdir -p /mnt/linux
    

    (опция -p создает родительский каталог /mnt, если он еще не существует)

  2. Используя /dev/xxyN из предыдущей команды lsblk:

    mount /dev/xxyN /mnt/linux
    
  3. Следующая команда необходима только в том случае, если у вас есть отдельный раздел /boot; /dev/xxyN здесь представляет дескриптор имени ядра вашего раздела /boot.

    mount /dev/xxyN /mnt/linux/boot
    
  4. Затем:

    mount -t proc none /mnt/linux/proc
    mount -t sysfs sys /mnt/linux/sys
    mount -o bind /dev /mnt/linux/dev
    mount -t devpts pts /mnt/linux/dev/pts
    chroot /mnt/linux /bin/bash
    grep -v rootfs /proc/mounts > /etc/mtab
    grub-install /dev/xxy
    

    (Здесь dev/xxy = имя устройства и номер, на котором необходимо установить загрузчик GRUB, например, /dev/sda, не включая номер корневого раздела как в /dev/sda1)

  5. Если вы хотите внести какие-либо другие изменения/настройки в GRUB, сейчас самое время отредактировать файл /etc/default/grub и сохранить.

    grub-mkconfig -o /boot/grub/grub.cfg
    
  6. Перезагрузите и проверьте.

Примечание: есть несколько дополнительных шагов в этой процедуре, если ваш загрузчик GRUB2 находится на linux-системе с корнем LVM LV и/или зашифрованным корневым томом. Не стесняйтесь писать мне здесь, у меня есть эти дополнительные инструкции записаны, и я успешно применял их несколько раз к LVM LV на SSD, который содержит зашифрованный корневой том с помощью модуля ядра dm-crypt.

Вам нужно chroot в вашу установленную систему и переустановить grub оттуда:

mount /dev/sda(номер раздела с kali) /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt bash
grub-install --boot-directory=/mnt/boot /dev/sda
update-grub
exit
reboot 

Мой ответ касается команд grub2-install и grub2-mkconfig.

Я также получал ошибку команда не найдена на моем компьютере с Photon OS Linux.

Файлы конфигурации находились в /boot/grub2. Так что я думал, что пакет grub2 уже установлен, но по какой-то причине команды grub2-* не работают.

Однако оказалось, что пакет grub2 не был установлен. Выполнение следующей команды решило проблему.

yum install grub2 -y

Для команды grub-install вам нужно будет установить пакет grub вместо grub2.

вместо этого с помощью следующей команды:

grub2-install --boot-directory=/mnt/boot /dev/sda

Ответ или решение

Ошибка: grub-install: command not found

При работе с установкой загрузчика GRUB на системе с установленными Windows и Kali Linux может возникнуть ошибка grub-install: command not found. Эта проблема может возникать по нескольким причинам, и в данной статье мы рассмотрим, как ее решить.

Причины возникновения ошибки

  1. Отсутствие утилиты GRUB: Возможно, пакет GRUB не установлен в вашей системе. Это часто происходит, если вы загружаетесь с live-USB и не имеете установленного GRUB в среде live-дистрибутива.

  2. Попытка выполнить команду в неправильной среде: Если вы пытаетесь выполнить команду grub-install из live-системы без предварительного перехода в установленную систему через chroot, вы можете получить эту ошибку.

Решение проблемы

Вот шаги, которые помогут вам восстановить загрузчик GRUB:

  1. Запустите live-систему: Загрузитесь с live USB с вашим дистрибутивом Linux (может быть Kali, Ubuntu и т.д.).

  2. Узнайте нужную блокировку устройства:
    Используйте команду lsblk, чтобы определить, какой именно устройстве нуждается в восстановлении загрузчика. Найдите ваш раздел, где установлен Kali Linux (например, /dev/sda1).

  3. Создание точки монтирования:

    sudo mkdir -p /mnt/linux
  4. Монтирование раздела:
    Для примера используем /dev/sda1 как раздел с установленным Kali:

    sudo mount /dev/sda1 /mnt/linux
  5. Монтирование необходимых файловых систем:
    Если у вас есть отдельный раздел /boot, его нужно также смонтировать:

    sudo mount /dev/sdaX /mnt/linux/boot  # Где /dev/sdaX - это раздел для /boot

    Далее выполняем:

    sudo mount --bind /dev /mnt/linux/dev
    sudo mount --bind /proc /mnt/linux/proc
    sudo mount --bind /sys /mnt/linux/sys
  6. Переход в chroot:
    Это позволит вам использовать установленную систему как если бы вы в ней работали:

    sudo chroot /mnt/linux
  7. Установка GRUB:
    Теперь вы можете установить GRUB, используя правильный путь:

    grub-install --boot-directory=/boot /dev/sda

    Обратите внимание, что вы устанавливаете GRUB на устройство (например, /dev/sda), а не на раздел (например, /dev/sda1).

  8. Обновление конфигурации GRUB:
    Для генерации конфигурационного файла GRUB выполните:

    update-grub
  9. Выход из chroot и перезагрузка:
    После завершения выполнения команд выйдите из chroot и перезагрузите систему:

    exit
    sudo reboot

Проверка установки GRUB

После перезагрузки, ваша система должна показать меню GRUB, где вы сможете выбрать, какую операционную систему загрузить.

Заключение

Ошибки типа command not found во время установки GRUB часто возникают из-за отсутствия самого GRUB в системе или из-за работы в неверной среде. Правильное монтирование и выполнение команд в chroot должно помочь вам восстановить загрузчик. Если выполненные шаги не помогли, возможно, стоит проверить, установлен ли пакет GRUB, используя команды, такие как apt, yum или dnf, в зависимости от используемого дистрибутива.

Оцените материал
Добавить комментарий

Капча загружается...