
挂载磁盘镜像分区
导出时间:2026/6/8 07:27:54
来源地址:https://www.doubao.com/chat/38429611891862274
消息数量:3
我有一个磁盘镜像,它有三个分区,我忘了现在要怎么去把它 mount 到三个目录下,我想查看一下这个镜像里的内容。就是简单的 mount,好像是要有一个偏移量去进行 mount 才行,这个命令我忘掉了。
一、先算每个分区的偏移字节
fdisk 里 Start 是扇区数,1 扇区 = 512 字节
偏移 = Start × 512
从截图 fdisk 输出:
- Nas.img1:Start=2048
- Nas.img2:Start=104448
- Nas.img3:Start=206848
- 分区 1 偏移:
2048 * 512 = 1048576字节 - 分区 2 偏移:
104448 * 512 = 53477376字节 - 分区 3 偏移:
206848 * 512 = 105906176字节
二、挂载命令(两种方式任选)
方式 1:mount 直接带 offset(最简)
bash
运行
# 先建三个挂载目录
mkdir -p /tmp/img1 /tmp/img2 /tmp/img3
# 挂载分区1
sudo mount -o loop,offset=1048576 Nas.img /tmp/img1
# 挂载分区2
sudo mount -o loop,offset=53477376 Nas.img /tmp/img2
# 挂载分区3
sudo mount -o loop,offset=105906176 Nas.img /tmp/img3
方式 2:losetup 先绑定 loop 设备(排查错误更稳)
bash
运行
# 绑定分区1到loop8(举例)
sudo losetup -o 1048576 /dev/loop8 Nas.img
sudo mount /dev/loop8 /tmp/img1
# 分区2绑loop9
sudo losetup -o 53477376 /dev/loop9 Nas.img
sudo mount /dev/loop9 /tmp/img2
# 分区3绑loop10
sudo losetup -o 105906176 /dev/loop10 Nas.img
sudo mount /dev/loop10 /tmp/img3
三、你报错 wrong fs type / bad superblock 的常见原因
- 文件系统损坏:先检查
bash运行
# 对分区1做fsck检查(一定要卸载后再修) sudo losetup -o 1048576 /dev/loop8 Nas.img sudo fsck /dev/loop8 - 不是 ext 系列:如果是 xfs/btrfs,mount 会不认,需要对应工具
- 镜像本身有坏块:可先用
file Nas.img、blkid /dev/loopX看真实文件系统类型 - 你之前
mount -t auto多余,auto 会自动识别,去掉-t auto只用-o loop,offset=即可
四、卸载(用完必须操作)
bash
运行
sudo umount /tmp/img1 /tmp/img2 /tmp/img3
# 清理loop设备(losetup方式才需要)
sudo losetup -d /dev/loop8 /dev/loop9 /dev/loop10
快速复制可直接执行的完整脚本
bash
运行
mkdir -p /tmp/img1 /tmp/img2 /tmp/img3
sudo mount -o loop,offset=1048576 Nas.img /tmp/img1
sudo mount -o loop,offset=53477376 Nas.img /tmp/img2
sudo mount -o loop,offset=105906176 Nas.img /tmp/img3