Dela via


Felsöka UEFI-startfel på virtuella Linux-datorer i Azure

Gäller för: ✔️ Virtuella Linux-datorer

Kommentar

CentOS som refereras i den här artikeln är en Linux-distribution och kommer att nå End Of Life (EOL). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledning.

Linux-partneravbildningar på Azure Marketplace är taggade och konfigurerade för både START av BIOS generation 1 och UEFI-start (Unified Extensible Firmware Interface) generation 2.

När du distribuerar virtuella Linux-datorer av generation 2 i Azure kan det uppstå UEFI-startfel. I den här artikeln beskrivs några scenarier där UEFI-startfel inträffar och tillhandahåller lösningar.

Symptom

När du distribuerar en virtuell Linux-dator av generation 2 i Azure misslyckas starten och servern är otillgänglig.

Identifiera UEFI-startfel

Kontrollera den virtuella datorns aktuella tillstånd med hjälp av Azure Boot-diagnostiken.

Skärmbilden av startdiagnostiken visar följande felmeddelanden:

  • Fel 1

    Startsammanfattning för virtuell dator

    1. Okänd enhet
      Startinläsaren läste inte in något operativsystem.
    2. SCSI-disk (0,0)
      Startinläsaren läste inte in något operativsystem.
    3. SCSI-disk (0,1)
      Startinläsaren läste inte in något operativsystem.
    4. Nätverkskort (000D3A4DD64D)
      En startavbildning hittades inte.

    Inget operativsystem lästes in. Den virtuella datorn kan vara felaktigt konfigurerad. Avsluta och konfigurera om den virtuella datorn eller klicka på Starta om för att försöka igen med den aktuella startsekvensen.

    Skärmbild av hyper-V-felmeddelandet för saknad UEFI-startavbildning.

  • Fel 2

    Starta PXE över IPv4

    Skärmbild av övergången av hyper-V-fel till PXE-startproblem.

Innan du felsöker

För att utföra den offline-VM-reparation som krävs för scenario 1: UEFI-partitionen i startavbildningen saknas och Scenario 2: UEFI-partitionen i startavbildningen är skadad kontrollerar du att du har åtkomst till Azure CLI eller Azure Cloud Shell.

Scenario 1: UEFI-partitionen i startavbildningen saknas

Om UEFI-startinläsningspartitionen saknas eller tas bort går det inte att starta den virtuella Linux-datorn av generation 2.

Följ dessa anvisningar för att lösa problemet:

  1. Använd kommandot az vm repair create för att skapa en virtuell reparationsdator. Den virtuella reparationsdatorn har en kopia av OS-disken för den icke-funktionella virtuella datorn. Mer information finns i Reparera en virtuell Linux-dator med hjälp av reparationskommandona för virtuella Azure-datorer.

  2. Återskapa partitionen med hjälp av följande kommandon:

    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.
    

    Viktigt!

    • Ersätt /dev/sdc med motsvarande kopia av operativsystemdiskenheten (OS).
    • Valet av partitionsnummer spelar ingen roll så länge sektorns start- och slutpunkter är korrekta. Rätt start- och slutpunkter för sektorn väljs eftersom operativsystemet kan fastställa vilka sektorer som saknas.
    • Se till att slutsektorn inte används av någon annan partition i disken. Det räcker med att välja standardvärden här.

    Azure Linux-partnerbilder har följande partitionsnummer, sektorstartpunkter och sektorslutpunkter:

    Linux OS-distribution EFI-partitionsnummer Sektorstart Sektorslut
    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. När partitionen har återskapats återställer du den virtuella datorn genom att byta den reparerade OS-disken mot den ursprungliga OS-disken på den virtuella datorn med hjälp av kommandot az vm repair restore . Mer information finns i steg 5 i Reparera en virtuell Linux-dator med hjälp av reparationskommandona för virtuella Azure-datorer.

Scenario 2: UEFI-partitionen i startavbildningen är skadad

Om UEFI-startpartitionen är skadad kan den virtuella Linux-datorn av generation 2 inte startas. Följ dessa anvisningar för att lösa problemet:

  1. Använd kommandot az vm repair create för att skapa en virtuell reparationsdator. Den virtuella reparationsdatorn har en kopia av OS-disken för den icke-funktionella virtuella datorn. Mer information finns i Reparera en virtuell Linux-dator med hjälp av reparationskommandona för virtuella Azure-datorer.

  2. Rensa den skadade partitionen med hjälp av följande kommandon:

    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
    

    Viktigt!

    • Ersätt /dev/sdc med motsvarande kopia av OS-diskenheten.
    • Ta alltid en säkerhetskopia av OS-disken och utför en torr körning med -n alternativet innan du utför filsystemkontrollen som nämns ovan.
    • Kommandot dosfsck kan användas för att utföra vfat-filsystemkontrollen. Båda kommandona är desamma. Mer information finns i fsck.vfat.
  3. När partitionen har rensats återställer du den virtuella datorn genom att byta den reparerade OS-disken mot den ursprungliga OS-disken på den virtuella datorn med hjälp av kommandot az vm repair restore . Mer information finns i steg 5 i Reparera en virtuell Linux-dator med hjälp av reparationskommandona för virtuella Azure-datorer.

Scenario 3: Hela /boot-partitionsinnehållet tas bort

Om hela /boot-partitionen eller annat viktigt innehåll saknas och inte kan återställas är det enda alternativet att återställa den virtuella datorn från en säkerhetskopia. Mer information finns i Så här återställer du data för virtuella Azure-datorer i Azure Portal.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.