Wie kann ich Windows 11 zum Grub-Menü hinzufügen?

Wie kann ich Windows 11 zum Grub-Menü hinzufügen?

Meine Probleme begannen, als ich mein Ubuntu 22.04 LTS-Laufwerk partitionierte, um Windows 11 hinzuzufügen (ich verwendete mein bootfähiges Ubuntu, um das Laufwerk zu partitionieren).

Nachdem Windows 11 installiert war, begann mein Computer, Windows 11 zu booten, anstatt mir das Grub-Menü anzuzeigen. Ich habe dies behoben, indem ich das BIOS aufgerufen und Ubuntu nach oben verschoben habe. Mein Computer bootete jetzt in Ubuntu, aber ich sah immer noch nicht das Grub-Menü.

Nachdem ich diesen Beitrag gelesen habe,Warum wird beim Starten meines Computers das Grub-Menü nicht angezeigt?, ich konnte mein Grub-Menü wieder anzeigen lassen (@Akalgnotum). Aber Windows 11 war nicht im Menü enthalten.

Mit der Anleitung dieses Beitrags,GRUB erkennt Windows nichtIch habe ausgeführt: sudo os-proberwas zurückgegeben wurde /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi. Dann habe ich ausgeführt sudo update-grub, was mir diese „Warnung“ gab:

Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-46-generic
Found initrd image: /boot/initrd.img-5.15.0-46-generic
Found linux image: /boot/vmlinuz-5.15.0-43-generic
Found initrd image: /boot/initrd.img-5.15.0-43-generic
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

So wie ich es verstehe, wird Windows nicht hinzugefügt, sudo update-grubweil es nicht ausgeführt wird und die von os-prober bereitgestellten Informationen nicht verwendet.

Ich habe keine Ahnung, wie ich das beheben kann. Jeder Vorschlag wäre äußerst hilfreich. Wenn weitere Informationen benötigt werden, gebe ich sie gerne weiter.

Danke!

Antwort1

Nachdem ich tagelang im Internet gesucht hatte, fand ich eine Antwort!

Alle Anerkennung gebührt diesem Beitrag:https://askubuntu.com/a/977251/1191399. Ich wiederhole es nur.

  1. sudo fdisk -l

Sie sollten eine ausführliche Rückerstattung erhalten, die etwa Folgendes enthält:

Device             Start        End   Sectors   Size Type
/dev/nvme0n1p1      2048    1050623   1048576   512M EFI System
/dev/nvme0n1p2   1050624  874729471 873678848 416.6G Linux filesystem
/dev/nvme0n1p3 874729472  874762239     32768    16M Microsoft reserved
/dev/nvme0n1p4 874762240 1000214527 125452288  59.8G Microsoft basic data
  1. Holen Sie sich die UUID desEFI-Partition sudo blkid /dev/nvme0n1p1(ersetzen Sie nvme0n1p1 durch die für Sie richtige Partition)

Zurückkehren: dev/nvme0n1p1: UUID="3C26-6A4C" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="3b64b43f-e7eb-4ac8-a32c-9af2edf64d0d"

  1. Erteilen Sie sich Schreibberechtigung für die Datei „40_custom“ in /etc/grub.d.

    Öffnen Sie das Terminal (Strg+Alt+T) und führen Sie die folgenden Befehle aus:
    cd /etc/grub.d
    sudo chmod o+w 40_custom

  2. Öffnen Sie die Datei 40_custom
    open ./40_custom

  3. Schreiben Sie Folgendes an das Ende der Datei und ersetzen Sie 3C26-6A4C durch die richtige UUID:

