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

344

Ich habe Windows 7 installiert, das Ubuntus Startdatei aß. Wenn ich den Computer starte, wechselt er direkt zu Windows, ohne dass ich Ubuntu booten kann.

Wie kann ich Ubuntu zurückbekommen?

Salahuddin
quelle
Ich denke, es ist eine häufige Aufgabe, ich habe auch zwei Festplatten und Ubuntu + Windows. Ich hoffe, Sie können es mit dem richtigen Weg reparieren. Versuchen Sie, diesem Tutorial zu folgen . Fragen, frag mich!
Antivirtel
1
Verwandt (als GRUB auf dem MBR des falschen Laufwerks installiert wurde ): Grub-Rettungsproblem nach der Installation von Ubuntu
Eliah Kagan
Ja, das kannst du, du müsstest nur einen normalen Bootvorgang durchführen und mit Windows installieren und dann sollte er beim Start des Computers im Grub-Boot-Menü angezeigt werden.
Rampoo1208
Ich weiß, dass dies ein alter Thread ist, aber ich habe das Problem behoben, indem ich den Startmodus im BIOS von UEFI auf Legacy geändert habe.
1
HINWEIS: Die akzeptierte Antwort ist eine allgemeine Anleitung zum Reparieren von Maden. Dies gilt auch für die verschiedensten Umstände, in denen GRUB vom Installer falsch geschrieben wurde (Allgegenwart).
Danatela

Antworten:

348

Wenn Sie Windows installieren, geht Windows davon aus, dass es das einzige Betriebssystem auf dem Computer ist oder zumindest Linux nicht berücksichtigt. Daher ersetzt es GRUB durch einen eigenen Bootloader. Sie müssen lediglich den Windows-Bootloader durch GRUB ersetzen. Ich habe verschiedene Anweisungen zum Ersetzen von GRUB durch Herumspielen mit GRUB-Befehlen oder ähnlichem gesehen, aber für mich ist es der einfachste Weg, einfach chrootzu installieren und auszuführen update-grub. chrootist großartig, weil Sie damit an Ihrer eigentlichen Installation arbeiten können, anstatt hier und da eine Umleitung zu versuchen. Es ist sehr sauber.

