Delen via


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

    1. Onbekend apparaat
      Het opstartlaadprogramma heeft geen besturingssysteem geladen.
    2. SCSI-schijf (0,0)
      Het opstartlaadprogramma heeft geen besturingssysteem geladen.
    3. SCSI-schijf (0,1)
      Het opstartlaadprogramma heeft geen besturingssysteem geladen.
    4. 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.

    Schermopname van het hyper-V-foutbericht voor ontbrekende UEFI-opstartinstallatiekopie.

  • Fout 2

    PXE starten via IPv4

    Schermopname van de overgang van hyper-V-fout naar PXE-opstartprobleem.

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:

  1. 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.

  2. 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
  3. 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:

  1. 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.

  2. 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.
  3. 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.