我的驱动器已格式化为 hfs+,但不干净。
例如,当我尝试通过 挂载驱动器时mount -f -o rw
,dmesg
显示错误:
hfs: Filesystem was not cleanly unmounted, running fsck.hfsplus is recommended.
mounting read-only.
因此,当我尝试通过fsck.hfsplus
(部分hfsprogs
)修复它时,它说:
$ fsck -dyf /media/sdd2
** /dev/sdd2
Using cacheBlockSize=32K cacheTotalBlock=1024 cacheSize=32768K.
** Checking HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
Invalid map node linkage
(4, 0)
** Volume check failed.
volume check failed with error 7
volume type is pure HFS+
primary MDB is at block 0 0x00
alternate MDB is at block 0 0x00
primary VHB is at block 2 0x02
alternate VHB is at block 3906291630 0xe8d547ae
sector size = 512 0x200
VolumeObject flags = 0x07
total sectors for volume = 3906291632 0xe8d547b0
total sectors for embedded volume = 0 0x00
尽管使用-y
或-f
,驱动器并未得到修复。
这是根据这个错误的解释博客:
检查完 B*-Tree 后,fsck 就会继续检查分配映射。 fsck 如上所述检查头节点。然后,它检查每个节点,确保其将自己标识为映射节点并具有正确数量的记录。如果节点未通过这些检查,fsck 将返回“无效的映射节点”。然后 fsck 检查以确保节点高度不为 0(“无效节点高度”)。最后,如果它已经到达树的底部并且mapSize(存储树中的记录总数并且每次处理节点时递减)不为0,fsck 知道存在孤立节点并返回“无效的映射节点链接”。
但是,我不知道如何修复该错误,因为它不会自动更正,并且我无法将分区安装为可写。有什么想法如何修复该错误吗?
PS磁盘工具也有类似的问题。