Hier ist wie:

  1. Booten Sie von der Live-CD oder über USB im "Try Ubuntu" -Modus.
  2. Bestimmen Sie die Partitionsnummer Ihrer Hauptpartition. sudo fdisk -l, sudo blkidoder GParted (das standardmäßig in der Live-Sitzung bereits installiert sein sollte) können Ihnen hier helfen. Ich gehe in dieser Antwort davon aus /dev/sda2, dass dies der Fall ist , aber stellen Sie sicher, dass Sie die richtige Partitionsnummer für Ihr System verwenden!

    Befindet sich Ihre Hauptpartition in einem LVM , befindet sich das Gerät /dev/mapper/wahrscheinlich dort, /dev/mapper/{volume}--{os}-rootwo {volume}sich der Name des LVM-Volumes und {os}das Betriebssystem befinden. ls /dev/mapperFür den genauen Namen ausführen .

  3. Hängen Sie Ihre Partition ein:

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

    Wenn Sie eine separate haben /boot, /varoder /usrPartitionen , wiederholen Sie die Schritte 2 und 3 diese Partitionen zu montieren /mnt/boot, /mnt/varund /mnt/usrjeweils. Zum Beispiel,

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

    Ersetzen sdXW, sdXYund sdXZmit den entsprechenden Partitionsnummern.

  4. Binden Sie ein paar andere notwendige Dinge:

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

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

    sudo chroot /mnt
    
  7. Zu diesem Zeitpunkt befinden Sie sich in Ihrer Installation und nicht in der Live-Sitzung und werden als Root ausgeführt. Update grub:

    update-grub
    

    Wenn Sie eine Fehlermeldung erhalten oder das Problem nicht mit Schritt 7 behoben wurde, fahren Sie mit Schritt 8 fort. (Andernfalls ist dies 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 die UUID der EFI-Partition geändert wurde, müssen Sie sie möglicherweise aktualisieren /etc/fstab. Vergleich es:

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

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

  10. Wenn alles fehlerfrei funktioniert hat, dann sind Sie bereit:

    exit
    sudo reboot
    
  11. Zu diesem Zeitpunkt 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 mit Schritt 8 erneut.

  • Manchmal reicht es nicht aus, GRUB2 die richtige Konfiguration für Ihre Partitionen zu geben, und Sie müssen sie tatsächlich im Master-Boot-Datensatz installieren (oder neu installieren), was in Schritt 8 der Fall ist. Die Erfahrung mit der Unterstützung von Benutzern im Chat hat gezeigt, dass Schritt 8 manchmal erforderlich ist, auch wenn keine Fehlermeldungen angezeigt werden.
Scott Severance
quelle
1
Kommentare sind nicht für eine längere Diskussion gedacht. Diese Unterhaltung wurde in den Chat verschoben .
Thomas Ward
Ich möchte weiterhin, dass Windows mein primäres Boot-Betriebssystem ist. Ist das immer noch die richtige Lösung? Wie wähle ich das Betriebssystem zum Booten aus? F11?
Jeff
1
@ScottSeverance Ich habe in deinem Profil gesehen, dass du in DFW lebst. Haben Sie darüber nachgedacht, Kurse oder Live-Tutorials zu geben, um die Leute tief in Linux einzuführen?
Mohammed Joraid
1
Diese Probleme werden nicht alt: D - Wenn Sie sich mit EFI befassen, müssen Sie möglicherweise installieren grub-efi-amd64und wenn Sie einen sicheren Start verwenden, möchten Sie verwenden grub-install --uefi-secure-boot. Dies wird auch unter superuser.com/a/376471/197980
Raffael,
1
Diese Lösung gilt auch für Windows 10 auf Computern mit BIOS (dh nicht UEFI). Die Frage, welche Sie haben, kann mit diesem Tipp beantwortet werden - thewindowsclub.com/check-if-uefi-or-bios .
Okolnost
115

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. Mach Folgendes

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

Führen Sie nach dem Booten mit Live-USB / CD den folgenden Befehl im Terminal aus:

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.

Bildbeschreibung hier eingeben

Weitere Informationen - https://help.ubuntu.com/community/Boot-Repair

Wir sind
quelle
2
Sie wollen sagen, es ist beabsichtigt von den Microsoft-Leuten? Auch das Dual-Booten funktionierte mit Windows 7, sodass es Ihrer ersten Zeile nicht widerspricht, dass sich das Windows-Installationsprogramm nicht um andere Betriebssysteme im System kümmert.
Shagun Sodhani
Windows-Pausen sind die ganze Zeit ein sehr häufiges Problem und ich musste mich mit mir selbst auseinandersetzen. Die Antwort ist immer noch gut und sollte das Problem beheben.
Damien
6
Sie haben zuerst Windows 7 und dann Linux installiert. Also Linux erkennt Windows nicht Windows erkennt Linux. Wenn Sie Windows7 erneut installieren, werden Sie sehen, was ich damit gemeint habe.
Web-E
Tun Sie dies nicht, wenn Sie Partitionen verschlüsselt haben (luks), es hat es vermasselt. Außerdem wird GRUB mit apt-get neu installiert - keine Ahnung, warum das so ist.
Meng Tian
1
boot repair unterstützt den legacy modus sehr gut, vielleicht musst du die live cd / usb auch im legacy modus booten @fuzzyanalysis :)
Web-E
25

Booten Sie von einem Ubuntu-USB-Laufwerk oder einer Ubuntu-CD und installieren Sie Boot-Repair auf Ubuntu, indem Sie die folgenden Schritte ausführen

Ö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

Nach Abschluss der Installation können Sie diese über das Menü System-> Administration-> Boot-Repair starten, wenn Sie Gnome verwenden. Wenn Sie Unity verwenden, können Sie im Dash nach "Boot-Repair" suchen. Dann folgen Sie den folgenden Screenshots:

