如何查找诸如已挂载的文件系统是只读还是读写之类的详细信息?
除此之外,如何在不影响已安装磁盘或分区的数据的情况下查找硬盘或分区健康状态的详细信息?
答案1
命令mount
将列出所有已安装的分区,并指示它们是以只读(ro)还是读写(rw)方式安装。
在以正常读写模式挂载时,无法判断文件系统是否“健康”。要确定文件系统是否健康,您需要使用fsck
(或类似工具),这些需要未挂载的文件系统或只读的文件系统挂载程序。
我想您可以使用命令查看内核日志dmesg
并查找“日志重播”之类的消息 - 它们将表明文件系统已被脏挂载。
答案2
该文件/proc/mounts
包含必要的信息。
例如,那里有一个关于我的跳跃驱动器的条目
/dev/sdb1 /media/xieerqi/Lexar vfat rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro 0 0
逗号分隔的选项列表,具体rw
指示这是读写挂载文件系统。对于只读,它会说ro
答案3
您将需要多种工具,我相信这些工具都捆绑在 smartmontools 包中。此链接有一个相当不错的计划。
您的第一步应该是使用 smartctl 评估每个驱动器的 SMART 报告。
smartctl -a /dev/sdX
假设一个标准 SATA 控制器,其中 X 是实际驱动器标识符您的第二步应该是扩展驱动器自检,smartctl 也是此处的首选方法:
smartctl --test=long /dev/sdX
并且在测试时间过去后(大多数驱动器在 60 到 240 分钟之间),使用步骤 1 中的命令读取结果。第三步应该是驱动器传输测试(如果您的驱动器支持该测试)。如果不支持,则以下命令会出错:
smartctl --test=conveyance /dev/sdX
。结果:参见步骤 1。到目前为止,简单地写入整个驱动器并不是一个好主意,因为坏扇区重新映射是在写入操作期间完成的。换句话说,驱动器故障的证据可能被掩盖了。
假设上述所有步骤都无法发现问题,您现在应该使用“坏块”来扫描驱动器以查找写入错误:
badblocks -nvs /dev/sdX
以上是非破坏性测试,使用-wvs是破坏性替代方案,可能会更快一些。
我在笔记本电脑上关注的那些(使用 SSD 驱动器,不同的磁盘有不同的 SMART 测试)
5 Reallocated_Sector_Ct
183 Runtime_Bad_Block
184 End-to-End_Error
233 Media_Wearout_Indicator
特别是第一个指标很好,因为它可以告诉你磁盘上有多少个坏扇区/块被重新映射。