为什么我的 hfs 分区突然变成只读,而无法将其改为读写?

为什么我的 hfs 分区突然变成只读,而无法将其改为读写?

我正在将我的 FreeNAS 卷备份到外部 WD 4TB My Book 的分区上,该分区使用 hfs 文件系统并安装在运行 Ubuntu 16.04 的笔记本电脑上。每次安装驱动器时,所有分区都以只读方式安装。我试过:

  1. 通过 Mac 机器上的终端关闭日志功能。
  2. 使用安装hfsprogs和重新安装卷

    sudo mount -t hfsplus -o remount,force,rw /dev/sdb2 /media/mntpoint

  3. 使用以下方法更改所有卷内容的权限chmod

这有效,我能够写入和删除已安装卷。然后,问题突然再次出现,上述解决方案不再有效。我能够写入卷,但无法删除任何内容,无论是使用rsync还是rm

我运行了sudo dmesg | tail,得到了以下输出:

[  109.876362] hfsplus: Filesystem was not cleanly unmounted, running fsck.hfsplus is recommended.  mounting read-only.

输入mount | grep /dev/sdb2还表明它已被安装到ro:

/dev/sdb2 on /media/mntpoint1 type hfsplus (ro,nosuid,nodev,relatime,umask=22,uid=0,gid=0,nls=utf8,uhelper=udisks2)

运行sudo fsck.hfsplus /dev/sdb2表明音量存在问题:

** /dev/sdb2
** Checking HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.
** Checking Catalog hierarchy.
** Checking Extended Attributes file.
   Keys out of order
(8, 3)
** Repairing volume.
** Rechecking volume.
** Checking HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.
** Checking Catalog hierarchy.
** Checking Extended Attributes file.
   Keys out of order
(8, 3)
** Repairing volume.
** Rechecking volume.
** Checking HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.
** Checking Catalog hierarchy.
** Checking Extended Attributes file.
   Keys out of order
(8, 3)
** Repairing volume.
** Rechecking volume.
** Checking HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.
** Checking Catalog hierarchy.
** Checking Extended Attributes file.
   Keys out of order
(8, 3)
** The volume Volume Name could not be repaired after 3 attempts.

回到我的 Mac,我运行了磁盘实用程序,但似乎没有安装任何分区。我运行了验证磁盘,发现了错误并建议使用修复磁盘,成功修复了卷,随后所有其他分区都显示为已安装且正常。

回到 Ubuntu,mount | grep /dev/sdb2现在得到:

/dev/sdb2 on /media/mntpoint1 type hfsplus (rw,nosuid,nodev,relatime,umask=22,uid=0,gid=0,nls=utf8,uhelper=udisks2)

表示它已安装为 rw。然后我能够使用 删除文件rw,并且rsync可以写入该卷。

几天后(我不知道发生了什么变化),我失去了使用 删除文件的能力rwrsync决定随机删除目标卷上的大多数文件,并且无法写入该卷。sudo dmesg | tail现在运行,对于每个已安装的分区(我不确定哪个是所讨论的卷),都会得到以下两个输出之一:

[133264.935495] hfsplus: filesystem was not cleanly unmounted, running fsck.hfsplus is recommended.  leaving read-only.
[133274.501698] hfsplus: walked past end of dir

最后,运行sudo fsck.hfsplus /dev/sdb2给出与之前相同的输出,3 次尝试后仍无法修复卷。

作为一个新手,我完全不知所措。帮帮我,问问 Ubuntu,你是我唯一的希望。

相关内容