Methode 1

  • Klicken Sie auf die erweiterten Optionen

Einstiegsbild

  • Kreuzen Sie die unten gezeigten Optionen an

fortgeschrittene Option

  • Ändern Sie die Registerkarte in die Registerkarte "Grub Location" und aktivieren Sie die in der Abbildung gezeigten Optionen

Bildbeschreibung hier eingeben

Drücken Sie Übernehmen und starten Sie das System neu

Methode 2

  • Wählen Sie die empfohlenen Startreparaturoptionen aus, wie im ersten Screenshot gezeigt

Dokumentation:

Stormvirux
quelle
Web-E hat diese Antwort bereits gegeben . Vielleicht das verbessern statt? Ich habe einen Kommentar hinterlassen, warum es nicht funktioniert hat.
Dan Dascalescu
2
Diese Methode hat bei mir nach einem besonders schlimmen Fall funktioniert, in dem ein Windows 10-Update GRUB überschrieb und dann seinen eigenen Bootloader beschädigte. Nach dieser Prozedur kamen sowohl Windows als auch Linux zurück. In meinem Fall war es Linux Mint 18.1, und die Boot-Repair-Menüs sahen etwas anders aus, aber alles hat gut funktioniert. Vielen Dank!
TheBigH
11

Einfach easyBCDin Windows 7 installieren und fertig

Neuen Eintrag hinzufügen> Linux / BSD> (auswählen) Grub2> (drücken) Eintrag hinzufügen

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

hamed
quelle
3
Diese Anweisungen allein stellen den Grub-Bootloader nicht wieder her - als ich sie ausprobierte, fügten sie eine zusätzliche Bootoption in Windows hinzu, die bei Auswahl meinen Computer neu startete und mich dann zu einer Eingabeaufforderung von grub führte. Man müsste also weitere Schritte machen, was als nächstes zu tun ist.
Therobyouknow
1
easyBCD ermöglichte mir das Hinzufügen und Entfernen von Bootoptionen, die sowohl im Windows-Bootloader als auch im BIOS angezeigt wurden, aber sie funktionierten nie, weil easyBCD auf einer Art automatisierter Magie beruhte, um Linux-Partitionen zu finden ... es funktionierte nicht, als meine Linux-Partition war auf einer separaten Festplatte.
Fuzzy-Analyse
7

Auf EFI-basierten Systemen (wie den meisten Systemen, die mit Windows 8 oder höher geliefert wurden) aktualisiert Windows manchmal den Bootloader oder setzt ihn auf den Standard-Bootloader zurück. Dies ist besonders häufig der Fall, wenn Sie das Betriebssystem neu installieren oder ein umfangreiches Systemupdate durchführen (z. B. ein Upgrade auf die neueste Windows-Version). Es ist unwahrscheinlich, dass Windows GRUB-Dateien auf einem EFI-basierten Computer tatsächlich 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 zu viel des Guten, und tatsächlich birgt dies eine (geringe) Chance, dass neue Probleme auftreten.

