GiH*_*GiH 189 mount hfs read-write ubuntu
我将我的外部硬盘驱动器(在我的 Mac 上格式化为 HFS+ 日志)插入到我的 Ubuntu 桌面 9.04 64 位。我无法通过写入功能安装驱动器,我该怎么做?现在我得到的只是读取权限,我试过了
sudo mount -t hfsplus /dev/sdf2 /media/"Portable HD"
Run Code Online (Sandbox Code Playgroud)
但这仍然给了我只读权限......想法?
小智 212
首先,确保你已经安装了hfsprogs。示例安装命令:
sudo apt-get install hfsprogs
Run Code Online (Sandbox Code Playgroud)
接下来,挂载或重新挂载 HFS+ 驱动器;命令需要如下:
sudo mount -t hfsplus -o force,rw /dev/sdx# /media/mntpoint
Run Code Online (Sandbox Code Playgroud)
或者
sudo mount -t hfsplus -o remount,force,rw /dev/sdx# /mount/point
Run Code Online (Sandbox Code Playgroud)
最后,如果驱动器未正确卸载或部分损坏,请运行fsck.hfsplus(由 Jayson在此处提供),如下所示:
sudo fsck.hfsplus /dev/sdx#
Run Code Online (Sandbox Code Playgroud)
Joh*_*n T 82
如果要从 Ubuntu 写入日志,则需要关闭日志。Ubuntu 仅支持写入非日志式 HFS+ 卷。
在 Mac 上:
在 OS X Yosemite 10.10 之前,仍然可以禁用 HFS+ 的日记功能
miv*_*ivk 31
即使您没有禁用日志,您也可以在 Linux 中启用写入 HFS+。除了您已经拥有的 hfsplus 之外,您还需要安装 hfsprogs:
sudo apt-get install hfsprogs
Run Code Online (Sandbox Code Playgroud)
然后,使用该-o rw,force选项。
如果驱动器尚未安装:
sudo mount -o force /dev/sdX /your/mount/point
Run Code Online (Sandbox Code Playgroud)
如果驱动器已自动安装(因为它应该在像 Ubuntu 这样的桌面系统上),添加remount以启用写入:
sudo mount -o remount,rw,force /mount/point
Run Code Online (Sandbox Code Playgroud)
或者
sudo mount -o remount,rw,force /dev/sdx
Run Code Online (Sandbox Code Playgroud)
/mount/point通常是这样的/media/Your_drive_label。/dev/sdx是您的 HFS+ 设备(例如/dev/sdb1)。
使用mount -l发现其设备已经安装在安装点。
如果 Mac 磁盘使用较新的 Apple“Core Storage”,您可能还需要添加一个sizelimit=N选项,如本答案中所述。
最后,您仍然会遇到问题,您需要以 root 身份写入驱动器,或者bindfs按照此答案中的说明使用。
小智 14
您是否尝试过匹配权限?
默认情况下,Mac OS X 在日志 HFS+ 卷中格式化卷。日志是一项提高数据可靠性的功能,不幸的是它使 HFS 驱动器在 Linux 中成为只读的。
要禁用日记功能,只需启动到 OS X 并启动磁盘工具。单击您的 HFS 分区,按住 Option 键,然后单击菜单栏中的文件。菜单中将出现一个禁用日记功能的新选项。单击它,然后重新启动到 Linux。您应该拥有对 HFS 分区的读写访问权限——但是,Mac 用户主文件夹的权限将阻止您读取或写入这些文件。我们只需要在一个操作系统中更改我们的 UID,使其与另一个操作系统中的 UID 匹配。除非您有其他选择的理由,否则我们将更改我们的 Linux UID 以匹配我们的 OS X UID,因为它更容易一些。默认情况下,OS X 中的第一个用户的 UID 为 501,但您可以通过进入 OS X 中的系统偏好设置、右键单击您的用户并点击高级选项来仔细检查这一点。
启动到 Linux(我们在本例中使用 Ubuntu)并启动终端。首先,我们将添加一个临时用户,因为我们不想编辑当前登录的用户。因此,在终端中运行以下命令,在每个命令后按 Enter:
sudo useradd -d /home/tempuser -m -s /bin/bash -G admin tempuser
sudo passwd tempuser
Run Code Online (Sandbox Code Playgroud)
出现提示时为临时用户输入新密码。重新启动并以临时用户身份登录。然后,打开终端并输入以下命令,在每个命令后再次按 Enter(并将您的用户名替换为您的 Linux 用户的用户名):
sudo usermod --uid 501 yourusername
sudo chown -R 501:yourusername /home/yourusername
Run Code Online (Sandbox Code Playgroud)
这会将您的 Linux 用户的 UID 更改为 501 并修复您的主文件夹权限,以便您仍然拥有它们。现在,无论您登录什么操作系统,您都应该能够读取和写入 Mac 和 Linux 用户的主文件夹。
您可能还想修复您的登录屏幕,因为默认情况下 Ubuntu 不会列出 UID 小于 1000 的用户。为此,只需打开一个终端并运行 gksudo gedit /etc/login.defs 并在其中搜索 UID_MIN文本文件。将该值从 1000 更改为 501,当您重新启动时,您的用户将列在登录屏幕中。
| 归档时间: |
|
| 查看次数: |
456404 次 |
| 最近记录: |