我有一张 128 GB 的 SD 卡,用于我的 Lenovo Thinkpad X1 中的永久存储。我已使用以下行将其安装在 /etc/fstab 中:
UUID=37733366-e936-41df-983a-f084352b3a5b /home/kristian/sd128gb auto defaults 0 0
运行正常。直到我将机器暂停,返回时我收到错误:
Error mounting system-managed device /dev/mmcblk0p1: Command-line
`mount "/home/kristian/sd128gb"' exited with non-zero exit status 32:
mount: File exists
挂载点目录为空,但尝试挂载时出现
$ mount sd128gb/
mount: according to mtab, /dev/mmcblk0p1 is already mounted on /home/kristian/sd128gb
Syslog 提供
kernel: [271462.070388] EXT4-fs warning (device mmcblk0p1): __ext4_read_dirblock:908: error reading directory block (ino 2, block 0)
kernel: [271462.070410] EXT4-fs warning (device mmcblk0p1): __ext4_read_dirblock:908: error reading directory block (ino 2, block 0)
kernel: [271462.091100] EXT4-fs warning (device mmcblk0p1): __ext4_read_dirblock:908: error reading directory block (ino 2, block 0)
kernel: [271462.091130] EXT4-fs warning (device mmcblk0p1): __ext4_read_dirblock:908: error reading directory block (ino 2, block 0)
卸载并再次安装它是可行的,但每次从挂起状态返回时这都很麻烦 - 特别是当我将它用于永久存储时,处理经常卸载的分区上的数据感觉不是很可靠。
“文件存在”消息似乎不太明显,用谷歌搜索一下,似乎没有多少人收到相同的错误信息。
我可以永久修复这个问题吗?或者,换句话说:每次从挂起状态返回时,我如何通过运行 remount 命令来修复这个问题?
答案1
如果你正在寻找这个remount read-only
问题的答案,unRaid 有价值的文章昨天,我最大的硬盘上也出现了类似的问题(同时已经恢复了一个愚蠢的 USB 密钥的文件......),向我展示了解决方案。
我的日志:
[40860.074298] blk_update_request: I/O error, dev sdc, sector 104869128
[40860.074306] EXT4-fs warning (device sdc2): __ext4_read_dirblock:884: error -5 reading directory block (ino 2, block 0)
[40860.661232] sd 7:0:0:0: [sdc] UNKNOWN Result: hostbyte=0x04 driverbyte=0x00
[40860.661237] sd 7:0:0:0: [sdc] CDB:
[40860.661239] cdb[0]=0x28: 28 00 06 40 2d 08 00 00 08 00
然而,最有趣的错误出现在这些之前,即与此问题相关的第一行或第二行:
mars 27 22:27:55 llewellyn kernel: ata8: SError: { PHYRdyChg CommWake 10B8B LinkSeq }
标题
正在PHYRdyChg
查找提及的文章,引导我找到“驱动器接口问题 #4”,排除了硬盘故障或驱动程序问题 :) 引用他们的解释:
« 这是一个可能存在背板松动或电缆连接问题的示例:(可能是 SATA 连接或电源连接,或两者兼有)
ata7.00: exception Emask 0x10 SAct 0x7 SErr 0x990000 action 0xa frozen
ata7.00: irq_stat 0x00400000, PHY RDY changed
ata7: SError: { PHYRdyChg 10B8B Dispar LinkSeq }
ata7.00: cmd 60/48:00:af:1b:97/00:00:10:00:00/40 tag 0 ncq 36864 in
res 40/00:10:87:5f:96/00:00:10:00:00/40 Emask 0x10 (ATA bus error)
ata7.00: status: { DRDY }
注意:这里没有 CRC 错误,这通常意味着一根或两根电缆有问题。»
我检查了所有 Sata / 电源线,重新启动后一切正常。Asmartctl -a -A /dev/sdc
证实了这一点。
PS:unRAID 文章对于了解各种硬盘错误和消息非常有价值(例如BadCRC
,failed to recover
)。