我正在尝试将image_file_name.img
具有多个分区的目录挂载到一个目录,但没有成功。
分区详细信息:
sfdisk -l -uS image_file_name.img
Disk image_file_name.img: cannot get geometry
Disk image_file_name.img: 11 cylinders, 255 heads, 63 sectors/track
Warning: The partition table looks like it was made
for C/H/S=*/4/63 (instead of 11/255/63).
For this listing I'll assume that geometry.
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
image_file_name.img1 252 503 252 83 Linux
image_file_name.img2 504 177407 176904 83 Linux
image_file_name.img3 0 - 0 0 Empty
image_file_name.img4 0 - 0 0 Empty
我正在运行以下mount
命令:
mount -o offset=$((252*512)) image_file_name.img /tmp/abc/
错误信息:
mount: mounting /dev/loop0 on /tmp/abc/ failed: Invalid argument
对应的错误dmesg
是
[106359.764567] NTFS-fs error (device loop0): parse_options(): Unrecognized mount option offset.
这是在没有诸如kpartx
.
任何帮助表示赞赏。
答案1
鉴于您在 中看到的错误dmesg
,我会跳过offset
作为一个mount
选项并依赖它losetup
。
通过util-linux
s losetup
,您可以使用分区处理:
losetup -P -f --show image_file_name.img
这将显示所使用的循环设备的名称;用它来安装,使用
mount /dev/loop0p1 /tmp/abc
但替换loop0
(不是 p1
) 作为适当的。其他分区可以使用p2
etc来访问。
使用busybox
s losetup
,您需要直接指定偏移量:
losetup -o $((252*512)) -f image_file_name.img
然后直接安装loop设备,例如
mount /dev/loop0 /tmp/abc
如果卸载文件系统,还应该使用 释放循环设备losetup -d
。