Anstatt GRUB in diesen Fällen erneut zu installieren, empfehle ich daher, GRUB (oder den von Ihnen bevorzugten Bootloader oder Bootmanager) als Standard zurückzusetzen. Es gibt verschiedene Möglichkeiten, dies zu tun:

  • EasyUEFI - Die einfachste Möglichkeit, die Startreihenfolge anzupassen, besteht darin, EasyUEFI zu verwenden , ein kostenloses (für die Basisversion) GUI-Tool eines Drittanbieters zum Verwalten der EFI-Startreihenfolge. Es ist ziemlich selbsterklärend - suchen Sie den ubuntuEintrag 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 dessen Eintrag suchen.)
  • bcdedit- Mit dem Windows- bcdeditTool können Sie GRUB auf die Standardstartreihenfolge einstellen. Der Befehl bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, der in einem Administrator- Eingabeaufforderungsfenster eingegeben wird, führt dies aus. Wird Ihr Computer jedoch mit aktiviertem Secure Boot gestartet, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efiist dies erforderlich. Tatsächlich funktioniert der letztgenannte Befehl normalerweise auch dann, wenn Secure Boot nicht verwendet wird. Daher würde ich diesen Befehl zuerst verwenden. Beachten Sie, dass es ein erweitertes Windows-Shell-Tool gibt, das eine etwas andere Syntax als die von mir vorgestellte erfordert, aber ich erinnere mich nicht an die Details.
  • Einmaliges Booten mit Ubuntu - Die meisten EFIs bieten einen integrierten Boot-Manager, auf den Sie durch Drücken einer Funktionstaste, Esc oder Enter zu einem frühen Zeitpunkt des Systemstarts zugreifen können. Wahrscheinlich wird der ubuntuEintrag zum Booten von Ubuntu in diesem Boot-Manager-Menü angezeigt, sodass Sie mit Ubuntu booten können. Alternativ können Sie auch von einem Ubuntu-Notfallmedium booten, beispielsweise vom Installationsprogramm, das im Modus "Vor der Installation versuchen" gestartet wurde. In beiden Fällen können Sie dann efibootmgrdie Startreihenfolge anpassen:
    1. Geben Sie ein sudo efibootmgr, um die Starteinträge anzuzeigen.
    2. Beachten Sie die aktuelle BootOrderZeile.
    3. Suchen Sie den Eintrag für ubuntuund notieren Sie seine Boot####Nummer.
    4. Geben Sie ein sudo efibootmgr -o xxxx[,yyyy,zzzz,....], um die Startreihenfolge zu ändern und xxxxdie Nummer für Ubuntu festzulegen. Was danach kommt, ist höchstwahrscheinlich nicht sehr wichtig, obwohl ich bemerkt habe, dass Windows sich wahrscheinlich wieder an den Start der Startreihenfolge anfügt, wenn es nicht in der Liste enthalten ist. Daher sollten Sie wahrscheinlich sicherstellen, dass Windows in der Liste enthalten ist, und es ist möglicherweise am sichersten, die Liste neu zu ordnen, sodass alle ursprünglichen Einträge vorhanden sind, nur wenn der ubuntuEintrag an den Anfang der Liste verschoben wird.
  • Firmware-Setup-Dienstprogramm - Mit einigen EFIs-Setup-Dienstprogrammen 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önnen in Ihrem Setup-Dienstprogramm nach einer solchen Option suchen.

Es gibt andere Varianten dieser Prozeduren, beispielsweise die Verwendung bcfgin einer EFI-Shell, die Verwendung blessin macOS, die Verwendung von rEFInd für einen einmaligen Start usw. Ich würde jedoch mit EasyUEFI beginnen. Es ist wahrscheinlich die einfachste Lösung. Manchmal besteht Windows jedoch darauf, sich bei jedem Start selbst als Standard festzulegen, und Berichte weisen darauf hin, dass bcdeditdieses Problem möglicherweise besser gelöst werden kann.

Beachten Sie, dass keine der oben genannten Bedingungen für Installationen im BIOS-Modus gilt. Da die meisten Computer, die mit Windows 8 oder höher geliefert wurden, im EFI-Modus gestartet werden, werden BIOS-Installationen immer seltener. In vielen Fällen ist es daher besser, das Problem auf EFI-Weise zu lösen, als GRUB blind neu zu installieren.

Rod Smith
quelle
1
Das manuelle einmalige Booten in Linux (in meinem Fall Fedora28) über den in EFIs eingebauten Bootmanager ermöglichte es mir, efibootmgrdie Bootreihenfolge (wie von Rod beschrieben -> danke!) neu zu ordnen, die von einem win10 durcheinandergebracht wurde aktualisieren. Danach erscheint der GRUB-Bootmanager wie vor dem Update, sodass ich bestätigen kann, dass die bereitgestellte Lösung für mich funktioniert hat. Ich konnte die Basisversion von EasyUEFI nicht finden, sondern nur eine Testversion der angebotenen unfreien Pro-Version.
Antiplex
5