menuentry 'Windows 11' {
    search --fs-uuid --no-floppy --set=root 3C26-6A4C
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
  1. Speichern Sie die Datei und schließen Sie den Editor.

  2. Entfernen Sie im Terminal die Schreibberechtigungen.
    sudo chmod o-w 40_custom

  3. Aktualisieren Sie GRUB mitsudo update-grub

  4. (Optional) Sie können bestätigen, dass Ihre Änderung erfolgreich war, indem Sie zu /boot/grub/grub.cfg gehen und die Zeilen 243-251 überprüfen. Es sollte Ihre Änderungen in der Datei 40_custom widerspiegeln

  5. Starte deinen Computer neureboot

Antwort2

Grub 2.06 schaltet os-prober in /etc/default/grub aus.

https://www.phoronix.com/news/Ubuntu-22.04-Multi-Boot-Changes

Es gibt ein Sicherheitsproblem beim Scannen aller Partitionen auf der Suche nach anderen Systemen. Sie können es in /etc/default/grub ein- und ausschalten.

Am besten führen Sie es nur einmal aus und kopieren dann die Windows-Startstrophe in 40_custom. Dadurch werden auch alle zukünftigen Updates schneller, insbesondere wenn Sie viele Partitionen scannen müssen.

sudoedit /etc/default/grub

Ändern Sie es dann je nach Bedarf in „true“/„false“. „True“ wird empfohlen.

GRUB_DISABLE_OS_PROBER=true

Sie können eine Boot-Strophe einfach nach 40_custom kopieren.

Eine Möglichkeit, die Beschreibungen zu korrigieren, besteht darin, die Windows-Einträge nach 40_custom zu verschieben und nach Belieben zu bearbeiten.

Kopieren Sie die Einträge hiervon:

sudo cp -a /boot/grub/grub.cfg /boot/grub/grub.cfg.backup
sudoedit /boot/grub/grub.cfg

Kopieren Sie sie und bearbeiten Sie sie, um nur die gewünschten Einträge anzuzeigen:

sudoedit /etc/grub.d/40_custom

Nach jeder Änderung an Grub oder Grub-Skripten müssen Sie das Grub-Menü aktualisieren.

sudo update-grub

Grub-Menü mit Windows 10 und Ubuntu 14.04

Typische UEFI-Windows-Bootstrophe, wie sie von os-prober allgemein verwendet wird. Jede ESP hat eine eindeutige UUID und Teil-UUID. Die UUID in der Boot-Strophe ist die UUID Ihrer ESP.

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-F8FD-D8E5' {
    insmod part_gpt
    insmod fat
    search --no-floppy --fs-uuid --set=root F8FD-D8E5
    chainloader /efi/Microsoft/Boot/bootmgfw.efi
}

Wenn Sie die obige Strophe verwenden, müssen Sie Ihre UUID aktualisieren und benötigen keinen Kommentar zur Verwendung von os-prober. So sehen Sie die UUID von ESP.

lsblk -f

Hinweis: Grub bootet nur funktionierende Windows-Geräte. Und UEFI Secure Boot muss deaktiviert sein. Windows schaltet den Windows-Schnellstart bei Updates häufig wieder ein. Sie müssen Windows dann direkt mit der einmaligen UEFI-Boot-Taste booten, häufig F12, aber je nach Hersteller unterschiedlich.

Antwort3

1. Festplatten und Partitionen auflisten

lsblk

2. Identifizieren Sie die Festplatte, die Ihre Windows-Partition enthält.

sudo cfdisk /dev/sd<YOUR DISK LETTER (NO NUMBER)>
  • Verwenden Sie die vertikalen Pfeiltasten, um durch Ihre Geräte zu blättern.
  • Die EFI-Partition ist das Gerät mit dem Typ „EFI-System“.
  • Kopieren Sie die „Filesystem UUID“ für Ihr EFI-Gerät. (XXXX-XXXX)
  • Wählen Sie [ Quit ]mit den Pfeiltasten Ihrer Tastatur aus. Drücken Sie die Eingabetaste, um cfdisk zu beenden.

3. Öffnen /etc/grub.d/40_customin Ihrem bevorzugten Editor ( nano, vim, code)

sudo nano /etc/grub.d/40_custom

4. Fügen Sie Ihren Menüeintrag unterhalb des Kommentars an.

menuentry 'Windows 11' {
    search --fs-uuid --no-floppy --set=root <YOUR "File system UUID">
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

5. Aktualisieren Sie Ihre Grub-Konfiguration.

sudo grub-mkconfig -o /boot/grub/grub.cfg

Enden mitsudo reboot

Antwort4

Zumindest für mich war das die Lösung. os-prober wurde deaktiviert. Ich verwende Ubuntu 22.04

sudo nano /etc/default/grub

SatzGRUB_DISABLE_OS_PROBER=false

Dann renne

sudo update-grub

verwandte Informationen