如何在 Linux 中将文件挂载为 HFS+ 文件系统?

如何在 Linux 中将文件挂载为 HFS+ 文件系统?

我正在尝试挂载一个将充当读/写 HFS+ 文件系统的文件。我使用的是基于 arch linux 的发行版,所以我安装了 hfsprogs 和 hfsutils。在基于 debian 的发行版中,hfsprogs 应该足够了。

我创建了一个8G的文件,如下:

dd if=/dev/zero of=test.img bs=1024 count=0 seek=$[1000*8000]

然后我做了格式化:

mkfs.hfsplus -v TestImg test.img

此后,当我尝试挂载该文件时,我得到:

mkdir /tmp/sun
sudo mount -t hfsplus -o loop,rw,offset=0 test.img /tmp/sun
mount: /tmp/sun: mount failed: Operation not permitted

Parted 显示偏移正常:

sudo parted -m test.img unit B print
1:0B:8191999999B:8192000000B:hfs+::;

我还尝试使用 fdisk 和文件创建 sun 分区表,但也没有用。您能帮我将 HFS+ rw 文件系统创建为文件吗?

答案1

我不恰当地使用了循环设备。正确的步骤是:创建文件

dd if=/dev/zero of=test.img bs=100MB count=10 seek=$[10*8]

创建映射到该文件的阻止设备:

losetup -fP test.img

此时已创建阻塞设备 /dev/loop0。创建文件系统:

mkfs.hfsplus test.img

安装到您的文件夹

mount -o rw,loop /dev/loop0 /tmp/loop_test

相关内容