重启时的一般保护故障

重启时的一般保护故障

在运行硬件故障测试并随后重新启动后,我在重新启动期间看到一般保护故障。硬件和测试用例没有问题,因为与以前的 RHEL 版本一样运行良好。

可以看到如下调用痕迹

166882.252441] reboot: Restarting system
.... ACPI MEMORY or I/O RESET_REG.
[166882.262989] general protection fault: 0000 [#1] SMP PTI
...
...
[166882.318462] RIP: 0010:0xfffffffeee4cf638
[166882.327300] Code: 00 00 48 85 c0 78 0c 48 8b 44 24 48 48 8d 4c 24 40 ff 10 48 8b 05 20 03 00 00 4c 8d 05 79 03 00 00 48 8d 0d 6a fc ff ff 33 d2 <ff> 90 40 01 00 00 48 85 c0 0f 88 96 00 00 00 4c 8b 15 5a 03 00 00
[166882.368925] RSP: 0018:ffffa1f947a57c40 EFLAGS: 00010046
[166882.380639] RAX: 000000007ceac2b0 RBX: 0000000000000000 RCX: fffffffeee4cf2a0
[166882.396571] RDX: 0000000000000000 RSI: 0000000000000000 RDI: fffffffeee4cf5cc
[166882.412504] RBP: ffffa1f947a57d40 R08: fffffffeee4cf9a8 R09: 0000000000000000
[166882.428437] R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
[166882.444369] R13: 0000000000000000 R14: 0000000000000046 R15: 0000000000000000
[166882.460303] FS:  00007fe79ad72980(0000) GS:ffff8f3f9f400000(0000) knlGS:0000000000000000
[166882.478344] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[166882.491207] CR2: 00007ff70f3911a0 CR3: 0000000887c0a005 CR4: 00000000003606b0
0
[166882.507137] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[166882.523069] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[166882.539003] Call Trace:
[166882.544589]  ? up+0x12/0x50 
[166882.550940]  ? efi_call+0x58/0x90
[166882.558446]  virt_efi_reset_system+0x8d/0x100
[166882.568245]  efi_reboot+0x8b/0xc8
[166882.575747]  native_machine_emergency_restart+0x1b9/0x210
[166882.587848]  ? native_apic_mem_write+0x10/0x10
[166882.597842]  __do_sys_reboot+0x1d2/0x210
[166882.606691]  ? syscall_trace_enter+0x1d3/0x2c0
[166882.616683]  ? __audit_syscall_exit+0x249/0x2a0
[166882.626867]  do_syscall_64+0x5b/0x1a0
[166882.635136]  entry_SYSCALL_64_after_hwframe+0x65/0xca
[166882.646466] RIP: 0033:0x7fe799fcb847

当我们设置 acpi=bios 时,不会报告该问题,但在设置 acpi=bios 后我们会看到不同的问题。

问候, 斯里尼瓦斯

答案1

你可以尝试:

        reboot=         [KNL]
                        Format (x86 or x86_64):
                                [w[arm] | c[old] | h[ard] | s[oft] | g[pio]] \
                                [[,]s[mp]#### \
                                [[,]b[ios] | a[cpi] | k[bd] | t[riple] | e[fi] | p[ci]] \
                                [[,]f[orce]
                        Where reboot_mode is one of warm (soft) or cold (hard) or gpio,
                              reboot_type is one of bios, acpi, kbd, triple, efi, or pci,
                              reboot_force is either force or not specified,
                              reboot_cpu is s[mp]#### with #### being the processor
                                        to be used for rebooting.
  • 更新 BIOS 并重置其设置
  • 启动时使用acpi_osi=! acpi_osi="Windows 2009"

相关内容