首页 > 解决方案 > 如何在 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 文件系统作为文件吗?

标签: mountddhfs+

解决方案


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

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

推荐阅读