grub-install: Befehl nicht gefunden


8

Ich hatte Windows 8.1 und Kali Linux in einer erweiterten Partition installiert. Aus irgendeinem Grund habe ich nur die Partition formatiert, auf der Windows installiert und neu installiert wurde. Jetzt bootet es nur noch in Windows und zeigt kein Grub an.

Ich verwende einen Live-USB und habe versucht, grub neu zu installieren:

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

und den Fehler bekommen:

grub-install :command not found

1
Versuchen Sie, sudo grub-install --boot-directory=/mnt/boot /dev/sda grub-install befindet sich in Ihrem, /usr/sbin/was sich nicht im Pfad des normalen Benutzers befindet.
Mohammad Etemaddar

2
Ich habe bekommen, grub-install: command not foundweil in CentOS 7 der Befehl grub2-install ist
Arnon Weinberg

Antworten:


4

Um die Antwort des Benutzers zu ergänzen @kirill-aund ein bisschen mehr zu konkretisieren:

Folgendes habe ich kürzlich getan, um den GRUB-Bootloader auf einem Windows 8- und Debian 8-Dual-Boot-Computer wiederherzustellen, nachdem nach einer Neuinstallation von Windows 8 der vorherige GRUB-Bootloader-Eintrag vom Anfang der Festplatte gelöscht wurde.

REPAIR GRUB2: Live-USB / CD-Chroot-Methode unter Linux:

Diese Anweisungen gelten im Allgemeinen für eine unverschlüsselte Festplatte ohne LVM in Debian-basierten Distributionen. Bei Verzeichnisnamen und Dienstprogrammen, die unter RHEL / SUSE-basierten und möglicherweise Arch-basierten Distributionen verwendet werden, sind geringfügige Änderungen erforderlich.

Beginnen Sie mit einem bootfähigen Live-USB oder einer bootfähigen CD der Distribution Ihrer Wahl.

  1. Verwenden Sie lsblkdiese Option , um den Kernel-Namensdeskriptor (dh /dev/xxyN) des Blockgeräts mit einem fehlenden oder beschädigten GRUB-Bootloader zu ermitteln.

Alle folgenden Aktionen müssen als root ausgeführt werden (use suor sudo).

  1. Erstellen Sie einen temporären Mount-Punkt für das installierte Linux:

    mkdir -p /mnt/linux
    

    (Die -pOption erstellt das übergeordnete Verzeichnis, /mntfalls es noch nicht vorhanden ist.)

  2. Verwenden /dev/xxyNdes vorherigen lsblkBefehls:

    mount /dev/xxyN /mnt/linux
    
  3. Der folgende Befehl ist nur erforderlich, wenn Sie eine separate /bootPartition haben. /dev/xxyNHier wird der Kernel-Namensdeskriptor Ihrer /bootPartition dargestellt.

    mount /dev/xxyN /mnt/linux/boot
    
  4. Dann:

    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
    

    (Hier dev/xxy= der Gerätename und die Nummer, auf der der GRUB-Bootloader installiert werden soll, z. B. /dev/sdaohne die Root-Partitionsnummer wie in /dev/sda1)

  5. Wenn Sie weitere Änderungen / Anpassungen an GRUB vornehmen möchten, ist es jetzt an der Zeit, die /etc/default/grubDatei zu bearbeiten und zu speichern.

    grub-mkconfig -o /boot/grub/grub.cfg
    
  6. Starten Sie neu und überprüfen Sie.

Hinweis: Es gibt mehrere zusätzliche Schritte zu diesem Verfahren, wenn sich Ihr GRUB2-Bootloader auf einem Linux-System mit einem LVM-LV-Root und / oder einem verschlüsselten Root-Volume befindet. Fühlen Sie sich frei, mir hier eine Nachricht zu senden. Ich habe diese zusätzlichen Anweisungen aufgeschrieben und sie mehrmals erfolgreich auf eine LVM-LV auf einer SSD angewendet, die ein mit dem Kernel-dm-crypt-Modul verschlüsseltes Root-Volume enthält.


2

Sie müssen zu chrootIhrem installierten System und grub von dort neu installieren:

mount /dev/sda(number of partition with 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 

update-grub Generierung von grub.cfg ... cat: /boot/grub/video.lst: Keine solche Datei oder kein solches Verzeichnis Keine Volume-Gruppen gefunden Windows 8 (Loader) unter / dev / sda1 gefunden gefunden
sonubreeze

es funktioniert nicht .
Sonubreeze

Versuchen Sie, grub neu zu installieren, oder führen Sie den folgenden Befehl aus echo vbe | sudo tee /boot/grub/video.lstund aktualisieren Sie ihn erneut.
Kirill-a
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.