GRUB erkennt Windows nicht

66

Ich habe Ubuntu endlich auf meinem zweiten Laufwerk installiert. Wenn ich meinen Computer starte, bietet GRUB mir nur an, Ubuntu zu starten, nicht Windows 7. Was muss ich tun, damit ich in GRUB zwischen Ubuntu und Windows wählen kann?

Wenn ich beim Start F12 drücke, um das Startmenü aufzurufen, und ich wähle, Windows Boot Managerdass Windows 7 gestartet wird.


Ich habe den Befehl ausgeführt sudo fdisk -lund hier ist das Protokoll ( http://pastebin.com/Cgv1igHc ):

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xc3ffc3ff

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  1953525167   976762583+  ee  GPT
Partition 1 does not start on physical sector boundary.
HyperX
quelle
Bitte geben Sie Ihre Boot-Info URL an . Hier finden Sie relevante Informationen, die Ihnen helfen.
LovinBuntu

Antworten:

100
  1. Booten Sie Ubuntu und mounten Sie Ihre Windows-Partition (öffnen Sie einfach die Festplatte in Nautilus)

  2. Führen Sie in der Befehlszeile ( Ctrl+ Alt+ t) Folgendes aus :

    sudo os-prober
    
  3. Wenn Ihre Windows-Installation gefunden wurde, können Sie Folgendes ausführen:

    sudo update-grub
    

Beachten Sie, dass Schritt 2 nur Ihrer Bequemlichkeit dient. Sie könnten einfach die Windows 7-Partition mounten und dann ausführen update-grub.

Verwandte Frage

Hermes
quelle
Ich habe 2 Partitionen mit 2 Fenstern installiert, es erkennt nur meine Installation auf einer anderen Partition, aber nicht die neu installierten Fenster (auf einer SSD)! selbst montiert ... eine idee?
Philippe Gachoud
Vielen Dank. Interessant, dass der OS-Prober Schritt 1 zu benötigen scheint. Sehr wichtig, oder Windows funktioniert nicht.
Elliptical View
mount -t ntfs-3g -o ro /dev/sda4 /media/windowsdie Windows-Partition zu montieren
Yuvaraj Loganathan
perfekt! Das Ausführen beider Befehle hat den Trick geschafft
Aryeh Beitz
hat funktioniert! Dankeschön!
DigaoParceiro
10

Wenn die os-proberoben beschriebene Methode nicht funktioniert, fügen Sie einen benutzerdefinierten Menüeintrag hinzu. Dokumentierte hier .

Die ersten beiden Schritte dienen zum Auffinden Ihres <UUID>.

  1. Führen Sie lsblkund finden Sie den Namen der Zeile mit/boot/efi

Beispielausgabe (hier lautet die Antwort sda2) :

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   477G  0 disk 
├─sda1        8:1    0   450M  0 part 
├─sda2        8:2    0   100M  0 part /boot/efi
├─sda3        8:3    0    16M  0 part 
├─sda4        8:4    0    47G  0 part /windows
├─sda5        8:5    0 425,6G  0 part /
└─sda6        8:6    0   3,7G  0 part [SWAP]
mmcblk0     179:0    0  14,9G  0 disk 
└─mmcblk0p1 179:1    0  14,9G  0 part
  1. Führen Sie aus, sudo blkid /dev/sdaXwo sdaXdie Antwort aus dem vorherigen Schritt ist ( sda2in meinem Fall) .

Beispielausgabe (hier lautet die Antwort 58E4-427D) :

/dev/sda2: UUID="58E4-427D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b81727be-ba90-5f8c-ab98-d3ec67778b7d"
  1. Fügen Sie am Ende der Datei Folgendes hinzu /etc/grub.d/40_custom:
menuentry "Windows 7" {  
     insmod ntfs  
     set root='(hd0,1)'  
     search --no-floppy --fs-uuid --set <UUID>
     chainloader +1  
}
  1. Führen Sie aus, sudo update-grubund starten Sie neu.
Philippe Gachoud
quelle
Vielen Dank an @Christopher Markieta für alle Details in einer anderen Antwort. Fügte sie auch diesem hinzu (obwohl die Besonderheiten des benutzerdefinierten Eintrags unterschiedlich sind.
Carolus
9

Ich ließ Windows 10 laufen und versuchte dann Doppelaufladung. Nach der Installation von Ubuntu wurde Win 10 in meinem GRUB-Loader nicht angezeigt. Ich habe folgendes versucht -

Zunächst habe ich Secure Boot in Win10 deaktiviert. Führen Sie dann die folgenden Befehle in Ubuntu aus:

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

Hat ganz gut geklappt. Konnte danach sowohl Windows als auch Ubuntu in GRUB finden.

Karthik Ubaradka
quelle
Existiert dieses PPA noch? Ich konnte es nicht hinzufügen und es behauptete, es existiere nicht von Ubuntu 18.04 Bootdiskette
jocull
404 Not Found
Ich habe
5

Ich habe ein ähnliches Problem mit den folgenden Schritten von Boot-Repair gelöst

Installieren Sie boot-repair

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

Drücken Sie auf "Recommended repair" (Empfohlene Reparatur) und geben Sie einige Befehle wie vorgeschlagen in ein Terminal ein.

Ich denke, mein Grub erkennt Fenster aufgrund eines schlechten Herunterfahrens nicht und hat das Problem gelöst.

Rutrus
quelle
3

Wenn Sie zuvor ein RAID installiert haben, kann dies zu Problemen führen. In meinem Fall habe ich meinen Desktop 2010 erstellt und zwei 1,5 TB mit einem gestreiften RAID installiert. User gracemercy54 erwähnt hier, dass hier noch Metadaten aus der früheren RAID-Konfiguration übrig sind.

Als ich ursprünglich die Schritte von Hermes ausprobiert habe, kam es zu einer Fehlermeldung "Falsche Anzahl von Geräten in einem RAID-Set". Also, wenn dies passiert, öffne ein Terminal und starte:

   sudo dmraid -rE
   sudo os-prober
   sudo update-grub

Das hat das für mich behoben.

Adam Drewery
quelle
Ich denke, meine auch durch den Überfall verursacht. Funktioniert aber sudo dmraid -rEbei mir nicht. Ich habe es endlich geschafft, indem ich AHCIvorübergehend in das BIOS gewechselt habe, dann zu Ubuntu gebootet und ausgeführt habe sudo update-grubund dann RAID ONzurückgeschaltet habe.
Realhu
1
WARNUNG : Dies zerstört Ihr RAID-Array, wenn Sie es noch verwenden.
Christopher Markieta
3

Etwas andere Methode, als ich von einem Arbeitsbeispiel auf einem anderen Computer kopierte und für meine eigenen Aufzeichnungen veröffentlichte.

Fügen Sie Folgendes an /etc/grub.d/40_custom:

menuentry "Windows 10" {
        insmod part_gpt
        insmod fat
        search --no-floppy --fs-uuid --set <boot_efi_uuid>
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Wo <boot_efi_uuid>ist die UUID Ihrer /boot/efiPartition ? Um dies zu finden:

$ lsblk
NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT                                                  
sda                 8:0    0 119.2G  0 disk
└─md126             9:126  0 357.7G  0 raid0
  ├─md126p1       259:0    0   499M  0 md
  ├─md126p2       259:1    0   100M  0 md    /boot/efi                                                   
$ sudo blkid | grep md126p2 # Replace with your device
/dev/md126p2: UUID=<boot_efi_uuid>

Führen Sie dann natürlich nach dem Speichern der Datei Folgendes aus:

sudo update-grub

Starten Sie neu, Sie sollten nun in der Lage sein, Windows erfolgreich zu starten.

Christopher Markieta
quelle
2

Ich hatte das gleiche Problem mit Windows 10. Ich habe Linux Mint 18.1 Cinnamon 64-Bit auf meinem Laptop für den Dual-Boot mit WIN10 installiert. Nach der Installation bot GRUB nur an, Linux zu booten, nicht jedoch Windows.

Ich habe festgestellt, dass die Videolösung für Windows 10 im Grub-Menü fehlt und der Forenthread Grub Win10 nach dem Update / der Reparatur nicht erkennt , aber leider auch nicht. Daher habe ich eine Kombination dieser beiden Methoden verwendet, um mein Problem zu lösen.

Öffnen Sie Ihr Terminal, folgen Sie diesen Befehlen und öffnen Sie die Datei mit dem Namen 40_custom:

sudo gedit /etc/grub.d/40_custom

Fügen Sie diese Zeilen am Ende der Datei hinzu und speichern und beenden Sie dann:

menuentry "Windows 10" {
   set root='{hd0,1}'
   chainloader + 1
}

Nachdem Sie die Datei gespeichert haben, aktualisieren Sie Ihren GRUB mit dem folgenden Befehl:

sudo update-grub

Starten Sie dann Ihren Computer neu, um zu sehen, ob es funktioniert.

Hoffe, dass dies auch für andere funktioniert!

Lahiru
quelle
Ich glaube, dass diese Antwort, obwohl sie richtig ist, größtenteils eine Kopie der Antwort ist, die am 29. Mai 2015
Charles Green
1

Ich hatte das gleiche Problem und hatte 2 Tage damit verbracht, es herauszufinden. Aber heute hatte ich diese plötzliche Idee am Morgen und es hat geklappt.

Sie sollten Ihre BIOS / UEFI-Einstellungen überprüfen. In meinem Fall musste ich zuerst Uefi booten lassen. Ansonsten konnte ich Windows von Ubuntu nicht erkennen. Was ich einstellen musste war Ubuntu> Windows Boot Manager> DISK1> DISK2> DISK3. Insted DISK1> ubuntu> Windows Boot Manager> DISK3.

Ich hatte 2 Ubuntu-Installationen, eine auf Festplatte und eine auf SSD. Anscheinend wurde die SSD-Installation aus irgendeinem Grund nicht als UEFI angezeigt, aber ich wollte zuerst eine schnellere Festplatte starten.

Ich hatte nicht damit gerechnet, dass die Reihenfolge des Bootens den Grub bei der Erkennung von Systemen beeinflussen kann. Es lohnt sich also, dies zu überprüfen.

Bartosz Dabrowski
quelle
1

Ich hatte Probleme wie hier oben und die Lösung bestand nur darin, den manuellen Eintrag wie folgt hinzuzufügen:

menuentry "WINDOWS10 (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(/dev/sda,msdos1)'
    search --no-floppy --fs-uuid --set=root 688EB92384B85968
    drivemap -s (hd0) ${root}
    chainloader +1
}

Wobei die obige UUID (688E ...) von der Boot-Windows-Festplatte über übernommen wurde blkid /dev/sdb1.

ACHTUNG: die zusätzliche Leitung

set root='(/dev/sda,msdos1)'

bezieht sich darauf, sdawas unter Ubuntu sichtbar ist, da es /dev/sdbsogar tatsächlich die erste Festplatte im SATA-Bus /dev/sdaist, während tatsächlich das zweite Laufwerk als Root gemountet ist /.

Vielleicht konnte das der Grund sein, warum Grub-Skripte nicht richtig funktionieren. Ich hatte keine Zeit, die physische Reihenfolge der Festplatten zu ändern, aber es ist durchaus möglich, dass dies auch zur Behebung des Problems beitragen würde.

luke
quelle