UEFI-opstartfouten in virtuele Azure Linux-machines oplossen
Van toepassing op: ✔️ Virtuele Linux-machines
Notitie
CentOS waarnaar in dit artikel wordt verwezen, is een Linux-distributie en bereikt het einde van de levensduur (EOL). Houd rekening met uw gebruik en plan dienovereenkomstig. Zie De richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.
Installatiekopieën van Linux-partners in Azure Marketplace zijn gelabeld en geconfigureerd voor opstarten van zowel BIOS-generatie 1 als UEFI (Unified Extensible Firmware Interface) van de tweede generatie.
Wanneer u virtuele Linux-machines (VM's) van de tweede generatie in Azure implementeert, kunnen er UEFI-opstartfouten optreden. In dit artikel worden enkele scenario's besproken waarin UEFI-opstartfouten optreden en oplossingen bieden.
Symptomen
Wanneer u een linux-VM van de tweede generatie in Azure implementeert, mislukt het opstarten en is de server niet toegankelijk.
UEFI-opstartfouten identificeren
Controleer de huidige status van uw virtuele machine met behulp van de diagnostische gegevens over opstarten van Azure.
In de schermafbeelding met diagnostische gegevens over opstarten worden de volgende foutberichten weergegeven:
Fout 1
Samenvatting van opstarten van virtuele machines
- Onbekend apparaat
Het opstartlaadprogramma heeft geen besturingssysteem geladen. - SCSI-schijf (0,0)
Het opstartlaadprogramma heeft geen besturingssysteem geladen. - SCSI-schijf (0,1)
Het opstartlaadprogramma heeft geen besturingssysteem geladen. - Netwerkadapter (000D3A4DD64D)
Er is geen opstartinstallatiekopie gevonden.
Er is geen besturingssysteem geladen. Uw virtuele machine is mogelijk onjuist geconfigureerd. Sluit de VM af en configureer deze opnieuw of klik op Opnieuw opstarten om de huidige opstartvolgorde opnieuw uit te voeren.
- Onbekend apparaat
Fout 2
PXE starten via IPv4
Voordat u problemen ops los
Als u het offline-VM-herstel wilt uitvoeren dat is vereist voor scenario 1: UEFI-partitie in de opstartinstallatiekopie ontbreekt en Scenario 2: UEFI-partitie in de opstartinstallatiekopie is beschadigd, moet u ervoor zorgen dat u toegang hebt tot Azure CLI of Azure Cloud Shell.
Scenario 1: UEFI-partitie in de opstartinstallatiekopie ontbreekt
Als de UEFI-opstartlaadprogrammapartitie ontbreekt of wordt verwijderd, kan de linux-VM van de tweede generatie niet worden opgestart.
Volg deze stappen om dit probleem op te lossen:
Gebruik de opdracht az vm repair create om een herstel-VM te maken. De herstel-VM heeft een kopie van de besturingssysteemschijf voor de niet-functionele VM die is gekoppeld. Zie Een Virtuele Linux-machine herstellen met behulp van de herstelopdrachten van virtuele Azure-machines voor meer informatie.
Maak de partitie opnieuw met behulp van de volgende opdrachten:
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.
Belangrijk
- Vervang door
/dev/sdc
de bijbehorende kopie van het besturingssysteemschijfapparaat. - De keuze van het partitienummer maakt niet uit zolang de begin- en eindpunten van de sector juist zijn. De juiste begin- en eindpunten van de sector worden gekozen omdat het besturingssysteem de ontbrekende sectoren kan bepalen.
- Zorg ervoor dat de eindsector niet wordt bezet door een andere partitie binnen de schijf. Het kiezen van standaardwaarden moet hier voldoende zijn.
Azure Linux-partnerinstallatiekopieën hebben het volgende partitienummer, de beginpunten van de sector en de eindpunten van de sector:
Linux-besturingssysteemdistributie EFI-partitienummer Begin van sector Einde sector CentOS 7 15 10240 1024000 CentOS 8 15 10240 1024000 Debian 10 15 8192 262143 Debian 11 15 8192 262143 RHEL 7 1 2048 1026047 RHEL 8 15 10240 1024000 Oracle Linux 7 15 10240 1024000 Oracle Linux 8 15 10240 1024000 Ubuntu 18.04 15 10240 227327 Ubuntu 20.04 15 10240 227327 SLES 12 2 6144 1054719 SLES 15 2 6144 1054719 - Vervang door
Zodra de partitie opnieuw is gemaakt, herstelt u de virtuele machine door de herstelde besturingssysteemschijf te verwisselen met de oorspronkelijke besturingssysteemschijf van de virtuele machine met behulp van de opdracht az vm repair restore . Zie stap 5 in Een virtuele Linux-machine herstellen met behulp van de herstelopdrachten voor virtuele Azure-machines voor meer informatie.
Scenario 2: UEFI-partitie in opstartinstallatiekopie is beschadigd
Als de UEFI-opstartpartitie is beschadigd, kan de linux-VM van de tweede generatie niet worden opgestart. Volg deze stappen om dit probleem op te lossen:
Gebruik de opdracht az vm repair create om een herstel-VM te maken. De herstel-VM heeft een kopie van de besturingssysteemschijf voor de niet-functionele VM die is gekoppeld. Zie Een Virtuele Linux-machine herstellen met behulp van de herstelopdrachten van virtuele Azure-machines voor meer informatie.
Schoon de beschadigde partitie op met behulp van de volgende opdrachten:
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
Belangrijk
- Vervang door
/dev/sdc
de bijbehorende kopie van het besturingssysteemschijfapparaat. - Maak altijd een back-up van de besturingssysteemschijf en voer een drooguitvoering uit met de
-n
optie voordat u de hierboven genoemde bestandssysteemcontrole uitvoert. - De
dosfsck
opdracht kan worden gebruikt om de vfat-bestandssysteemcontrole uit te voeren. Beide opdrachten zijn hetzelfde. Zie fsck.vfat voor meer informatie.
- Vervang door
Zodra de partitie is opgeschoond, herstelt u de virtuele machine door de herstelde besturingssysteemschijf te verwisselen met de oorspronkelijke besturingssysteemschijf van de virtuele machine met behulp van de opdracht az vm repair restore . Zie stap 5 in Een virtuele Linux-machine herstellen met behulp van de herstelopdrachten voor virtuele Azure-machines voor meer informatie.
Scenario 3: Volledige /opstartpartitie-inhoud wordt verwijderd
Als de volledige /bootpartitie of andere belangrijke inhoud ontbreekt en niet kan worden hersteld, is het herstellen van de VIRTUELE machine vanuit een back-up de enige optie. Zie Azure VM-gegevens herstellen in Azure Portal voor meer informatie.
Contact met ons opnemen voor ondersteuning
Als u vragen hebt of hulp nodig hebt, maakt u een ondersteuningsaanvraag of stelt u ondersteuning voor de Azure-community. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.