如何在 linux 中创建和挂载文件以作为 HFS+ 文件系统进行读写?
How to create and mount file for read and write as a HFS+ filesystem in linux?
我正在尝试挂载一个文件,该文件将充当 read/write 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 分区 table 但这也没有帮助。你能帮我把 HFS+ rw 文件系统创建成一个文件吗?
我不恰当地使用了循环设备。
正确的步骤是:
创建文件
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
我正在尝试挂载一个文件,该文件将充当 read/write 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 分区 table 但这也没有帮助。你能帮我把 HFS+ rw 文件系统创建成一个文件吗?
我不恰当地使用了循环设备。 正确的步骤是: 创建文件
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