Dual Boot UEFI Windows 7 und Ubuntu 12.04 (beide 64 Bit). Der W7-Eintrag wird in GRUB nicht angezeigt


8

Nachdem ich 2 Tage lang versucht habe, beide Betriebssysteme zu installieren, bin ich verwirrt und werde wütend ... Ich habe SSD 128 GB und HDD 500 GB beide leer. Mein Laptop ist Asus K55VM. BIOS unterstützt UEFI.

Was habe ich getan:

  1. Installieren Sie eine neue SSD (Samsung 830 128 GB)

  2. Verwenden Sie GParted auf liveCD, um eine neue Partitionstabelle (GPT) zu erstellen und 3 Partitionen (in der SSD) für verschiedene Zwecke zu erstellen:

    • Partition 1: 80 GB (w7);
    • Partition 2: 30 GB (Ubuntu 12.04 -Just / -);
    • Partition 3: 10 GB nicht verwendet (für zukünftige Erweiterung der anderen Partitionen)
  3. Installieren Sie Windows 7 (mit UEFI) in Partition 1. So erstellen Sie:

    • / dev / sda1 -> 100 MB für System (UEFI-Boot, denke ich) - FAT32
    • / dev / sda2 -> ca. 100 MB. für MSR
    • / dev / sda3 -> ca. 79.800 MB. für Windows7-Daten

In diesem Punkt funktioniert alles gut. Ich habe W7. Jetzt installiere ich Ubuntu 12.04 amd64 (mit UEFI) wie folgt:

  1. Installiere / in Partition 2 -> / dev / sda4 30 GB ext4, und auf der Festplatte installiere ich / home und tausche.

  2. Ich wähle Bootloader in / dev / sda1 (wo es der UEFI-Boot sein soll).

  3. Ich installiere Updates und starte neu.

Problem: Jetzt erscheint nur das Grub-Menü mit Ubuntu-Einträgen und nicht Windows 7.

Alternative Lösung gefunden : Wenn ich den Laptop einschalte, drücke ich vor dem Laden von GRUB die ESC-Taste und erhalte den BIOS-Start, damit ich die Windows-Partition, Ubuntu-Partition, DVD, USB usw. starten kann, aber ich denke, das ist nicht die beste Weg, um verschiedene Betriebssysteme zu booten.

Ich habe versucht: sudo update-grub2 ohne Erfolg.

Was kann ich machen??

Antworten:


6

Finden Sie heraus, wo sich der Windows-Bootloader befindet, indem Sie die efi-Partition bereitstellen:

sudo mount -t vfat /dev/sdx1 /mnt/efi/

Und suchen nach bootmgfw.efi. Suchen Sie dann die UUID des Laufwerks:

sudo grub-probe --target=fs_uuid /mnt/efi/EFI/Microsoft/Boot/bootmgfw.efi

Fügen Sie diese UUID hinzu zu /etc/grub.d/40_custom:

menuentry "Windows x86_64 UEFI-GPT" {
    search --fs-uuid --no-floppy --set=root UUID
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

Zum Schluss laufen update-grub.


Du bist mein verdammter Held !! Vielen Dank, das hat ganz gut funktioniert. Du hast meinen Tag gemacht =)
Joe

1
Zur Information hätte Boot-Repair den Eintrag mit einem Klick hinzugefügt. help.ubuntu.com/community/Boot-Repair
LovinBuntu

Außer Boot-Reparatur funktioniert nicht auf meinem System ...
fccoelho

3

Die Lösung von jarondl ist vollkommen gut, aber eine andere besteht darin, ein separates Boot-Manager-Programm zu verwenden, um zwischen GRUB und dem Windows-Bootloader zu wählen. Ich kenne drei EFI-Bootmanager, die Sie installieren können:

  • rEFIt , das in den Ubuntu-Repositories verfügbar ist. Beachten Sie, dass die Version von der rEFIt-Site auf UEFI-basierten PCs nicht funktioniert, da sie ein Mac-spezifisches Dateiformat verwendet. Sogar die Ubuntu-Version weist auf UEFI-basierten PCs einige kleinere Störungen auf. Im Idealfall bietet rEFIt ein hübsches GUI-Startmenü (obwohl es auch einen Textmodus hat).
  • rEFInd ist eine aktualisierte Version von rEFIt mit Korrekturen für die verschiedenen UEFI-Störungen und -Erweiterungen, die mit dem integrierten EFI-Bootloader eines 3.3.0-Kernels funktionieren. Beachten Sie, dass ich rEFInd gegabelt / gepflegt habe.
  • gummiboot, ein Nur-Text-Boot-Manager. (Diese Seite vergisst immer wieder, wer ich bin und weigert sich, mehr als zwei Hyperlinks zu posten, sonst hätte ich einen bereitgestellt.)

Sowohl rEFIt als auch rEFInd erkennen andere Bootloader automatisch. Sobald Sie sie konfiguriert haben, sollten sie den Bootloader eines Betriebssystems erkennen und Ihnen ein Menü geben. Ich habe gummiboot noch nicht ausprobiert, daher weiß ich nicht, wie einfach es einzurichten ist, aber es ähnelt konzeptionell rEFIt / rEFInd. Die Verwendung eines dieser Programme erhöht die Komplexität des Startvorgangs. Wenn GRUB funktioniert und Sie damit zufrieden sind, macht die Verwendung eines dieser Programme wenig Sinn. Sie sind am nützlichsten, wenn GRUB temperamentvoll ist oder einfach nicht funktioniert, wie es meiner Erfahrung nach bei GRUB 2 auf UEFI-Systemen häufig der Fall ist. In einer solchen Situation können Sie GRUB 2 zugunsten von ELILO oder einem EFI-Stub-Loader eines Kernels 3.3.0 oder höher fallen lassen. Diese Bootloader können den Bootvorgang nicht auf Windows umleiten, was einen separaten Bootmanager sehr nützlich macht.


Refind unterstützt keine ntfs-Partitionen ...
fccoelho

1
Die Tatsache, dass rEFInd nicht mit einem NTFS-Treiber geliefert wird, spielt keine Rolle. Der EFI-Bootloader von Windows befindet sich auf der EFI-Systempartition (ESP) (FAT), sodass rEFInd nicht auf ein NTFS-Volume zugreifen muss. Es ist auch unfair, rEFInd in dieser Hinsicht herauszustellen. Weder rEFIt noch gummiboot werden mit einem NTFS-Treiber geliefert.
Rod Smith

0

ACHTUNG: Nur für x64

grub-probe --target=fs_uuid /boot/efi/efi/Microsoft/Boot/bootmgfw.efi

Fügen Sie dies hinzu zu /etc/grub.d/40_custom:

menuentry "Boot bootx64.efi, generated by Boot-Repair" {
search --fs-uuid --no-floppy --set=root UUID

**chainloader (${root})/EFI/Boot/bootx64.efi**
}

Der andere Code funktioniert nicht.

Getestet auf ASUS N56V

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.