如何在Ubuntu中将HFS分区挂载为读/写?


169

我将外部硬盘驱动器(在Mac上已格式化为HFS +日志记录格式)插入了Ubuntu桌面9.04 64位。我无法使用写入功能安装驱动器,该怎么办?现在我得到的只是读取权限,我尝试过

sudo mount -t hfsplus /dev/sdf2 /media/"Portable HD"

但这仍然只给我提供读取权限...的想法???


我觉得这个问题的答案比这里提供的答案更好,更简单,更安全。
Mike Williamson,

Answers:


75

如果要从Ubuntu写入日记,则需要关闭日记。Ubuntu仅支持写入非日志记录的HFS +卷。

在Mac上:

  • 应用程序->实用程序下打开磁盘实用程序
  • 选择要禁用日记功能的卷。
  • 从文件菜单中选择禁用日记。(在更高版本的Mac OS上,单击“文件”菜单时,必须按住选项按钮。或者,如果您喜欢Apple+ J

在OS X Yosemite 10.10之前,仍然可以从HFS +禁用日志记录


4
请注意,“禁用日志记录在您的主要OS X分区但是不推荐日记是可以防止损坏和数据丢失的任何文件系统的一个重要特征”(help.ubuntu.com/community/hfsplus
干草

@嗨,您可以重新启用日记功能。它所做的只是帮助系统在这种情况下(例如异常关闭)更快地恢复。不是世界末日。
约翰T

11
不,这不是所有日记功能。它还有助于防止文件系统损坏,这种损坏可能严重到只能通过重新格式化才能修复。
韦德·威廉姆斯

8
在macOS 10.6.8中,在第3步中,按下“ option + alt”打开文件菜单
-commonpike 2012年

2
@JohnT请您提供以下事实的消息来源:“ Ubuntu仅支持写入非日记本的HFS +卷”?我正在对HFS +进行一些研究,这将非常有用。谢谢。
kalaracey

187

首先,请确保您已安装hfsprogs。示例安装命令:

sudo apt-get install hfsprogs

接下来,安装或重新安装HFS +驱动器。命令需要如下:

sudo mount -t hfsplus -o force,rw /dev/sdx# /media/mntpoint

要么

sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point

最后,如果驱动器未正确卸载或部分损坏,请运行fsck.hfsplus(由Jayson 在此处提供),如下所示:

sudo fsck.hfsplus /dev/sdx#

7
非常感谢您提供仅Linux解决方案!^ _ ^
FCTW 2012年

13
我在Ubuntu 12.04上,remount命令应该像这样sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point。然后必须使用root读取/写入数据。
Coc 2012年

19
为什么没有将此标记为答案?
Sheljohn 2013年

4
@Digiground和@Coc在mount: warning: /media/mount/point seems to be mounted read-only.安装了hfsprogs的Ubuntu 13.04上均失败。
这里

1
@在这里我提出了一个问题来解决这个问题。
2015年

27

即使未禁用日记功能,也可以在Linux中启用对HFS +的写入。除了已经拥有的hfsplus之外,还需要安装hfsprogs:

sudo apt-get install hfsprogs

然后,使用以下-o force选项:

sudo mount -o force /dev/sdX /your/mount/point

如果驱动器已自动挂载(应该在Ubuntu等桌面系统上安装),则可以启用

sudo mount -o remount,rw,force /mount/point

要么

sudo mount -o remount,rw,force /dev/sdx

/ mount / point通常是/ media / Your_drive_label / dev / sdx是您的HFS +设备

使用mount -l发现其设备已经安装在安装点。


1
从Digiground的答案中,您不会错过命令中的rw部分吗?我成功了他的选择。
meduz

@meduz:我在Ubuntu 10.04中不需要“ rw”。我似乎现在需要12.04。因此,我已编辑回复以添加它。
mivk 2012年

13

您是否尝试过匹配权限?

默认情况下,Mac OS X用日志HFS +卷格式化卷。日记功能是一种可以提高数据可靠性的功能,不幸的是,它使HFS驱动器在Linux中是只读的。

要禁用日记功能,只需启动OS X并启动Disk Utility。单击您的HFS分区,按住Option键,然后单击菜单栏中的“文件”。菜单中将出现一个禁用日记功能的新选项。单击该按钮,然后重新启动进入Linux。您应该具有对HFS分区的读写访问权限-但是,Mac用户主文件夹的权限将阻止您读取或写入这些文件。我们只需要在一个操作系统中更改我们的UID,以使其与另一个操作系统中的UID相匹配。除非您有其他选择的理由,否则我们将更改我们的Linux UID以与我们的OS X匹配,因为这样做要容易一些。默认情况下,OS X中的第一个用户的UID为501,但是您可以通过进入OS X中的“系统偏好设置”,右键单击您的用户,然后单击“高级选项”来进行仔细检查。

引导至Linux(在此示例中使用Ubuntu)并启动终端。首先,我们将添加一个临时用户,因为我们不想编辑当前登录的用户。因此,在终端中运行以下命令,每输入一个命令,请按Enter键:

sudo useradd -d /home/tempuser -m -s /bin/bash -G admin tempuser

sudo passwd tempuser

出现提示时,输入临时用户的新密码。重新启动并以tempuser身份登录。然后,打开终端并输入以下命令,在每个命令之后再次按Enter(并将yourusername替换为Linux用户的用户名):

sudo usermod --uid 501 yourusername

sudo chown -R 501:yourusername /home/yourusername

这会将Linux用户的UID更改为501,并修复了主文件夹权限,以便您仍然拥有它们。现在,无论您登录的是哪种操作系统,您都应该能够读写Mac和Linux用户的主文件夹。

您可能还需要修复登录屏幕,因为默认情况下,Ubuntu不会列出UID小于1000的用户。为此,只需打开终端并运行gksudo gedit /etc/login.defs并在中搜索UID_MIN文本文件。将该值从1000更改为501,然后在重新启动时在登录屏幕中列出您的用户。

http://lifehacker.com/5702815/the-complete-guide-to-sharing-your-data-across-multiple-operating-systems


1
很好的解决方案!您刚刚为我节省了几个小时:)唯一要添加的就是删除tempuser-> sudo userdel tempuser
Feida Kila

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.