Wie kann ich grub reparieren? (Wie bekomme ich Ubuntu nach der Installation von Windows zurück?)

303

Ich habe Windows 7 installiert, das die Boot-Datei von Ubuntu verwendet hat. Beim Starten des Computers geht es jetzt direkt zu Windows, ohne dass ich die Möglichkeit habe, Ubuntu zu booten.

Wie kann ich Ubuntu zurückbekommen?

    
Salahuddin 17.12.2011, 08:02
quelle

11 Antworten

310

Wenn Sie Windows installieren, geht Windows davon aus, dass es das einzige Betriebssystem (OS) auf dem Computer ist, oder zumindest nicht für Linux. Es ersetzt also GRUB mit einem eigenen Bootloader. Was Sie tun müssen, ist den Windows-Bootloader mit GRUB zu ersetzen. Ich habe verschiedene Anweisungen zum Ersetzen von GRUB gesehen, indem ich mit GRUB-Befehlen oder Ähnlichem herumgespielt habe, aber für mich ist der einfachste Weg, einfach chroot in deine Installation zu setzen und update-grub auszuführen. chroot ist großartig, weil Sie damit an Ihrer tatsächlichen Installation arbeiten können, anstatt zu versuchen, die Dinge hier und da umzuleiten. Es ist wirklich sauber.

So geht's:

  1. Booten Sie von der Live-CD oder Live-USB im "Try Ubuntu" -Modus.
  2. Ermitteln Sie die Partitionsnummer Ihrer Hauptpartition. sudo fdisk -l , sudo blkid oder GParted (die bereits standardmäßig in der Live-Sitzung installiert sein sollten) können Ihnen hier helfen. Ich gehe in dieser Antwort davon aus, dass es /dev/sda2 ist, aber stelle sicher, dass du die richtige Partitionsnummer für dein System verwendest!

    Wenn sich Ihre Hauptpartition in einem LVM befindet , wird das Gerät stattdessen in /dev/mapper/ , höchstwahrscheinlich /dev/mapper/{volume}--{os}-root , wobei {volume} der Name des LVM-Datenträgers und {os} ist das Betriebssystem. Führen Sie ls /dev/mapper für den genauen Namen aus.

  3. Mounten Sie Ihre Partition:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2
    

    Wenn Sie separate /boot , /var oder /usr Partitionen haben, wiederholen Sie die Schritte 2 und 3, um diese Partitionen nach /mnt/boot , /mnt/var bzw. /mnt/usr zu mounten . Zum Beispiel

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr
    

    Ersetzen von sdXW , sdXY und sdXZ durch die entsprechenden Partitionsnummern.

  4. Bind mount einige andere notwendige Sachen:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. Wenn Ubuntu im EFI-Modus installiert ist ( finden Sie diese Antwort, wenn Sie sich nicht sicher sind ), verwenden Sie sudo fdisk -l | grep -i efi oder GParted, um Ihre EFI-Partition zu finden. Es wird eine Bezeichnung von EFI haben. Mounten Sie diese Partition, indem Sie sdXY durch die tatsächliche Partitionsnummer für Ihr System ersetzen:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot in deine Ubuntu-Installation:

    sudo chroot /mnt
    
  7. An diesem Punkt befinden Sie sich in Ihrer Installation und nicht in der Live-Sitzung und werden als root ausgeführt. Aktualisieren grub:

    update-grub
    

    Wenn Sie Fehler erhalten oder wenn Sie mit Schritt 7 Ihr Problem nicht beheben konnten, fahren Sie mit Schritt 8 fort (andernfalls ist es optional.)

  8. Abhängig von Ihrer Situation müssen Sie grub möglicherweise neu installieren:

    grub-install /dev/sda
    update-grub # In order to find and add windows to grub menu.
    
  9. Wenn Ubuntu im EFI-Modus installiert ist und sich die UUID der EFI-Partition geändert hat, müssen Sie sie möglicherweise in /etc/fstab aktualisieren. Vergleiche es:

    blkid | grep -i efi
    grep -i efi /etc/fstab
    

    Wenn sich die aktuelle UUID der EFI-Partition (von blkid ) von der in /etc/fstab unterscheidet, aktualisieren Sie /etc/fstab mit der aktuellen UUID.

  10. Wenn alles ohne Fehler funktioniert, dann sind Sie fertig:

    exit
    sudo reboot
    
  11. An diesem Punkt sollten Sie in der Lage sein, normal zu booten.

