Es ist tatsächlich möglich .
Bevor ich fortfahre, sind diese Anweisungen für leere EFI-Systempartitionen (ESP) gedacht und überschreiben wahrscheinlich vorhandene Dateien oder funktionieren nicht wie erwartet. Zumindest Backups machen!
Hinzufügen der erforderlichen Partitionen für verschiedene Plattformen
Plattformen: Legacy-PC, UEFI-basierter Windows-Computer, Apple-Computer
Fügen Sie einer vorhandenen Installation mit MBR ein ESP hinzu
Sie müssen diese Anweisungen einer anderen Installation oder eines anderen Live-Mediums befolgen.
Installieren Sie das grub-efi-amd64-binPaket. Dadurch werden nur die benötigten Ressourcen installiert. Es wird Ihre vorhandene Installation im MBR-Stil nicht auf UEFI umstellen und die Dinge auf den Kopf stellen.
Verkleinern Sie Ihre Ubuntu-Partition in GParted , um Platz für ein ESP zu schaffen. Die empfohlenen Größen für ESPs liegen zwischen 100 MB und 500 MB. Für die Dateien, die anhand dieser Anweisungen erstellt wurden, sind jedoch nicht mehr als 2 bis 5 Megabyte erforderlich.
Hinweis: Es sollte keine Rolle spielen, wo sich Ihr ESP auf der Festplatte befindet, und das Verkleinern Ihrer Ubuntu-Partition um einige Megabyte vom Ende sollte schnell und sicher sein. Das Schrumpfen am Anfang ist nicht sicher . Eine Einschränkung: Ihr ESP sollte eine primäre Partition sein und nicht Teil einer erweiterten Partition oder eines logischen Volumes. Partitionsnummern von 1 bis 4 sind in Ordnung. Die obigen Zahlen geben eine erweiterte Partition in MBR-Partitionstabellen an.
Wählen Sie FAT32 als Dateisystem und setzen Sie das Boot-Flag.
Hängen Sie das soeben erstellte ESP und das verkleinerte Root-Dateisystem ein:
mkdir -p /mnt/esp
mount $esp_device /mnt/esp
mkdir -p /mnt/rootfs
mount $root_device /mnt/rootfs
Hinweis: Ersetzen Sie $esp_deviceund $root_devicedurch die entsprechenden Geräte, z . B. /dev/sdb2und /dev/sdb1. Die Mountpunkte /mnt/esp und /mnt/rootfssind nur Beispiele, die ausgewählt wurden, um mit dem verbleibenden Teil dieser Antwort zu arbeiten.
Installieren Sie das EFI-Image von GRUB und eine minimale Konfigurationsdatei mit:
grub-install --efi-directory /mnt/esp --boot-directory /mnt/rootfs/boot --target x86_64-efi --removable $device
Beachten Sie, dass dies $devicedas gesamte Gerät ist, z. B. /dev/sdbkeine Partition.
Das war's, wir sind schon fertig, aber lassen Sie mich versuchen, ein paar Dinge zu erklären.
Der Parameter stellt --target x86_64-efisicher, dass UEFI-Images und -Module auf den angegebenen Pfaden installiert werden. --removableInstalliert das UEFI-Image auf dem fest codierten Pfad \EFI\BOOT\BOOT{arch}.EFIfür Wechselmedien anstelle eines verteilungsspezifischen Pfads. Ihr grub.cfgIn /boot/grub/sollte mit beiden Startmethoden funktionieren und ein neuer Ordner mit dem Namen x86_64-efisollte jetzt neben vorhanden sein i386-pc.
Der Vollständigkeit halber ist dies der Befehl für nicht entfernbare Medien, die NVRAM-Einträge auf der Plattform schreiben und darauf zurückgreifen:
grub-install --efi-directory /mnt/esp --boot-directory /mnt/rootfs/boot --target x86_64-efi --bootloader-id "Ubuntu" $device
Ordnungsgemäße UEFI-Installationen enthalten eine Zeile ähnlich der folgenden in /etc/fstab, aber das Setup funktioniert ohne und das UEFI-Image (ähnlich dem MBR-Bootloader) wird normalerweise nur während der Betriebssysteminstallation geschrieben / aktualisiert.
UUID=1234-567F /boot/efi vfat defaults 0 1
Hinzufügen eines ESP oder GRUB-BBP zu einer Installation mit GPT
Das Hinzufügen eines ESP zu einer Legacy-Installation auf einem GPT-partitionierten Laufwerk ist dem oben genannten sehr ähnlich:
- Installieren Sie das
grub-efi-amd64-binPaket.
- Erstellen Sie eine Partition mit einem FAT32-Dateisystem ähnlich den obigen Anweisungen, indem Sie die Größe der Root-Partition ändern und das
bootFlag setzen.
- Hängen Sie die Partitionen ein und führen Sie den
grub-installBefehl von oben aus, der den --removableParameter enthält.
Dies funktioniert auch, wenn Sie nur Ihre vorhandene UEFI-Installation auf einem anderen Computer starten möchten.
Das Erstellen einer BIOS Bootable Partition (BBP) für GRUB ist etwas anders:
Installieren Sie das grub-pc-binPaket.
Erstellen Sie eine Partition ähnlich den obigen Anweisungen, indem Sie die Größe der Root-Partition ändern und das bios_grubFlag setzen. Wählen Sie kein Dateisystem und lassen Sie es unformatiert.
Bearbeiten Sie die Konfigurationsdatei /etc/default/grubmit Administratorrechten und fügen Sie GRUB_DEVICE=/dev/sdb6sie am Ende hinzu. Ersetzen Sie /dev/sdb6durch den tatsächlichen Gerätenamen Ihres BBP. Sie können den Befehlszeileneditor nano verwenden , um die Sache einfach zu halten.
Installieren Sie das GRUB MBR-Image auf dem BBP mit:
grub-install --boot-directory /mnt/test/boot/ --target i386-pc $device
Möglicherweise möchten Sie die Zeile entfernen oder auskommentieren /etc/default/grubund zur eigentlichen Installation hinzufügen.
Bonus: Fügen Sie bei einer Installation mit GPT eine Partition für Macs hinzu
Ich fand heraus, dass der sehr neue Mac (Mac Mini A1347 EMC 2840), mit dem ich getestet habe, von einem Standard-FAT32-ESP booten konnte, sogar von MBR! Wie auch immer, los geht's:
Installieren Sie die grub-efi-amd64-bin, hfsprogs, mactel-bootund mactel-boot-logo(optional) Pakete. Sie müssen die Universe- Repositorys aktivieren ( Wie aktiviere ich das "Universe" -Repositorium über die Befehlszeile? ) Und die aktuelle Mactel-Support-PPA hinzufügen ( weitere Informationen finden Sie im Mactel-Support-Community-Team ), um alle zu installieren.
Erstellen Sie eine Partition mit einem HFS + -Dateisystem ähnlich den obigen Anweisungen, indem Sie die Größe der Root-Partition ändern. Dieses Mal benötigen wir ein paar Megabyte mehr Speicherplatz. Verdoppeln Sie also die Größe des ESP, wenn Sie zuvor nur 5 Megabyte oder weniger hatten. Es ist keine Flagge erforderlich.
Montieren Sie die Partitionen:
mkdir -p /mnt/esp-mac
mount $esp-mac_device /mnt/esp-mac
mkdir -p /mnt/rootfs
mount $root_device /mnt/rootfs
Hinweis: Ich habe Konflikte gewählt $esp-mac_deviceund /mnt/esp-macvermieden.
Führen Sie den grub-installBefehl aus, der den --removableParameter enthält:
grub-install --efi-directory /mnt/esp-mac --boot-directory /mnt/rootfs/boot --target x86_64-efi --removable $device
Richten Sie die Partition schließlich so ein, wie es ein Mac erwartet:
sudo hfs-bless /mnt/esp-mac/EFI/BOOT/bootx64.efi
sudo cp -v /mnt/esp-mac/EFI/BOOT/bootx64.efi /mnt/esp-mac/System/Library/CoreServices/boot.efi
sudo cp -v /mnt/esp-mac/EFI/BOOT/grub.cfg /mnt/esp-mac/System/Library/CoreServices/grub.cfg
sudo cp -v /usr/share/mactel-boot/SystemVersion.plist /mnt/esp-mac/System/Library/CoreServices/SystemVersion.plist
sudo cp -v /usr/share/mactel-boot-logo/ubuntu.icns /mnt/esp-mac/.VolumeIcon.icns
echo "Dummy kernel for booting" | sudo tee /mnt/esp-mac/mach_kernel
Um Ubuntu von einem externen Medium auf einem Mac zu starten, müssen Sie nur noch die Optionstaste ⌥ oder Altauf Windows-Tastaturen drücken und die richtige Festplatte auswählen.

