无法启动运行 CentOS 8 的家庭服务器 - 内核崩溃

无法启动运行 CentOS 8 的家庭服务器 - 内核崩溃

大约运行一年后,我的家用服务器(作为主服务器运行 CentOS 8)和两台 KVM 机器(也运行 CentOS 8 并托管 Nextcloud、pihole、NFS 共享和一些其他小型服务)无法再访问。所以我关闭了它并尝试重新启动。但机器无法启动,到目前为止,我在网上找到的建议都没有帮助。

这是尝试启动时显示的内容(省略时间戳,因为我正在输入此内容):

[drm:intel_set_cpu_fifo_underrun_reporting [i915]] *ERROR* uncleared fifo underrun on pipe A
[drm:intel_cpu_fifo_underrun_irq_hander [i915]] *ERROR* CPU pipe A FIFO undrrun
[drm:intel_set_pch_fifo_undrrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder A
[drm:cpt_irq_handler [i915]] *ERROR* PCH transcoder A FIFO underrun
ata2.00: exception Emask 0x0 SAct 0x100000 SErr 0x0 action 0x0
ata2.00: irq_stat 0x40000008
ata2.00: failed command: READ FPDMA QUEUED
ata2.00: cmd 60/20:a0:d0:c9:d3/00:00:0a:00:00/40 tag 20 ncq dma 16384 in
         res 41/40:00:d0:c9:d3/00:00:0a:00:00/00 Emask 0x409 (media error) <F>
ata2.00: status: { DRDY ERR }
ata2.00: error: { UNC }
blk_update_request: I/O error, dev sdb, sector 181651920 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00

CPU: 2 PID: 1 Comm: systemd Not tainted 4.18.0-193.6.3.el8_2.x86_64 #1
Hardware name: Dell Inc. OptiPlex 7010/0GY6Y8, BIOS A16 09/09/2013
Call Trace:
 dump_stack+0x5c/0x80
 panic+0xe7/0x2a9
 do_exit.cold.22+0x59/0x81
 ? __fput+0x154/0x230
 do_group_exit+0x3a/0xa0
 __x64_sys_exit_group+0x14/0x20
 do_syscall_64+0x5b/0x1a0
 entry_SYSCALL_64_after_hwframe+0x65/0xca
RIP: 0033:0x7ff23763648e
Code: Bad RIP value.
RSP: 002b:00007ffd2630b5f8 EFLAGS: 00000206 ORIG_RAX: 00000000000000e7
(some more numbers)
Kernel Offset: 0x26200000 from 0xffffffff81000000 (relocation range: numbers-numbers)
---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00
 ]---

我希望没有错别字。

该系统运行 4.18.0-193.6.3.el8_2 内核,以 UEFI 模式启动,我确信在让它运行如此长时间之前,我已经成功测试了系统重启。

我到目前为止尝试过的:

  1. 尝试启动其他已安装的内核。不同的内核显示不同的错误消息,但都以同一行结尾。
  2. 通过将 中的SELINUX和都设置为 来禁用 SELinux 。这不会产生任何效果。SELINUXTYPE/etc/selinux/configdisabled
  3. 在 BIOS 中禁用虚拟化。同样不执行任何操作。
  4. 重新安装引导加载程序。我无法执行此操作,原因如下:

当尝试从 anaconda 救援模式 chroot 时重新安装 GRUB 的文档chroot /mnt/sysroot或者按照 anaconda 控制台本身的建议执行,我收到以下错误:

Bus error (core dumped)

我现在明白了,错误ata2.00: failed command: READ FPDMA可能表示磁盘已损坏。我现在正在尝试进行备份。这是正确的步骤吗?如果是,我可以 1:1 克隆磁盘,然后从新磁盘启动,就像什么都没发生过一样吗?您将如何进行?

也许有人可以指导我一下。相当多的人依赖这台机器托管的服务。

答案1

ata2.00: exception Emask 0x0 SAct 0x100000 SErr 0x0 action 0x0
ata2.00: irq_stat 0x40000008
ata2.00: failed command: READ FPDMA QUEUED
ata2.00: cmd 60/20:a0:d0:c9:d3/00:00:0a:00:00/40 tag 20 ncq dma 16384 in
         res 41/40:00:d0:c9:d3/00:00:0a:00:00/00 Emask 0x409 (media error) <F>
ata2.00: status: { DRDY ERR }
ata2.00: error: { UNC }

您似乎丢失了硬盘。看起来像是坏块或类似的东西。尝试使用已知良好的电缆将其连接到另一个 SATA 端口,以确保万无一失,但您可能需要购买新磁盘。您可以尝试使用类似testdiskAfter 的实用程序从故障磁盘中挽救可以挽救的内容。对于 SSD,数据恢复可能不会产生任何结果。

相关内容