Wenn Sie nicht normal booten können und Schritt 8 nicht ausgeführt haben, weil keine Fehlermeldungen aufgetreten sind, versuchen Sie es erneut mit Schritt 8.

  • Manchmal reicht es nicht aus, GRUB2 die richtige Konfiguration für Ihre Partitionen zu geben, und Sie müssen es tatsächlich installieren (oder neu installieren) im Master Boot Record, was in Schritt 8 der Fall ist. Die Erfahrung, Benutzern im Chat zu helfen, hat gezeigt, dass Schritt 8 manchmal notwendig ist, selbst wenn keine Fehlermeldungen angezeigt werden.
Scott Severance 17.12.2011, 13:23
quelle
91

Das Windows-Installationsprogramm kümmert sich nicht um andere Betriebssysteme im System. Es schreibt also eigenen Code über den Master Boot Record. Zum Glück ist die Lösung auch einfach.

Sie müssen den MBR reparieren. Tun Sie das Folgende

Booten Sie mit einem Live-Usb / CD von Ubuntu. Verwenden Sie boot-repair , um das Problem zu beheben.

Nach dem Booten mit Live-USB / CD, führen Sie folgenden Befehl im Terminal:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Verwenden Sie Recomended Repair .

Weitere Informationen - Pfandrecht

    
Web-E 01.09.2012 08:59
quelle
33

Ich habe nie Probleme bekommen, indem ich diese Anweisungen benutzt habe:
Pfand

Zunächst müssen Sie Ihr System von einer Live-CD starten. Dann

  

METHODE 3 - CHROOT

     

Diese Installationsmethode verwendet den chroot-Befehl, um darauf zuzugreifen   die Dateien des defekten Systems. Sobald der Chroot-Befehl ausgegeben wird, wird der   LiveCD behandelt das defekte System als sein eigenes. Befehle werden in einem ausgeführt   chroot environment beeinflusst die defekten Systemdateisysteme und nicht   diejenigen der LiveCD.

     
  1. Starten Sie den LiveCD-Desktop (Ubuntu 9.10 oder später). Bitte beachten Sie, dass die Live-CD mit dem System identisch sein muss, das Sie reparieren - entweder   32-Bit oder 64-Bit (wenn nicht, dann wird die Chroot fehlschlagen).

  2.   
  3. Öffnen Sie ein Terminal (Anwendungen & gt; Zubehör & gt; Terminal).

  4.   
  5. Bestimmen Sie Ihre normale Systempartition - (der Schalter ist ein Kleinbuchstabe "L")

    sudo fdisk -l
    
         

    Wenn Sie nicht sicher sind, führen Sie

    aus
    df -Th  
    
         

    Suchen Sie nach der richtigen Festplattengröße und dem ext3- oder ext4-Format.

  6.   
  7. Mounten Sie Ihre normale Systempartition:

         

    Ersetzen Sie die richtige Partition: sda1, sdb5 usw.

    sudo mount /dev/sdXX /mnt  
    
         

    Beispiel: sudo mount /dev/sda1 /mnt

  8.   
  9. Nur wenn Sie eine separate Boot-Partition haben:   sdYY ist die Bezeichnung / boot-Partition (zum Beispiel sdb3)

    sudo mount /dev/sdYY /mnt/boot
    
  10.   
  11. Hängen Sie die kritischen virtuellen Dateisysteme ein:

    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /dev/pts /mnt/dev/pts
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    
  12.   
  13. Chroot in dein normales Systemgerät:

    sudo chroot /mnt
    
  14.   
  15. Wenn keine /boot/grub/grub.cfg vorhanden ist oder sie nicht korrekt ist, erstellen Sie eine mit

    update-grub
    
  16.   
  17. Installieren Sie GRUB 2 neu:

         

    Ersetzen Sie das richtige Gerät - sda, sdb usw. Geben Sie keine Partitionsnummer an.

    grub-install /dev/sdX
    
  18.   
  19. Überprüfen Sie die Installation (verwenden Sie das richtige Gerät, z. B. sda. Geben Sie keine Partition an):

    sudo grub-install --recheck /dev/sdX
    
  20.   
  21. Beenden Sie chroot: STRG-D auf der Tastatur

  22.   
  23. Unmounten Sie virtuelle Dateisysteme:

    sudo umount /mnt/dev/pts
    sudo umount /mnt/dev
    sudo umount /mnt/proc
    sudo umount /mnt/sys
    
  24.   
  25. Wenn Sie eine separate / boot-Partition gemountet haben:

    sudo umount /mnt/boot
    
  26.   
  27. Heben Sie das Verzeichnis "LiveCDs / usr" auf:

    sudo umount /mnt/usr
    
  28.   
  29. Unmount letztes Gerät:

    sudo umount /mnt
    
  30.   
  31. Neustart.

    sudo reboot
    
  32.   
    