Es gibt jetzt eine einfachere Lösung:

  1. Starten Sie den Computer neu und geben Sie die BIOS-Optionen Ihres Computers ein (F2 oder manchmal F11).
  2. Gehen Sie zum Boot- Menü und wählen Sie Boot Device Priority
  3. Überprüfen Sie, ob sich der Windows- Start- Manager über dem Hauptstartlaufwerk befindet (normalerweise SATA-Festplatte… oder IDE-Festplatte… ). Wenn dies der Fall ist, verschieben Sie die Startdatenträgerpriorität über die des Windows-Start-Managers.
  4. Speichern Sie Ihre BIOS-Optionen und beenden Sie das Programm (normalerweise F10).

Dies wurde auf einem Samsung Series 7 Chronos-Laptop getestet, der Windows 8 und Ubuntu 13.10 dual bootet, den sicheren Start deaktiviert, UEFI und den Legacy-Start aktiviert.

scruss
quelle
Dies war die sauberste Option für mich. Es sind noch ein paar Tastenanschläge, aber hey, es funktioniert. Ich habe eine Mischung aus Legacy- und UEFI-Geräten gebootet. Wenn Benutzer ein Betriebssystem viel häufiger booten als andere, kann dies auf lange Sicht schneller (und sicherer) sein.
Fuzzy Analysis
Dies funktionierte auch für mich, nachdem Windows 10 sich selbst aktualisiert hatte.
Luis_js
Diese Lösung funktionierte für mich, als ich Ubuntu aus Windows 10 löschte.
Vikas Gupta
3

Boot-Repair hat bei mir 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. Auf einer separaten Seite wird erläutert, wie Sie Boot-Repair starten (indem Sie eine bootfähige Diskette erstellen oder in eine vorhandene Ubuntu-Live-Diskette installieren) und wie Sie diese verwenden.

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

Lorenzo-s
quelle
Es wäre schön, wenn es einen einfacheren Weg gäbe, Boot Repair zu bekommen. Es ist schneller, eine chrootReparatur einzurichten, als ein anderes Tool bei Google zu installieren.
Scott Severance
2

Wenn GRUB defekt ist, hat der Benutzer im Allgemeinen keinen Zugriff auf Systeme, sodass die Reparatur über eine Live-Sitzung (Live-CD oder Live-USB) erfolgen muss.

