web-dev-qa-db-de.com

Wie erstelle ich eine EFI-Systempartition?

TL; DR Wie erstelle ich eine EFI-Systempartition von Grund auf neu? Wie kann ich die EFI-Firmware darauf platzieren, sobald sie erstellt wurde?

Lange Version

Ich habe Toshiba T430 Laptop. Ich habe es mit installiertem Windows 7 erhalten (aber ich denke, es wurde ursprünglich mit Windows 8 ausgeliefert). Ich habe Ubuntu darauf installiert, aber einige Partitionen auf der Festplatte gelöscht, so dass ich das Windows ausgelöscht habe und nur Ubuntu habe. Unter den gelöschten Partitionen befand sich auch die EFI-Systempartition. Ich entdeckte, dass Ubuntu jetzt im Legacy-Modus (und nicht UEFI) startet. Ich versuche, dieser Anleitung zur Konvertierung meiner Ubuntu-Installation von Legacy nach UEFI zu folgen . Das Problem - da es keine EFI-Partition gibt, wenn ich mich aus dem BIOS zum Booten mit UEFI entscheide, kann ich nicht booten. Das gilt nicht nur für die Festplatte, sondern auch für USB und DVD. Ich halte das für logisch - es erwartet eine EFI-Partition und da sie nicht gefunden werden kann, kann das Booten nicht fortgesetzt werden, sei es von Festplatte oder DVD. Wie erstelle ich die EFI-Partition neu?

In der obigen Anleitung heißt es:

Erstellen einer EFI-Partition

Wenn Sie Ihre Festplatte im Ubuntu-Installationsprogramm manuell partitionieren, müssen Sie sicherstellen, dass eine EFI-Partition eingerichtet ist.

  1. Wenn Ihre Festplatte bereits eine EFI-Partition enthält (z. B. wenn auf Ihrem Computer Windows8 vorinstalliert war), kann sie auch für Ubuntu verwendet werden. Formatieren Sie es nicht. Es wird dringend empfohlen, nur eine EFI-Partition pro Festplatte zu haben.

  2. Eine EFI-Partition kann über eine aktuelle Version von GParted erstellt werden (die auf dem 12.04-Datenträger enthaltene Gparted-Version ist in Ordnung) und muss die folgenden Attribute aufweisen:

    1. Einhängepunkt:/boot/efi (Anmerkung: Dieser Einhängepunkt muss nicht festgelegt werden, wenn die manuelle Partitionierung verwendet wird. Das Installationsprogramm von Ubuntu erkennt ihn automatisch.)

    2. Größe: mindestens 100Mib. 200 MB empfohlen.

    3. Typ: FAT32

    4. Sonstiges: Benötigt ein "Boot" -Flag.

Ich hatte einige Probleme beim Erstellen dieser Partition:

  • Ich boote von einer Live-Ubuntu-DVD, öffne GParted, erstelle eine 200-MB-Partition und formatiere sie in FAT32.
  • In GParted kann ich den Einhängepunkt und damit die Bootflag nicht setzen.
  • Ich habe den Einhängepunkt nicht in /etc/fstab gesetzt, da es sich um eine Live-CD handelt und fstab ganz anders aussieht, als ich es von einem normalen Boot erwartet hatte. Wie auch immer, ich wusste einfach nicht, welche Werte ich einstellen sollte.

Ich bootete erneut über die Live-DVD und entschied mich dann, Ubuntu zu installieren. Ich habe dann eine Partition mit den genannten Kriterien erstellt - Mount Point, 200MB, FAT32, Boot Flag.

Ich habe jedoch weiterhin dieses Problem und nehme an, dass es auf dieser Partition keine EFI-Firmware gibt, sondern nur eine leere Partition, die für EFI-Firmware geeignet ist.

Wie erstelle ich eine EFI-Partition, auf der die EFI-Software installiert ist, damit der Laptop wieder im UEFI-Modus gestartet werden kann?

SOLUTIONVielen Dank für die Antworten. Was ich getan habe, war Windows 8.1 von Grund auf neu zu installieren, indem ich die gesamte Festplatte formatierte und dann (diesmal richtig) Ubuntu daneben installierte. Dies sind jetzt meine Partitionen:

Disk partitions

Während der Installation von Win 8 wurden, sobald ich alle vorhandenen Partitionen gelöscht und Windows die Festplatte neu formatieren ließ, neben der Hauptinstallationspartition automatisch drei weitere Partitionen erstellt, nämlich 1, 2, 3. Nachdem ich nun ein ordnungsgemäßes ESP hatte Ich könnte beide von Festplatte oder DVD im UEFI-Modus booten.

