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

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


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

评论

我觉得这个问题的答案比这里提供的答案更好,更容易,更安全。

#1 楼

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

在Mac上:


在“应用程序”->“实用程序”下打开“磁盘实用程序”

选择要禁用日记功能的卷。
从“文件”菜单中选择“禁用日记功能”。
(在更高版本的Mac OS上,单击“文件”菜单时,您必须按住选项按钮。或者,如果您喜欢Apple + J,则可以)。

仍然可以从HFS +禁用日记功能直至OS X Yosemite 10.10

评论


请注意:“不建议在主OS X分区上禁用日记功能,因为日记功能是任何可以防止损坏和数据丢失的文件系统的重要功能”(help.ubuntu.com/community/hfsplus)

–干草
2010年11月6日13:00

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

– John T
2010年11月6日16:15

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

–韦德·威廉姆斯
2011年4月27日在4:26

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

–commonpike
2012-6-10 17:29

@JohnT请提供一个事实来源,“ Ubuntu仅支持写入非新闻稿的HFS +卷”吗?我正在对HFS +进行一些研究,这将非常有用。谢谢。

– kalaracey
13年1月13日在3:37

#2 楼

首先,请确保您已安装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#


评论


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

– FCTW
2012年5月31日20:22

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

– Coc
2012年9月15日上午10:31

为什么没有将此标记为答案?

–乔纳森·H
13年6月8日在9:15

@Digiground和@Coc都因安装失败:警告:/ media / mount / point似乎是只读安装的。在安装了hfsprogs的Ubuntu 13.04上。

–这里
2013年12月24日下午4:56

如果磁盘有问题,它将顽固地仅以只读方式安装。使用“磁盘工具”作为fsck.hfplus在OSX中验证/修复磁盘不会运行,因为它是日志文件系统。

–格雷格·贝尔(Greg Bell)
2015年12月3日,0:04

#3 楼

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

,然后使用-o rw,force选项。
如果尚未安装驱动器:
sudo mount -o force /dev/sdX /your/mount/point

如果驱动器已自动安装(应在Ubuntu等桌面系统上安装),则添加remount以启用写入:
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 +设备(例如/dev/sdb1)。
使用mount -l查找哪个设备已安装在哪个安装点上。
如果Mac磁盘使用较新的Apple“ Core Storage”,则可能还需要添加一个sizelimit=N选项(如该答案中所述)。
最后,您仍然会遇到需要root用户才能写入驱动器或使用bindfs的问题,如该答案所示。

评论


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

– meduz
2012年1月26日12:44

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

– mivk
2012年8月14日在6:48

是否需要禁用日记功能?

– Makmeksum
19/12/16在6:08

@Makmeksum:不,如果您无法禁用日记功能然后重新启用它,则可以使用此方法。而且也更容易。

– mivk
20年6月21日在15:03

优秀的!还值得注意的是,以root身份传输文件后,您可以使用sudo chown -R <用户名> <传输的文件夹>

–多米尼克
20年8月16日在16:47

#4 楼

您是否尝试过匹配权限?

默认情况下,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中的“系统偏好设置”,右键单击您的用户,然后单击“高级选项”来进行仔细检查。如果您的User ID与501不同,请在下面的终端命令中将501替换为其他UID。

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

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

sudo passwd tempuser


出现提示时,输入临时用户的新密码。重新启动并以tempuser身份登录。然后,打开终端并键入以下命令,每输入一个命令后再次按Enter(然后将您的用户名替换为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-您的数据跨多个操作系统

评论


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

– Feida Kila
2011年10月31日23:12

#5 楼

以防万一这对将来的所有人有帮助-如果您甚至无法将驱动器安装为只读模式,则可能是因为该驱动器使用了Apple Core Storage,它是HFS +的包装。参见此处:

在Ubuntu中安装HFS +分区

在Arch Linux上安装HFS +分区