在 ubuntu 15.10 中,我尝试在启动时挂载 hfs (max osx) 分区。在/etc/fstab我添加了这一行(注意读写选项):
/dev/sda2 /home/mac/mac-mount hfsplus rw,defaults 0 0
重新启动后,驱动器已安装,但我无法在驱动器上创建新内容:
:~/mac-mount/Users/mac-mini/Documents$ touch test.txt
touch: cannot touch ‘test.txt’: Read-only file system
运行 mount 会给我该特定分区的以下内容:
/dev/sda2 on /home/mac/mac-mount type hfsplus (ro,relatime,umask=22,uid=0,gid=0,nls=utf8)
注意它说反渗透. 为什么 hfs 分区没有挂载在读写鉴于/etc/fstab文件在上面?
我还尝试使用以下命令更改挂载点的权限:
~$ sudo chmod o+w mac-mount/
[sudo] password for mac:
chmod: changing permissions of ‘mac-mount/’: Read-only file system
但它给出了上述错误。
更新:根据以下答案,在禁用日记功能后,我现在可以使用写入权限。但出于某种原因,它只在某些文件夹中有效(我设法在文件文件夹)。例如,我甚至不能光盘到下载hfs 分区上的文件夹:
drwxr-xr-x 1 501 dialout 17 Dec 29 14:12 .
drwxr-xr-x 1 root 80 6 Oct 6 16:54 ..
drwx------ 1 501 dialout 3 Aug 10 2014 Applications
-rw-r--r-- 1 501 dialout 56 Dec 29 14:12 .bash_history
drwxr-xr-x 1 501 dialout 5 Dec 29 14:12 .bash_sessions
-r-------- 1 501 dialout 7 Feb 14 2015 .CFUserTextEncoding
drwx------ 1 501 dialout 4 Oct 13 18:30 Desktop
drwx---rwx 1 501 dialout 12 Dec 29 14:15 Documents
drwx------ 1 501 dialout 6 Dec 29 14:11 Downloads
-rw-r--r-- 1 501 dialout 14340 Dec 29 14:10 .DS_Store
drwx------ 1 501 dialout 52 Oct 6 17:13 Library
drwx------ 1 501 dialout 3 Aug 10 2014 Movies
drwx------ 1 501 dialout 5 Sep 13 2014 Music
drwxr-xr-x 1 501 dialout 3 Oct 28 11:34 .oracle_jre_usage
drwx------ 1 501 dialout 8 Apr 17 2015 Pictures
drwxr-xr-x 1 501 dialout 5 Aug 10 2014 Public
drwx------ 1 501 dialout 6 Dec 27 01:49 .Trash
:~/mac-mount/Users/mac-mini$ cd Downloads/
-bash: cd: Downloads/: Permission denied
:~/mac-mount/Users/mac-mini$ cd Documents/
:~/mac-mount/Users/mac-mini/Documents$
那么为什么我可以 cd 到文件但不是下载文件夹?我直接使用 mac-mini 时没有修改任何权限。
答案1
您可以在 Ubuntu 中以默认只读权限挂载此文件系统。如果您需要读写权限,则必须先禁用 OS X 的日志功能,然后才能继续。
您可以使用以下方式识别卷:
sudo diskutil list
并记下类型为“Apple_HFS”的卷,通常名为“Macintosh HD”
要在 OSX 中禁用日志功能,请在终端中输入:
sudo diskutil disableJournal volumeName
如果您想以非 root 用户身份以 rw 模式访问,您需要更改您的 Ubuntu 用户 ID (UID) 以匹配 OSX 下的 UID。
假设您以具有 sudo 权限的普通用户身份登录。将用户名替换为您希望为其启用 HFS+ 写访问权限的 Linux 用户,并将 501 替换为相关的 OSX UID。您还必须修改用户主目录的 linux UID:
sudo usermod -u 501 <username>
sudo chown -R 501:<username> /home/<username>
如果您的系统中还有其他属于该用户的文件,您可以在一个命令中更改所有 UID。记下您的 UID(使用id
命令),然后:
find / -uid <useractualUID> -exec chown 501:<username> {} +
你可能还想修复你的登录屏幕,默认情况下,Ubuntu 不会列出 UID < 1000 的用户。打开终端并运行
sudo nano /etc/login.defs
然后搜索 UID_MIN。将该值从 1000 更改为 501,当您重新启动时,您的用户将列在登录屏幕上。