Sie sagen, dass das ESP standardmäßig keine Informationen speichert, aber ich vermute, dass es bei der Installation eines Betriebssystems einige Informationen dort ablegt. Ich schätze, mein Fall war der folgende: Ich habe ihn gelöscht und obwohl ich ihn neu erstellt habe, war er nicht mit Informationen gefüllt, da die Erstellung des ESP nach der Installation eines Betriebssystems erfolgte. Ich habe die Ubuntu-Installation verloren (keine große Sache, es war sowieso eine Neuinstallation), aber ich denke, um sie zu speichern, hätte ich den Ratschlägen von grawity folgen sollen. Hatte zwar keine Zeit, aber zum Glück ist jetzt alles in Ordnung.

27
Alex Popov

Zunächst legen Sie den Einhängepunkt nicht in GParted fest. Dies geschieht manuell (und vorübergehend) über den Befehl mount oder permanent durch Bearbeiten von /etc/fstab. Ihre Besorgnis über dieses Problem ist daher fehl am Platz.

Zweitens ist eine EFI-Systempartition (ESP) einfach eine FAT-Partition mit einem bestimmten Typcode (nämlich C12A7328-F81F-11D2-BA4B-00A0C93EC93B auf GPT-Datenträgern). Beachten Sie, dass der Einhängepunkt in /etc/fstab nicht Teil der ESP-Definition ist. Unter Linux ist es nur üblich (aber nicht erforderlich), auf das ESP zuzugreifen, indem Sie es unter /boot/efi einbinden, normalerweise über einen /etc/fstab-Eintrag. Wie Sie den Typcode einstellen, ist von Programm zu Programm unterschiedlich:

  • In gdisk setzen Sie den Typcode auf EF00. (gdisk verwendet Zwei-Byte-Typcodes, die zu den realen Typcodes auf der Festplatte erweitert werden. "EF00" ist nur eine Kurzbezeichnung für "C12A7328-F81F-11D2-BA4B-00A0C93EC93B".)
  • In GParted oder parted setzen Sie das "Boot-Flag". Beachten Sie jedoch, dass dies nur auf GPT-Datenträgern funktioniert. Mit diesen Programmen können Sie den Typcode ESP nicht auf MBR-Datenträgern festlegen. (Dies ist normalerweise keine große Sache, da EFI-basierte Computer normalerweise von GPT-Datenträgern booten.)
  • Im Ubuntu-Installationsprogramm identifizieren Sie die Partition als "EFI-Boot-Partition". Es setzt dann den Typcode und richtet /etc/fstab entsprechend ein.
  • In neueren Versionen von Linux fdisk legen Sie den Partitionstyp anhand seiner Nummer fest (1 für "EFI-System" auf GPT-Datenträgern oder 0xEF auf MBR-Datenträgern) oder indem Sie den vollständigen Typcode auf GPT-Datenträgern eingeben.

Drittens enthält das ESP keine Firmware - Firmware wird per Definition in Chips auf dem Motherboard gespeichert. Daher ist Ihr Versuch, die EFI-Firmware auf dem ESP zu installieren, eine wilde Verfolgungsjagd. (Es gibt zwei Ausnahmen von dieser Regel. Erstens können Sie eine Firmware-Datei auf dem ESP speichern, um die Firmware auf Ihrem Computer zu aktualisieren. Dies ist jedoch nur ein temporärer Aufbewahrungsbereich. Zweitens ist der DUET oder Clover boot loader, das EFI wird als reguläres Programm geladen, normalerweise vom ESP.Diese Tools sind jedoch BIOS-Bootloader, mit denen BIOS-reine Computer so gestartet werden können, als ob sie wären EFI-Computer: Sie werden nicht normalerweise auf Computern mit EFI-Firmware verwendet, von denen Sie behaupten, dass sie auf Ihrem Computer installiert sind. Technisch sind weder DUET noch Clover Firmware, sondern BIOS-Bootloader, die dieselben Aufgaben wie EFI ausführen. )

Schließlich kann ich mir eine Reihe möglicher Ursachen für Ihr Problem vorstellen, aber ohne weitere Informationen müsste ich ein halbes Buch schreiben, um sie alle zu behandeln. Ich empfehle Ihnen, das Boot Info Script auf dem Computer auszuführen. Dadurch wird eine Datei mit dem Namen RESULTS.txt erstellt. Veröffentlichen Sie es auf einer Pastebin-Site und senden Sie es mit der URL zu Ihrem Dokument zurück. Dadurch erhalten Sie genaue Angaben zu Ihrer Konfiguration, wodurch sich die Anzahl der möglichen Ursachen für Ihr Problem erheblich verringert.

35
Rod Smith

