Rozwiązywanie problemów z błędami rozruchu UEFI na maszynach wirtualnych z systemem Azure Linux
Uwaga
CentOS, do którego odwołuje się ten artykuł, jest dystrybucją systemu Linux i osiągnie koniec życia (EOL). Rozważ użycie i odpowiednio zaplanuj. Aby uzyskać więcej informacji, zobacz Wskazówki dotyczące końca życia systemu CentOS.
Obrazy partnerów systemu Linux w Azure Marketplace są oznaczane i konfigurowane zarówno dla rozruchu biosu generacji 1, jak i ujednoliconego rozszerzalnego interfejsu układowego (UEFI) generacji 2. generacji.
Podczas wdrażania maszyn wirtualnych z systemem Linux generacji 2 na platformie Azure mogą wystąpić błędy rozruchu UEFI. W tym artykule omówiono niektóre scenariusze, w których występują błędy rozruchu UEFI i przedstawiono rozwiązania.
Symptomy
Podczas wdrażania maszyny wirtualnej z systemem Linux generacji 2 na platformie Azure rozruch kończy się niepowodzeniem, a serwer jest niedostępny.
Identyfikowanie błędów rozruchu interfejsu UEFI
Sprawdź bieżący stan maszyny wirtualnej przy użyciu diagnostyki rozruchu platformy Azure.
Zrzut ekranu diagnostyki rozruchu przedstawia następujące komunikaty o błędach:
Błąd 1
Podsumowanie rozruchu maszyny wirtualnej
- Nieznane urządzenie
Moduł ładujący rozruch nie załaduje systemu operacyjnego. - Dysk SCSI (0,0)
Moduł ładujący rozruch nie załaduje systemu operacyjnego. - Dysk SCSI (0,1)
Moduł ładujący rozruch nie załaduje systemu operacyjnego. - Karta sieciowa (000D3A4DD64D)
Nie odnaleziono obrazu rozruchowego.
Nie załadowano żadnego systemu operacyjnego. Maszyna wirtualna może być niepoprawnie skonfigurowana. Zamknij i ponownie skonfiguruj maszynę wirtualną lub kliknij przycisk uruchom ponownie, aby ponownie ponowić próbę wykonania bieżącej sekwencji rozruchu.
- Nieznane urządzenie
Błąd 2
Uruchamianie środowiska PXE za pośrednictwem protokołu IPv4
Przed rozpoczęciem rozwiązywania problemów
Aby wykonać naprawę maszyny wirtualnej w trybie offline, która jest wymagana w przypadku scenariusza 1: brak partycji UEFI w obrazie rozruchowym, a scenariusz 2: partycja UEFI na obrazie rozruchowym jest uszkodzona, upewnij się, że masz dostęp do interfejsu wiersza polecenia platformy Azure lub usługi Azure Cloud Shell.
Scenariusz 1. Brak partycji UEFI w obrazie rozruchowym
Jeśli brakuje lub usunięto partycję modułu ładującego rozruchu UEFI, rozruch maszyny wirtualnej z systemem Linux 2. generacji zakończy się niepowodzeniem.
Aby rozwiązać ten problem, wykonaj następujące kroki:
Użyj polecenia az vm repair create , aby utworzyć maszynę wirtualną naprawczą. Naprawa maszyny wirtualnej będzie mieć kopię dysku systemu operacyjnego dla nie funkcjonalnej maszyny wirtualnej dołączonej. Aby uzyskać więcej informacji, zobacz Naprawianie maszyny wirtualnej z systemem Linux przy użyciu poleceń naprawy maszyny wirtualnej platformy Azure.
Utwórz ponownie partycję przy użyciu następujących poleceń:
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.
Ważna
- Zastąp
/dev/sdc
element odpowiednią kopią urządzenia dyskowego systemu operacyjnego. - Wybór numeru partycji nie ma znaczenia, o ile punkt początkowy i końcowy sektora są poprawne. Wybierane są prawidłowe punkty początkowe i końcowe sektora, ponieważ system operacyjny jest w stanie określić brakujące sektory.
- Upewnij się, że sektor końcowy nie jest zajęty przez żadną inną partycję na dysku. Tutaj należy wybrać wartości domyślne.
Obrazy partnerów platformy Azure z systemem Linux mają następujący numer partycji, punkty początkowe sektora i punkty końcowe sektora:
Dystrybucja systemu operacyjnego Linux Numer partycji EFI Początek sektora Koniec sektora 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 - Zastąp
Po ponownym utworzeniu partycji przywróć maszynę wirtualną, zamieniając naprawiony dysk systemu operacyjnego na oryginalny dysk systemu operacyjnego maszyny wirtualnej za pomocą polecenia az vm repair restore . Aby uzyskać więcej informacji, zobacz krok 5 w artykule Naprawianie maszyny wirtualnej z systemem Linux przy użyciu poleceń naprawy maszyny wirtualnej platformy Azure.
Scenariusz 2. Partycja UEFI w obrazie rozruchowym jest uszkodzona
Jeśli partycja rozruchowa UEFI jest uszkodzona, rozruch maszyny wirtualnej z systemem Linux 2. generacji zakończy się niepowodzeniem. Aby rozwiązać ten problem, wykonaj następujące kroki:
Użyj polecenia az vm repair create , aby utworzyć maszynę wirtualną naprawczą. Naprawa maszyny wirtualnej będzie mieć kopię dysku systemu operacyjnego dla nie funkcjonalnej maszyny wirtualnej dołączonej. Aby uzyskać więcej informacji, zobacz Naprawianie maszyny wirtualnej z systemem Linux przy użyciu poleceń naprawy maszyny wirtualnej platformy Azure.
Wyczyść uszkodzoną partycję przy użyciu następujących poleceń:
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
Ważna
- Zastąp
/dev/sdc
element odpowiednią kopią urządzenia dyskowego systemu operacyjnego. - Zawsze wykonaj kopię zapasową dysku systemu operacyjnego i wykonaj suchy przebieg z
-n
opcją przed wykonaniem kontroli systemu plików wymienionej powyżej. - Polecenie
dosfsck
może służyć do sprawdzania systemu plików vfat. Oba polecenia są takie same. Aby uzyskać więcej informacji, zobacz fsck.vfat.
- Zastąp
Po oczyszczeniu partycji przywróć maszynę wirtualną, zamieniając naprawiony dysk systemu operacyjnego na oryginalny dysk systemu operacyjnego maszyny wirtualnej za pomocą polecenia az vm repair restore . Aby uzyskać więcej informacji, zobacz krok 5 w artykule Naprawianie maszyny wirtualnej z systemem Linux przy użyciu poleceń naprawy maszyny wirtualnej platformy Azure.
Scenariusz 3. Cała zawartość partycji /boot jest usuwana
Jeśli brakuje całej partycji /boot lub innej ważnej zawartości i nie można jej odzyskać, jedynym rozwiązaniem jest przywrócenie maszyny wirtualnej z kopii zapasowej. Aby uzyskać więcej informacji, zobacz How to restore Azure VM data in Azure Portal (Jak przywrócić dane maszyny wirtualnej platformy Azure w Azure Portal).
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla