我正在运行Debian Buster,并且根分区的文件系统无处损坏。我没有做任何不同寻常的事情,只是基本上在网上冲浪,在某个时候我发现根分区被重新挂载为只读。
我尝试重新启动,但是grub开始进入最小的外壳,而不是其通常的菜单。因此,我从Debian USB记忆棒启动fsck并进入根目录和efi分区的救援模式,发现了很多错误,但似乎都已成功解决。Badblocks找不到任何问题,并且硬盘驱动器在物理上看起来还不错(没有怪异的声音或类似的声音)。
Grub再次正常工作,但是当我尝试以普通模式或恢复模式启动Debian时,它会内核崩溃,并说找不到libseccomp.so.2。然后我记得fsck如果无法弄清楚文件在哪里,就会把它们放到lost + found中。
那里有很多文件。有没有一种方法可以从那里自动恢复所有系统文件?还是应该格式化并重新安装?
编辑:SMART检查的结果
# smartctl -HA -f brief -l xerror,error /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-4.19.34-1-lts] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
1 Raw_Read_Error_Rate PO-R-- 100 100 050 - 0
2 Throughput_Performance P-S--- 100 100 050 - 0
3 Spin_Up_Time POS--K 100 100 001 - 1712
4 Start_Stop_Count -O--CK 100 100 000 - 4003
5 Reallocated_Sector_Ct PO--CK 100 100 050 - 0
7 Seek_Error_Rate PO-R-- 100 100 050 - 0
8 Seek_Time_Performance P-S--- 100 100 050 - 0
9 Power_On_Hours -O--CK 042 042 000 - 23297
10 Spin_Retry_Count PO--CK 179 100 030 - 0
12 Power_Cycle_Count -O--CK 100 100 000 - 3471
191 G-Sense_Error_Rate -O--CK 100 100 000 - 3116
192 Power-Off_Retract_Count -O--CK 100 100 000 - 73
193 Load_Cycle_Count -O--CK 061 061 000 - 392741
194 Temperature_Celsius -O---K 100 100 000 - 36 (Min/Max 8/48)
196 Reallocated_Event_Count -O--CK 100 100 000 - 0
197 Current_Pending_Sector -O--CK 100 100 000 - 0
198 Offline_Uncorrectable ----CK 100 100 000 - 0
199 UDMA_CRC_Error_Count -O--CK 200 200 000 - 0
220 Disk_Shift -O---- 100 100 000 - 0
222 Loaded_Hours -O--CK 052 052 000 - 19435
223 Load_Retry_Count -O--CK 100 100 000 - 0
224 Load_Friction -O---K 100 100 000 - 0
226 Load-in_Time -OS--K 100 100 000 - 274
240 Head_Flying_Hours P----- 100 100 001 - 0
||||||_ K auto-keep
|||||__ C event count
||||___ R error rate
|||____ S speed/performance
||_____ O updated online
|______ P prefailure warning
SMART Extended Comprehensive Error Log Version: 1 (64 sectors)
No Errors Logged
在进行任何重要的恢复工作之前,您应该检查磁盘设备的SMART运行状况,并备份所有关键数据。已经证明您的磁盘并不完全可靠,因此请首先确保您的数据安全。如果SMART数据表明磁盘状况不佳,那么最好购买新磁盘而不是尝试延长旧磁盘的痛苦。
smartctl
检查磁盘健康状况的好命令/dev/sda
是:
smartctl -HA -f brief -l xerror,error /dev/sda
libseccomp.so.2
应该在其中/usr/lib/x86_64-linux-gnu/
(或等效于不同的硬件体系结构)。如果该目录丢失了,那么修复起来将是一个很大的麻烦,因为其中包含了很多库文件。幸运的是,它可能很简单,只要告诉软件包管理工具验证所有lib*
软件包,然后重新安装缺少文件的软件包-至少在理论上是这样。
由于您拥有Debian,因此dpkg -V | grep -v ' c '
应检查系统中从.dpkg
软件包安装的所有文件,并报告所有已更改或丢失的文件。该grep
部分从列表中排除任何配置文件。这是我能想到的最有用的工具。如果您碰巧已经debsums
安装或可以安装它,debsums | grep -v 'OK$'
则可用于相同目的。
如果您仍然碰巧有足够的未损坏库来允许此命令运行,
apt-get install --reinstall $(dpkg -S $(debsums -c) | cut -d : -f 1 | sort -u)
会自动重新安装所有带有更改后的非配置文件的软件包。apt-get install --reinstall
与重新解析其中的文件相比,使用重新安装其中某些文件已损坏的软件包是一个更好的选择lost+found
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句