desgua 27.04.2012 04:15
quelle
18

Booten Sie von einem USB-Stick oder einer CD von Ubuntu und
Installieren Sie Boot-Repair auf Ubuntu, indem Sie die Schritte

befolgen

Öffnen Sie das Terminal und führen Sie die folgenden Befehle aus

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

Nachdem Sie die Installation abgeschlossen haben, können Sie sie im System- & gt; Administration- & gt; Boot-Repair-Menü starten, wenn Sie Gnome verwenden, oder Sie suchen "boot-repair" im Bindestrich, wenn Sie Unity verwenden. Dann folgen Sie den folgenden Screenshots:

Methode 1

  • Klicken Sie auf die erweiterten Optionen

  • Kreuzen Sie die unten gezeigten Optionen an

  • Ändern Sie den Tab auf Grub Location Tab und kreuzen Sie die in der Abbildung gezeigten Optionen an

Klicken Sie auf Übernehmen und starten Sie das System neu

Methode 2

  • Wählen Sie die empfohlenen Boot-Reparaturoptionen aus, wie im ersten Screenshot
  • gezeigt

Dokumentation:

    
Stormvirux 30.07.2013 21:25
quelle
10

Installiere easyBCD in Windows 7 und mache

Neuen Eintrag hinzufügen & gt; Linux / BSD & gt; (Wählen Sie) Grub2 & gt; (push) Eintrag hinzufügen

Dann können Sie Ubuntu auf dem Windows 7 Bootloader auswählen, um zu Grub2 (vorheriger Bootloader) zu gelangen.

    
hamed 11.03.2012 23:09
quelle
5

Es gibt jetzt eine einfachere Lösung:

  1. Starten Sie neu und geben Sie die BIOS-Optionen Ihres Computers ein (F2 oder manchmal F11).
  2. Gehen Sie zum Boot -Menü und wählen Sie Startgerätepriorität
  3. Überprüfen Sie, ob Windows Boot Manager über dem Hauptstartlaufwerk liegt (normalerweise SATA HDD ... oder IDE HDD ... ). Ist dies der Fall, verschieben Sie die Bootdiskettenpriorität über die des Windows-Start-Managers.
  4. Speichern Sie Ihre BIOS-Optionen und beenden Sie (normalerweise F10).

Dies wurde auf einem Samsung Series 7 Chronos Laptop Dual-Boot-Windows 8 und Ubuntu 13.10 getestet, Secure Boot deaktiviert, UEFI und Legacy-Boot aktiviert.

    
scruss 15.12.2013 14:04
quelle
2

Boot-Repair hat für mich funktioniert. Es ist sehr sehr einfach, grafische Anwendung zu verwenden, Sie müssen nicht die Befehlszeile verwenden, Sie müssen nur auf eine Schaltfläche klicken:)

Alle verfügbaren Reparaturoptionen sind in der Ubuntu-Dokumentation beschrieben und es gibt ein separate Seite und erklärt, wie man Boot-Repair startet (indem man eine bootfähige Diskette erstellt oder sie auf einer vorhandenen Ubuntu-Live-Disk installiert) und wie man sie benutzt / p>

Starten Sie einfach eine Ubuntu Live-CD, installieren Sie Boot-Repair und führen Sie sie aus.

    
lorenzo-s 18.12.2011 02:41
quelle
1

Wenn GRUB defekt ist, hat der Benutzer in der Regel keinen Zugriff auf Systeme. Daher muss die Reparatur von einer Live-Sitzung (Live-CD oder Live-USB) durchgeführt werden.

