Beheben von UEFI-Startfehlern auf virtuellen Azure Linux-Computern
Gilt für: ✔️ Linux-VMs
Notiz
CentOS, auf das in diesem Artikel verwiesen wird, ist eine Linux-Verteilung und wird End Of Life (EOL) erreichen. Sie sollten sich Ihre Nutzung dieser Distribution ansehen und entsprechend planen. Weitere Informationen finden Sie unter CentOS End Of Life Guidance.
Linux-Partnerimages in Azure Marketplace werden sowohl für den Start der BIOS-Generation 1 als auch für den UEFI-Start der Generation 2 (Unified Extensible Firmware Interface) gekennzeichnet und konfiguriert.
Wenn Sie virtuelle Computer der Generation 2 linux (VMs) in Azure bereitstellen, treten UEFI-Startfehler auf. In diesem Artikel werden einige Szenarien erläutert, in denen UEFI-Startfehler auftreten und Lösungen zur Verfügung stellen.
Problembeschreibung
Wenn Sie eine Linux-VM der Generation 2 in Azure bereitstellen, schlägt der Start fehl, und auf den Server kann nicht zugegriffen werden.
Identifizieren von UEFI-Startfehlern
Überprüfen Sie den aktuellen Status Ihrer VM mithilfe der Azure-Startdiagnose.
Der Screenshot der Startdiagnose zeigt die folgenden Fehlermeldungen:
Fehler 1
Startzusammenfassung für virtuelle Computer
- Unbekanntes Gerät
Das Startladeprogramm hat kein Betriebssystem geladen. - SCSI-Datenträger (0,0)
Das Startladeprogramm hat kein Betriebssystem geladen. - SCSI-Datenträger (0,1)
Das Startladeprogramm hat kein Betriebssystem geladen. - Netzwerkadapter (000D3A4DD64D)
Es wurde kein Startimage gefunden.
Es wurde kein Betriebssystem geladen. Ihr virtueller Computer ist möglicherweise falsch konfiguriert. Beenden Sie Ihren virtuellen Computer, und konfigurieren Sie sie erneut, oder klicken Sie auf "Neustart", um die aktuelle Startsequenz erneut zu wiederholen.
- Unbekanntes Gerät
Fehler 2
PXE über IPv4 starten
Vor Beginn der Problembehandlung
Zum Ausführen der Offline-VM-Reparatur, die für Szenario 1 erforderlich ist: UEFI-Partition im Startimage fehlt und Szenario 2: UEFI-Partition im Startimage ist beschädigt, stellen Sie sicher, dass Sie Zugriff auf Azure CLI oder Azure Cloud Shell haben.
Szenario 1: Die UEFI-Partition im Startimage fehlt.
Wenn die UEFI-Startladeprogrammpartition fehlt oder gelöscht wird, schlägt die Linux-VM der Generation 2 fehl.
Gehen Sie folgendermaßen vor, um das Problem zu beheben:
Verwenden Sie den Befehl zum Erstellen der Az-VM-Reparatur, um eine Reparatur-VM zu erstellen. Die Reparatur-VM verfügt über eine Kopie des Betriebssystemdatenträgers für die nicht funktionsfähige VM angefügt. Weitere Informationen finden Sie unter Reparieren einer Linux-VM mithilfe der Reparaturbefehle des virtuellen Azure-Computers.
Erstellen Sie die Partition mit den folgenden Befehlen neu:
root@repair-centos7:~# gdisk /dev/sdc GPT fdisk (gdisk) version 1.0.3 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): p Disk /dev/sdc: 134217728 sectors, 64.0 GiB Model: Virtual Disk Sector size (logical/physical): 512/4096 bytes Disk identifier (GUID): <Disk GUID> Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 134217694 Partitions will be aligned on 2048-sector boundaries Total free space is 1019837 sectors (498.0 MiB) Number Start (sector) End (sector) Size Code Name 1 1026048 3123199 1024.0 MiB 0700 2 3123200 134215679 62.5 GiB 8E00 14 2048 10239 4.0 MiB EF02 Command (? for help): n Partition number (3-128, default 3): First sector (34-134217694, default = 10240) or {+-}size{KMGTP}: 10240 Last sector (10240-1026047, default = 1026047) or {+-}size{KMGTP}: 1026047 Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): ef00 Changed type of partition to 'EFI System' Command (? for help): p Disk /dev/sdc: 134217728 sectors, 64.0 GiB Model: Virtual Disk Sector size (logical/physical): 512/4096 bytes Disk identifier (GUID): <Disk GUID> Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 134217694 Partitions will be aligned on 2048-sector boundaries Total free space is 4029 sectors (2.0 MiB) Number Start (sector) End (sector) Size Code Name 1 1026048 3123199 1024.0 MiB 0700 2 3123200 134215679 62.5 GiB 8E00 3 10240 1026047 496.0 MiB EF00 EFI System 14 2048 10239 4.0 MiB EF02 Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) The operation has completed successfully.
Wichtig
- Ersetzen Sie durch
/dev/sdc
die entsprechende Kopie des Betriebssystemdatenträgergeräts (Betriebssystem). - Die Auswahl der Partitionsnummer spielt keine Rolle, solange der Branchenanfang und die Endpunkte korrekt sind. Die richtigen Anfangs- und Endpunkte für den Sektor werden ausgewählt, da das Betriebssystem die fehlenden Sektoren ermitteln kann.
- Stellen Sie sicher, dass der endende Sektor nicht von einer anderen Partition auf dem Datenträger belegt ist. Die Auswahl von Standardwerten sollte hier ausreichen.
Azure Linux-Partnerimages weisen die folgende Partitionsnummer, Branchenanfangspunkte und Branchenendpunkte auf:
Linux-Betriebssystemverteilung EFI-Partitionsnummer Branchenstart Sektorende CentOS 7: 15 10.240 1024000 CentOS 8 15 10.240 1024000 Debian 10 15 8192 262143 Debian 11 15 8192 262143 RHEL 7 1 2048 1026047 RHEL 8 15 10.240 1024000 Oracle Linux 7 15 10.240 1024000 Oracle Linux 8 15 10.240 1024000 Ubuntu 18.04 15 10.240 227327 Ubuntu 20.04 15 10.240 227327 SLES 12 2 6144 1054719 SLES 15 2 6144 1054719 - Ersetzen Sie durch
Nachdem die Partition neu erstellt wurde, stellen Sie den virtuellen Computer wieder her, indem Sie den reparierten Betriebssystemdatenträger mit dem ursprünglichen Betriebssystemdatenträger der VM austauschen, indem Sie den Befehl "Wiederherstellung des virtuellen Computers az vm reparieren" verwenden. Weitere Informationen finden Sie in Schritt 5 unter Reparieren einer Linux-VM mithilfe der Reparaturbefehle für virtuelle Azure-Computer.
Szenario 2: Die UEFI-Partition im Startimage ist beschädigt.
Wenn die UEFI-Startpartition beschädigt ist, kann die Linux-VM der Generation 2 nicht gestartet werden. Gehen Sie folgendermaßen vor, um das Problem zu beheben:
Verwenden Sie den Befehl zum Erstellen der Az-VM-Reparatur, um eine Reparatur-VM zu erstellen. Die Reparatur-VM verfügt über eine Kopie des Betriebssystemdatenträgers für die nicht funktionsfähige VM angefügt. Weitere Informationen finden Sie unter Reparieren einer Linux-VM mithilfe der Reparaturbefehle des virtuellen Azure-Computers.
Bereinigen Sie die beschädigte Partition mithilfe der folgenden Befehle:
root@repair-centos7:~# gdisk -l /dev/sdc GPT fdisk (gdisk) version 1.0.3 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/sdc: 134217728 sectors, 64.0 GiB Model: Virtual Disk Sector size (logical/physical): 512/4096 bytes Disk identifier (GUID): <Disk GUID> Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 134217694 Partitions will be aligned on 2048-sector boundaries Total free space is 4029 sectors (2.0 MiB) Number Start (sector) End (sector) Size Code Name 1 1026048 3123199 1024.0 MiB 0700 2 3123200 134215679 62.5 GiB 8E00 3 10240 1026047 496.0 MiB EF00 EFI System 14 2048 10239 4.0 MiB EF02 root@repair-centos7:~# fsck.vfat -n /dev/sdc3 fsck.fat 4.1 (2017-01-24) 0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt. Automatically removing dirty bit. Leaving filesystem unchanged. /dev/sdc3: 19 files, 1438/63326 clusters root@repair-centos7:~# fsck.vfat /dev/sdc3 fsck.fat 4.1 (2017-01-24) 0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt. 1) Remove dirty bit 2) No action ? 1 Perform changes ? (y/n) y /dev/sdc3: 19 files, 1438/63326 clusters root@repair-centos7:~# fsck.vfat /dev/sdc3 fsck.fat 4.1 (2017-01-24) /dev/sdc3: 19 files, 1438/63326 clusters
Wichtig
- Ersetzen Sie durch
/dev/sdc
die entsprechende Kopie des Betriebssystemdatenträgergeräts. - Übernehmen Sie immer eine Sicherung des Betriebssystemdatenträgers, und führen Sie eine Trockenausführung mit der
-n
Option aus, bevor Sie die oben erwähnte Dateisystemprüfung durchführen. - Der
dosfsck
Befehl kann zum Ausführen der Vfat-Dateisystemprüfung verwendet werden. Beide Befehle sind identisch. Weitere Informationen finden Sie unter fsck.vfat.
- Ersetzen Sie durch
Nachdem die Partition bereinigt wurde, stellen Sie den virtuellen Computer wieder her, indem Sie den reparierten Betriebssystemdatenträger mit dem ursprünglichen Betriebssystemdatenträger der VM austauschen, indem Sie den Befehl "az vm repair restore " verwenden. Weitere Informationen finden Sie in Schritt 5 unter Reparieren einer Linux-VM mithilfe der Reparaturbefehle für virtuelle Azure-Computer.
Szenario 3: Der gesamte /boot-Partitionsinhalt wird gelöscht.
Wenn die gesamte /boot-Partition oder andere wichtige Inhalte fehlen und nicht wiederhergestellt werden können, ist die Wiederherstellung des virtuellen Computers aus einer Sicherung die einzige Option. Weitere Informationen finden Sie unter Wiederherstellen von Azure-VM-Daten in Azure-Portal.
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.