这可能是硬件问题吗?:
最近我的电脑崩溃了。我正在 vim 中编辑一些东西,然后我发现我无法保存更改,因为文件系统是只读的。我被迫重新启动,现在启动时我得到以下内容(必须手动复制,因为现在在平板电脑上):
...
Mounted /boot
Reached target Login Prompts
Reached target Timers
Reached target Sockets
Started Emergency Shell
Reached target Emergency Shell
Failed to start File System Check on /dev/disk/by-uuid/...
...
Dependency failed for /home
Dependency failed for Local File Systems
...
You are in emergency mode. After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" or ^D to boot into default mode.
Give root password for maintenance (or press Control-D to continue): _
在此之前,这种崩溃已经发生过两次。我不知道该怎么办。即使我知道此时该怎么做,我也不知道文件系统为什么会进入只读模式。
我会提供所有我能提供的细节。提供更多细节可能需要一些时间,因为我必须在触摸屏上手动输入,但我会这样做。
更新:在我写这篇文章的时候,我的电脑处于空闲状态,然后我得到了以下信息:
ata2: exdeption Emask 0x10 SAct 0x0 SErr 0x4090000 action 0xe frozen
ata2: irq_stat ..., connection status changed
ata2: SError: { PHYRdyChg } 10B8B DevExch
我什么也做不了,所以我重新启动了。我按照建议运行了 fsck:
Pass 1: Checking inodes, blocks, and sizes
Inodes that were part of a corrupted orphan linked list found. Fix <y>?
Inode ... was part of the orphaned inode list. FIXED.
Deleted inode ... has zero dtime. Fix<y>?
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences: ... Fix?<y>
Free blocks count wrong for group ... Fix<y>
... same stuff
Inode bitmap differences ... fix
Free inodes count wrong for group ... fix
... same stuff
/dev/sda4: FILE SYSTEM WAS MODIFIED
... files (1.1% non-contiguous), ... blocks
它现在似乎可以启动了,但是由于它已经崩溃了三次,我想知道是什么导致了这个问题,以及这里是否存在更大、更潜在的问题。
答案1
解决该问题需要采取两个措施:
- 找到并解决根本原因
- 修复文件系统
虽然后者已经实现fsck -f /dev/disk/by-uuid/...
,但前者更为重要。
您的日志条目
ata2: exdeption Emask 0x10 SAct 0x0 SErr 0x4090000 action 0xe frozen
ata2: irq_stat ..., connection status changed
ata2: SError: { PHYRdyChg 10B8B DevExch
指向 SATA 总线上的硬件问题。根据我的经验,第一个(也是最简单且最有可能成功的)操作是重新安装相关磁盘的所有 SATA 连接,甚至更好的是更换 SATA 电缆。