Centos 7 服务器无法启动 X64 异常类型 - 0D(#GP - 常规保护)

Centos 7 服务器无法启动 X64 异常类型 - 0D(#GP - 常规保护)

yum update在之前运行良好的 Centos 7 服务器上运行了一个,然后尝试使用命令重新启动它reboot

该服务器是谷歌云计算实例。

它不会出现。

串行控制台上的输出是:

BdsDxe: loading Boot0003 "CentOS Linux" from HD(1,GPT,C8B5C89A-17ED-480E-B9F6-0E811C16FEE3,0x800,0x64000)/\EFI\cent
os\shimx64.efi                                                                                                     
BdsDxe: starting Boot0003 "CentOS Linux" from HD(1,GPT,C8B5C89A-17ED-480E-B9F6-0E811C16FEE3,0x800,0x64000)/\EFI\cen
tos\shimx64.efi                                                                                                    
                                                                                                                   
UEFI: Attempting to start image.                                                                                   
Description: CentOS Linux                                                                                          
FilePath: HD(1,GPT,C8B5C89A-17ED-480E-B9F6-0E811C16FEE3,0x800,0x64000)/\EFI\centos\shimx64.efi                     
OptionNumber: 3.                                                                                                   
                                                                                                                   
!!!! X64 Exception Type - 0D(#GP - General Protection)  CPU Apic ID - 00000000 !!!!                                
ExceptionData - 0000000000000000                                                                                   
RIP  - 00000000BF2E6D5C, CS  - 0000000000000038, RFLAGS - 0000000000010006                                         
RAX  - 00000000BFF67E50, RCX - 000000000000001F, RDX - 00000000BFF39F28                                            
RBX  - 00000000BF352FB0, RSP - 00000000BFF39E50, RBP - 00000000000023C0                                            
RSI  - 00000000BFF39F28, RDI - 0000000000000068                                                                    
R8   - 00000000BDB79018, R9  - 000000000000211E, R10 - 00000000BDC59010                                            
R11  - 00000000BFF39E9A, R12 - 00000000BE6E63E8, R13 - 00000000BF339018                                            
R14  - 00000000BEE21018, R15 - 0000000000000068                                                                    
DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030                                            
GS   - 0000000000000030, SS  - 0000000000000030                                                                    
CR0  - 0000000080010033, CR2 - 0000000000000000, CR3 - 00000000BF401000                                            
CR4  - 0000000000000668, CR8 - 0000000000000000                                                                    
DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000                                            
DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400                                            
GDTR - 00000000BF3EEA98 0000000000000047, LDTR - 0000000000000000                                                  
IDTR - 00000000BEE1F018 0000000000000FFF,   TR - 0000000000000000                                                  
FXSAVE_STATE - 00000000BFF39AB0                                                                                    
!!!! Find image based on IP(0xBF2E6D5C) /build/work/af60adde42b1d1ad5be2a01e4924bb905248/google3/blaze-out/k8-opt/g
enfiles/third_party/edk2/ovmf_x64_csm_debug_workspace_dir/ovmf_x64_csm_debug_edk2_files_dir/Build/OvmfX64/DEBUG_CLA
NG38/X64/OvmfPkg/8254TimerDxe/8254Timer/DEBUG/Timer.dll (ImageBase=00000000BF2E5000, EntryPoint=00000000BF2E6AB5) !
!!!                                                                                                                

我不知道我做错了什么。

我怎样才能避免将来再遇到这种情况?:)

答案1

CentOS 存在影响 GCP 中 VM 实例的问题,该问题已在状态仪表板 [1] 中报告。

您需要按照以下步骤恢复虚拟机实例的运行:

  • 1.-停止损坏的实例(无论如何它都无法启动)。
  • 2.-编辑它以删除启动盘。
  • 3.-编辑同一区域中的另一个良好实例(shim 包尚未更新),将坏实例的启动磁盘作为附加磁盘连接起来。
  • 4.-lsblk 找出所连接磁盘的设备名称,例如:/dev/sdb。
  • 5.挂载 efi 分区,例如:mount /dev/sdb1 /mnt
  • 6.-从良好的实例复制旧的 efi 文件:
    • cp -f /boot/efi/EFI/BOOT/BOOTX64.EFI /mnt/EFI/BOOT/BOOTX64.EFI
    • cp -f /boot/efi/EFI/centos/*.efi /mnt/EFI/centos
  • 7.-umount /mnt
  • 8.-分离磁盘并将其重新连接到坏实例作为启动磁盘。
  • 9.-启动损坏的实例,现在它可以启动了。

[1]https://status.cloud.google.com/incident/compute/20009

相关内容