Es gibt viele mögliche Ursachen für eine GRUB-Unterbrechung: Windows-Schreibvorgänge auf dem MBR, DRM, die die ordnungsgemäße Installation von GRUB verhindern, Installationsfehler, Hardwarewechsel ... Die Aktualisierung von GRUB, wie ursprünglich von Scott vorgeschlagen, ist im Allgemeinen nicht ausreichend Effizienter, aber es gibt verschiedene Situationen, in denen andere Optimierungen erforderlich sind (Hinzufügen von Optionen zum Kernel, Anzeigen des GRUB-Menüs, Ändern der 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 mit einem kleinen grafischen Tool vereinfacht: Boot-Repair . Es soll in die Ubuntu 12.04-CD integriert werden, um die Verwendung zu vereinfachen. Für Benutzer, die es jetzt benötigen, gibt es bereits einige Distributionen, die es integrieren: Ubuntu-Secured-Remix (Ubuntu-CD, die Boot-Repair integriert), Boot-Repair-Disk (CD, auf der Boot ausgeführt wird -Reparatur beim Start), ...

Hoffe das hilft.

LovinBuntu
quelle
1

Die Antworten von Scott und Web-E sind gut genug und haben schon oft geholfen. Aber oft kann das Boot-Repair-Tool grub nicht reparieren, weil Probleme mit der i386- und der amd64-Plattform vorliegen oder weil grub kein efiVerzeichnis findet.
Was mein Problem mehr als 10 Mal gelöst hat, ist, die alten Grub-Installationen manuell zu löschen und eine neue zu installieren.

Führen Sie also zuerst die ersten 6 Schritte von Scotts Antwort aus, wobei Sie den fünften Schritt überspringen können, wenn ein Fehler auftritt:

  1. Booten Sie von der Live-CD oder über USB im "Try Ubuntu" -Modus.
  2. Bestimmen Sie die Partitionsnummer Ihrer Hauptpartition. sudo fdisk -l, sudo blkidoder GParted (das standardmäßig in der Live-Sitzung bereits installiert sein sollte) können Ihnen hier helfen. Ich gehe in dieser Antwort davon aus /dev/sda2, dass dies der Fall ist , aber stellen Sie sicher, dass Sie die richtige Partitionsnummer für Ihr System verwenden!

    Befindet sich Ihre Hauptpartition in einem LVM , befindet sich das Gerät /dev/mapper/wahrscheinlich dort, /dev/mapper/{volume}--{os}-rootwo {volume}sich der Name des LVM-Volumes und {os}das Betriebssystem befinden. ls /dev/mapperFür den genauen Namen ausführen .

  3. Hängen Sie Ihre Partition ein:

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

    Wenn Sie eine separate haben /boot, /varoder /usrPartitionen , wiederholen Sie die Schritte 2 und 3 diese Partitionen zu montieren /mnt/boot, /mnt/varund /mnt/usrjeweils. Zum Beispiel,

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

    Ersetzen sdXW, sdXYund sdXZmit den entsprechenden Partitionsnummern.

  4. Binden Sie ein paar andere notwendige Dinge:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. Wenn Ubuntu im EFI-Modus installiert ist ([Wenn Sie sich nicht sicher sind, sehen Sie diese Antwort] [efi]), verwenden Sie sudo fdisk -l | grep -i efioder GParted, um Ihre EFI-Partition zu finden. Es wird eine Beschriftung von haben EFI. Hängen Sie diese Partition ein und ersetzen Sie sie sdXYdurch die tatsächliche Partitionsnummer für Ihr System:

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

    sudo chroot /mnt
    

Führen Sie dann die folgenden Schritte aus:

  1. Konfigurieren Sie alle ausstehenden Pakete.
    sudo dpkg --configure -a
  2. Repariere die kaputten Pakete.
    sudo apt install -fy
  3. Entfernen Sie den aktuellen Maden.
    sudo apt purge -y grub*-common grub-common:i386 shim-signed
    Dies kann zu einer Warnung führen, dass Ihr Gerät keinen Bootloader hat und beim nächsten Mal möglicherweise nicht mehr booten kann. Mach weiter und akzeptiere es.
  4. sudo apt install -y grub-pc
    Nachdem Sie diesen Befehl ausgeführt haben, werden Sie aufgefordert, den aktuellen Stand sdXYfür die Installation des Bootloaders anzugeben. Finden Sie mithilfe des sudo fdisk -lBefehls heraus, wo Ihr aktuelles Betriebssystem installiert ist . Es wird beschriftet als Linux. Navigieren Sie mit der TabTaste durch das Fenster und wählen Sie mit der SpaceTaste eine Option aus .
  5. Wenn alles gut geht, wird grub korrekt installiert. Sie können auch sudo grub-updateeine Überprüfung durchführen.

Wenn das Problem weiterhin besteht, können Sie Archs Wiki lesen , um mehr über Grub zu erfahren und viele andere Arten von Problemen anzugehen. (Ja, hilft auch für Ubuntu!).

subtleseeker
quelle
0

Windows erkennt keine Linux-formatierten Partitionen. Sie müssen gparted von einer Live-CD verwenden und eine NTFS-formatierte Primärpartition mit dem Boot-Flag erstellen.

Einige hatten Probleme, wenn die neue primäre Partition nach der erweiterten Partition liegt, da Windows die Partitionstabelle nicht immer korrekt zurücksetzt. Am besten haben Sie gute Backups und ein separates Backup der Partitionstabelle.

Partitionstabelle in Textdatei sichern und auf externem Gerät speichern.

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

Dies gilt nur für MBR-Systeme (MSDOS). Wenn sich Ihre Ubuntu-Installation auf einem GPT-Partitionslaufwerk befindet, können Sie Windows nur im UEFI-Modus installieren oder das Laufwerk zurück in MBR (MSDOS) konvertieren.

oldfred
quelle
Die neuen Versionen von sfdisk & fdisk, die mit partitionierten gpt-Laufwerken ab 16.04 funktionieren, sichern auch die partitionierten gpt-Laufwerke mit dem obigen Befehl. oldfred kann sich nicht erinnern, was er letzte Nacht zum Abendessen gegessen hat, also nicht sicher, was er 2013 gepostet hat. :)
oldfred
Hallo Fred, wenn ich koche, um das Abendessen zu vergessen, ist das ein Segen. Wir haben unsere vorherigen Kommentare gelöscht.
WinEunuuchs2Unix
0

