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?
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?
Antworten:
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 chroot
zu installieren und auszuführen update-grub
. chroot
ist 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:
Bestimmen Sie die Partitionsnummer Ihrer Hauptpartition. sudo fdisk -l
, sudo blkid
oder 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}-root
wo {volume}
sich der Name des LVM-Volumes und {os}
das Betriebssystem befinden. ls /dev/mapper
Für den genauen Namen ausführen .
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
, /var
oder /usr
Partitionen , wiederholen Sie die Schritte 2 und 3 diese Partitionen zu montieren /mnt/boot
, /mnt/var
und /mnt/usr
jeweils. Zum Beispiel,
sudo mount /dev/sdXW /mnt/boot
sudo mount /dev/sdXY /mnt/var
sudo mount /dev/sdXZ /mnt/usr
Ersetzen sdXW
, sdXY
und sdXZ
mit den entsprechenden Partitionsnummern.
Binden Sie ein paar andere notwendige Dinge:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
Wenn Ubuntu im EFI-Modus installiert ist ( siehe 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 Beschriftung von haben EFI
. Hängen Sie diese Partition ein und ersetzen Sie sie sdXY
durch die tatsächliche Partitionsnummer für Ihr System:
sudo mount /dev/sdXY /mnt/boot/efi
chroot
in deine Ubuntu-Installation:
sudo chroot /mnt
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.)
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.
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/fstab
mit der aktuellen UUID.
Wenn alles fehlerfrei funktioniert hat, dann sind Sie bereit:
exit
sudo reboot
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.
grub-efi-amd64
und wenn Sie einen sicheren Start verwenden, möchten Sie verwenden grub-install --uefi-secure-boot
. Dies wird auch unter superuser.com/a/376471/197980
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
.
Weitere Informationen - https://help.ubuntu.com/community/Boot-Repair
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
Drücken Sie Übernehmen und starten Sie das System neu
Methode 2
Einfach easyBCD
in 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 .
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:
ubuntu
Eintrag 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- bcdedit
Tool 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.efi
ist 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.ubuntu
Eintrag 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 efibootmgr
die Startreihenfolge anpassen:
sudo efibootmgr
, um die Starteinträge anzuzeigen.BootOrder
Zeile.ubuntu
und notieren Sie seine Boot####
Nummer.sudo efibootmgr -o xxxx[,yyyy,zzzz,....]
, um die Startreihenfolge zu ändern und xxxx
die 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 ubuntu
Eintrag an den Anfang der Liste verschoben wird.Es gibt andere Varianten dieser Prozeduren, beispielsweise die Verwendung bcfg
in einer EFI-Shell, die Verwendung bless
in 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 bcdedit
dieses 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.
efibootmgr
die 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.
Es gibt jetzt eine einfachere Lösung:
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.
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.
chroot
Reparatur einzurichten, als ein anderes Tool bei Google zu installieren.
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.
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 efi
Verzeichnis 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:
- Booten Sie von der Live-CD oder über USB im "Try Ubuntu" -Modus.
Bestimmen Sie die Partitionsnummer Ihrer Hauptpartition.
sudo fdisk -l
,sudo blkid
oder 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}-root
wo{volume}
sich der Name des LVM-Volumes und{os}
das Betriebssystem befinden.ls /dev/mapper
Für den genauen Namen ausführen .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
,/var
oder/usr
Partitionen , wiederholen Sie die Schritte 2 und 3 diese Partitionen zu montieren/mnt/boot
,/mnt/var
und/mnt/usr
jeweils. Zum Beispiel,sudo mount /dev/sdXW /mnt/boot sudo mount /dev/sdXY /mnt/var sudo mount /dev/sdXZ /mnt/usr
Ersetzen
sdXW
,sdXY
undsdXZ
mit den entsprechenden Partitionsnummern.Binden Sie ein paar andere notwendige Dinge:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
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 efi
oder GParted, um Ihre EFI-Partition zu finden. Es wird eine Beschriftung von habenEFI
. Hängen Sie diese Partition ein und ersetzen Sie siesdXY
durch die tatsächliche Partitionsnummer für Ihr System:sudo mount /dev/sdXY /mnt/boot/efi
chroot
in deine Ubuntu-Installation:sudo chroot /mnt
Führen Sie dann die folgenden Schritte aus:
sudo dpkg --configure -a
sudo apt install -fy
sudo apt purge -y grub*-common grub-common:i386 shim-signed
sudo apt install -y grub-pc
sdXY
für die Installation des Bootloaders anzugeben. Finden Sie mithilfe des sudo fdisk -l
Befehls 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 .sudo grub-update
eine Ü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!).
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.
Nur der fsck
Befehl hat den grub-rescue
Bildschirm 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.
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 Recovery
ein Gerät (Partition?) Zum Booten auswählen.
Gehe zu Settings
und wähle Update & Security
:
Gehe zu Recovery
:
Von Advanced Startup
wählenRestart Now
Wählen Sie dann Use a Device
und 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-update
aber das hat sich nicht geändert.
Ich habe dann meine /boot/efi
Partition gefunden, die war /dev/nvme0n1p1
und lief sudo grub-install /dev/nvme0n1p1
und 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 .
Ich hatte ein anderes Problem, das (wahrscheinlich) durch das boot-repair
Lö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_custom
seltsame Menüeinträge, die auf nicht vorhandene .efi-Bilder verweisen. Es sah so aus, /etc/grub.d
als wären meine Vorlagen vielleicht abgespritzt worden boot-repair
.
Ich habe das behoben durch:
sudo mount /dev/sdxx /mnt
sudo cp /etc/grub.d/* /mnt/etc/grub.d/
sudo update-grub