Es gibt viele mögliche Ursachen für eine GRUB-Unterbrechung: Windows schreibt auf den MBR, DRM verhindert, dass GRUB korrekt installiert wird, Installer-Fehler, Hardware-Änderung ... Das Aktualisieren von GRUB, wie es ursprünglich von Scott vorgeschlagen wurde, reicht im Allgemeinen nicht aus. Eine Neuinstallation von GRUB, wie von Marco vorgeschlagen, ist effizienter, aber dennoch gibt es verschiedene Situationen, die andere Optimierungen erfordern (Hinzufügen von Optionen zum Kernel, Einblenden des GRUB-Menüs, Ändern von GRUB-Optionen, Auswählen der richtigen Host-Architektur) ...). Andere Schwierigkeiten bei der Reparatur von GRUB sind die Verwendung von Chroot und die Auswahl der richtigen Partitionen / Festplatten.

All dies wurde in einem kleinen grafischen Tool leicht gemacht: Boot-Repair . Es soll in Ubuntu 12.04 CD zur einfacheren Verwendung integriert werden, aber für Leute, die es jetzt brauchen, gibt es bereits einige Distributionen, die es integrieren: Ubuntu-Secured-Remix (Ubuntu CD integriert Boot-Repair), Boot-Repair-Disk (CD läuft Boot- Reparatur beim Start), ...

Hoffe, das hilft.

    
LovinBuntu 20.12.2011 09:58
quelle
1

Auf EFI-basierten Systemen (wie den meisten Systemen, die mit Windows 8 oder höher ausgeliefert wurden) aktualisiert Windows manchmal seinen Bootloader oder setzt ihn als Standard-Bootloader zurück. Dies ist besonders häufig bei einer Neuinstallation des Betriebssystems oder bei einer größeren Systemaktualisierung (z. B. beim Upgrade auf die neueste Windows-Version) der Fall. Beachten Sie, dass Windows wahrscheinlich keine GRUB-Dateien auf einem EFI-basierten Computer löscht. Alles, was zum Booten von Ubuntu benötigt wird, ist noch vorhanden. es wird nur umgangen. In diesen Fällen ist eine vollständige Neuinstallation von GRUB übertrieben, und tatsächlich birgt das eine (kleine) Chance, dass es neue Probleme schaffen wird.

Anstatt GRUB in diesen Fällen neu zu installieren, empfehle ich daher, GRUB (oder den von Ihnen bevorzugten Bootloader oder Bootmanager) als Standard zu setzen. Dazu gibt es mehrere Möglichkeiten:

  • EasyUEFI - Die einfachste Möglichkeit, die Startreihenfolge anzupassen, wenn das System direkt zu Windows hochfährt, ist EasyUEFI, , das ist ein kostenloses (für die Basisversion) Third-Party-GUI-Tool zum Verwalten der EFI-Startreihenfolge. Es ist ziemlich selbsterklärend - suchen Sie den Eintrag ubuntu in der Liste der Startoptionen und verschieben Sie ihn an den Anfang der Liste. Beim nächsten Neustart sollte GRUB angezeigt werden. (Wenn Sie etwas anderes als GRUB verwenden, müssen Sie seinen Eintrag suchen.)
  • bcdedit - Mit dem Tool Windows bcdedit kann GRUB auf die Standard-Startreihenfolge gesetzt werden. Der Befehl bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi , eingegeben in ein Administrator Eingabeaufforderungsfenster, wird dies tun; Wenn Ihr Computer jedoch mit aktiviertem Secure Boot startet, wird stattdessen bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi benötigt. Der letzte Befehl wird normalerweise funktionieren, auch wenn Secure Boot nicht verwendet wird, also würde ich diesen Befehl zuerst verwenden. Beachten Sie, dass es ein erweitertes Windows-Shell-Tool gibt, das eine etwas andere Syntax erfordert als ich vorgestellt habe, aber ich erinnere mich nicht an die Details.
  • Einmaliger Start von Ubuntu - Die meisten EFIs verfügen über einen integrierten Boot-Manager, auf den Sie zugreifen können, indem Sie zu Beginn des Systemstarts eine Funktionstaste, Esc oder Enter drücken. Wahrscheinlichkeiten sind der ubuntu -Eintrag zum Booten. Ubuntu wird in diesem Boot-Manager-Menü angezeigt, so dass Sie auf Ubuntu booten können. Alternativ können Sie auch auf einem Ubuntu Notfallmedium booten, so wie das Installationsprogramm im Modus "Vor der Installation versuchen" gestartet wurde. In beiden Fällen können Sie efibootmgr verwenden, um die Startreihenfolge anzupassen:
    1. Geben Sie sudo efibootmgr ein, um die Boot-Einträge anzuzeigen.
    2. Beachten Sie die aktuelle BootOrder -Zeile.
    3. Suchen Sie den Eintrag für ubuntu und notieren Sie dessen Boot#### number.
    4. Geben Sie sudo efibootmgr -o xxxx[,yyyy,zzzz,....] ein, um die Startreihenfolge zu ändern, wodurch xxxx die Nummer für Ubuntu wird. Was danach kommt, ist höchstwahrscheinlich nicht sehr wichtig, obwohl ich festgestellt habe, dass sich Windows wahrscheinlich wieder an den Anfang der Startreihenfolge anfügt, wenn es nicht in der Liste enthalten ist. Daher sollten Sie wahrscheinlich sicherstellen, dass Windows in der Liste ist, und es ist am sichersten, die Liste neu zu ordnen, so dass alle ursprünglichen Einträge vorhanden sind, nur wenn der ubuntu -Eintrag an den Anfang der Liste verschoben wurde.
  • Firmware-Setup-Dienstprogramm - Mit einigen Setup-Dienstprogrammen für EFIs können Sie die Startreihenfolge anpassen. Die Details sind von EFI zu EFI sehr unterschiedlich, daher werde ich nicht auf Einzelheiten eingehen, aber Sie könnten in Ihrem Setup-Programm nach einer solchen Option suchen.