Informationen zu Partitionsflags, Typcodes und GUIDs
Um so genau wie möglich zu sein, ist das Startflag für GRUB nicht wichtig. Standardmäßig sucht GRUB nach UUIDs, um das richtige Dateisystem zum Booten zu finden. Durch Setzen des Boot-Flags oder des bios_grub-Flags in GParted wird normalerweise ein Typ (MBR) oder eine GUID (GPT) für die Partition festgelegt.
Der Vorteil des Festlegens des richtigen Typs oder der richtigen GUID besteht neben einem ordnungsgemäß funktionierenden Setup darin, dass diese Partitionen im Dateimanager ausgeblendet werden. Der einfachste Weg, Typen und GUIDs zu überprüfen und zu ändern, ist über Disks ( gnome-disks).


Alternativ können Sie parted oder gdisk verwenden:
- 0xef ist der Typcode für ESP in MBR zur Verwendung mit fdisk
- ef00 ist der abgekürzte Typcode für ESP in GPT zur Verwendung mit gdisk
- ef02 ist der abgekürzte Typcode für BBP in GPT zur Verwendung mit gdisk
Wikipedia hat eine große Liste von GUIDs für GPT .
Befehlszeilenäquivalente partedgemäß Handbuch sind parted $device set partition esp onund parted $device set partition bios_grub on.