Die EFI-Partition enthält keine Firmware (die auf einem Chip auf der Hauptplatine gespeichert ist). es behält die Bootloader für installierte Betriebssysteme. Es ist im Grunde die EFI-Alternative, den Bootloader in den 0. Sektor Ihrer Festplatte zu stellen, wie dies bei BIOS-PCs der Fall war.

Dies bedeutet, dass sobald Sie eine solche Partition haben, diese automatisch gefüllt wird, wenn Sie das Betriebssystem installieren. (Wahrscheinlich muss die Installations-CD selbst auch im EFI-Modus gebootet werden, da es sonst nicht darum geht, UEFI-Boot zu konfigurieren. In der Tat können bestimmte Teile des Setups nicht einmal ausgeführt werden BIOS-Modus.)

Wenn Sie Ubuntu bereits installiert haben, müssen Sie:

  1. Installieren Sie die UEFI-Version von GRUB. Ich denke es ist im grub-efi-AMD64-signed Paket.

    grub-install --target=x86_64-efi-signed
    

    (Für die nicht signierte grub-efi-AMD64-Version ist es x86_64-efi.)

  2. Stellen Sie sicher, dass GRUB sich als \EFI\Boot\bootx64.efi in der EFI-Systempartition installiert hat. (Ich verwende hier die EFI-Pfadsyntax. Wenn Sie die Partition unter Linux unter /boot mounten, ist dies /boot/EFI/Boot/bootx64.efi.)

    Ist dies nicht der Fall, kopieren Sie den grubx64.efi manuell an diesen Speicherort.

    Dies ist erforderlich, da sich grub-install nicht zum EFI-Startmenü hinzufügen kann, es sei denn, das System hat bereits im EFI-Modus gestartet. (Auf die "EFI-Variablen" kann in BIOS Moed nicht zugegriffen werden.) Daher besteht die einzige Möglichkeit, GRUB zu booten, darin, sie an der Position "Fallback-Bootloader" abzulegen.

  3. Starten Sie neu. Versuchen Sie, eine Art EFI-Modus im Boot-Menü Ihrer Firmware auszuwählen (EFI-Firmwares haben sogar vor GRUB ein eigenes Boot-Menü).

  4. Überprüfen Sie, ob dmesg | grep "efi:" etwas anzeigt, um zu bestätigen, dass Sie sich im EFI-Modus befinden.

11
grawity

Erstellen Sie zwei Dateien mit dem Editor und speichern Sie sie auf Ihrem USB-Windows-Installationslaufwerk.
SaveAs: CreatePartitions-UEFI.txt

select disk 0  
clean  
convert gpt  
rem == 1. System Partition  =====================  
create partition efi size=210  
format fs=fat32 quick label=”SYSTEM”  
active  
rem == 2. Microsoft Reserved (MSR) partition  ======  
create partition msr size=16  
rem == 3.  Windows partition  ===================  
create partition primary size=xxxxxx   
format fs=ntfs quick label=”Windows”   
assign letter=”W”  
rem == 4. Recovery tools partition  ================  
create partition primary size=460  
format fs=ntfs quick label=”Recovery”  
assign letter=:R”  
list volume

Erstellen Sie eine weitere Textdatei mit Notepad:
SaveAs: diskpart-UEFI.txt

diskpart /s D:\CreatePartitions-UEFI.txt   

REM where D:/ is the usb drive. This command runs the text file to install the partitions.

Wenn Sie MBR verwenden, lautet der Befehl: convert mbr.

Um die Größe der Windows-Partition zu erhalten, multiplizieren Sie Ihre HD-Größe mit 1024, eine Festplatte mit 100 Gigabyte mit 1024 entspricht 102400 minus 210 (EFI-Größe) minus 16 (MSR-Größe) minus 460 (reservierte Größe) der Größe, die Sie eingeben die Windows-Partitionsgröße. (xxxxxx)

Sie können die Partitionsgröße über das Terminal (Eingabeaufforderung) ändern. Cd/d D:> notepad CreatePartitions-UEFI.txt

Öffnen Sie das USB-Laufwerk mit dem Editor diskpart-UEFI.txt, und lassen Sie es geöffnet, oder schreiben Sie den Befehl auf, damit Sie keinen Fehler machen. Sobald Sie die Größe der Partitionen nach Ihren Wünschen geändert haben, schließen Sie sie, und führen Sie dann cd/d x:/Sources aus. Führen Sie anschließend das Laufwerk D:\CreatePartitions-URFI.txt aus.
Liste Volume als letzten Befehl zeigt Ihnen die Partitionen, wenn Sie zufrieden sind, beenden Sie> Computer ausschalten> neu starten> installieren

2
Dave Vian