Es gibt andere Varianten dieser Prozeduren, wie zum Beispiel die Verwendung von bcfg in einer EFI-Shell, die Verwendung von bless in macOS unter Verwendung meiner REFInd , um einen einmaligen Boot-Vorgang zu starten usw. Ich würde jedoch mit EasyUEFI beginnen; es ist wahrscheinlich die einfachste Lösung. Manchmal besteht Windows darauf, sich bei jedem Start selbst zum Standard zu machen, und Berichte zeigen an, dass bcdedit möglicherweise besser mit diesem Problem umgehen kann.

Beachten Sie, dass keines der vorhergehenden für Installationen im BIOS-Modus gilt; Da jedoch die meisten Computer, die mit Windows 8 oder höher ausgeliefert wurden, im EFI-Modus gestartet werden, werden Installationen im BIOS-Modus immer seltener. Daher ist es in vielen Fällen besser, das Problem auf EFI-Basis zu beheben, anstatt GRUB blind neu zu installieren.

    
Rod Smith 13.07.2017 17:03
quelle
0

Windows sieht keine Linux-formatierten Partitionen. Sie müssen gparted von einer LiveCD verwenden und eine primäre Partition mit NTFS-Formatierung mit dem Boot-Flag erstellen.

Einige hatten Probleme, wenn die neue primäre Partition hinter der erweiterten Partition ist, da Windows die Partitionstabelle nicht immer korrekt zurücksetzt. Am besten, gute Backups und eine separate Sicherung der Partitionstabelle zu haben.

Backup-Partitionstabelle in Textdatei & amp; Speichern auf externem Gerät.

sudo sfdisk -d /dev/sda > PTsda.txt

Dies ist nur für MBR (msdos) -Systeme. Wenn sich Ihre Ubuntu-Installation im GPT-Partitionslaufwerk befindet, können Sie Windows nur im UEFI-Modus installieren oder das Laufwerk wieder in MBR (msdos) konvertieren.

    
oldfred 30.07.2013 22:01
quelle
0

Nur der Befehl fsck hat den Bildschirm grub-rescue für mich korrigiert.

Verwenden Sie Boot-Repair , um von Live-CD zu booten, und öffnen Sie Terminal

Holen Sie sich das richtige Gerät:

sudo fdisk -l

Sie müssen das Boot-Gerät finden, das Boot-Gerät hat * unter der Kategorie Boot wie hier:

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sda1          2048   2000895   1998848  976M 82 Linux swap / Solaris
/dev/sda2  *    2000896 943716351 941715456  449G 83 Linux

Reparieren Sie die Festplatte jetzt mit:

sudo fsck /dev/sda2

Hinweis: / dev / sda2 ist das Startgerät in diesem Beispiel.

Geben Sie Y ein, um die Probleme zu beheben

Nach etwa 2-maliger Eingabe von Y können Sie den Prozess fsck stoppen, indem Sie CTRL + C eingeben, da der kritische Teil bereits vorhanden ist erledigt.

Neustart. Fertig.

    
Benny 25.07.2018 09:51
quelle