Nur der fsckBefehl hat den grub-rescueBildschirm für mich repariert.

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

Holen Sie sich das richtige Gerät:

sudo fdisk -l

Müssen Sie das Boot-Gerät finden, hat das Boot-Gerät *unter Boot-Kategorie 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 nun die Festplatte mit:

sudo fsck /dev/sda2 -y

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

Starten Sie nach Abschluss des Vorgangs neu. Getan.

Benny
quelle
0

Die Antwort von Scott Severance ist gültig und detailliert, aber es gibt eine Lösung, für die kein externes Startgerät erforderlich ist , sodass Sie nicht alle Ubuntu-Partitionen identifizieren und manuell bereitstellen müssen, die zu der führen chroot.

In Windows 10 können Sie Advanced Recoveryein Gerät (Partition?) Zum Booten auswählen.

Gehe zu Settingsund wähle Update & Security:

Bildbeschreibung hier eingeben

Gehe zu Recovery:

Bildbeschreibung hier eingeben

Von Advanced StartupwählenRestart Now

Bildbeschreibung hier eingeben

Wählen Sie dann Use a Deviceund alle Startoptionen sollten Ihnen präsentiert werden. Wählen Sie die "Ubuntu" -Partition und Ihr PC sollte dann von dieser Partition booten.

Nachdem ich meine gewohnte Ubuntu-Umgebung gebootet habe, habe ich versucht, nur zu laufen, grub-updateaber das hat sich nicht geändert.

Ich habe dann meine /boot/efiPartition gefunden, die war /dev/nvme0n1p1und lief sudo grub-install /dev/nvme0n1p1und dann sudo update-grub.

Dadurch wurde mein Master-Boot-Datensatz mehrmals wiederhergestellt, da es anscheinend eine neue Windows 10-Richtlinie zum Überschreiben des MBR bei kleineren Updates gibt .

Timbo
quelle
0

Ich hatte ein anderes Problem, das (wahrscheinlich) durch das boot-repairLöschen meiner /etc/grub.d/Vorlagen verursacht wurde ( siehe folgende Frage): Ubuntu 18.04 bootet nach der Installation von Windows 10 nicht mehr

Wie @karels comment anmerkt, wird die Grub-Konfiguration mit den Dateien in generiert /etc/grub.d. Mein Verzeichnis enthielt nur /etc/grub.d/25_customseltsame Menüeinträge, die auf nicht vorhandene .efi-Bilder verweisen. Es sah so aus, /etc/grub.dals wären meine Vorlagen vielleicht abgespritzt worden boot-repair.

Ich habe das behoben durch:

  1. Booten mit Live-CD (wahrscheinlich wichtig, um dieselbe Ubuntu-Version zu verwenden)
  2. sudo mount /dev/sdxx /mnt
  3. sudo cp /etc/grub.d/* /mnt/etc/grub.d/
  4. sudo update-grub
  5. Nach 48 Stunden Schmerzen neu starten und entspannen
Adam Moore
quelle