挂载修改多分区 img 镜像文件
16 January 2024
挂载修改多分区 img 镜像文件
losetup命令
-f, --find find first unused device
-P, --partscan create a partitioned loop device
1.查看下一个可用的loop设备 使用命令losetup -f 查询到的下一个可用loop设备文件为 /dev/loop19。
$ losetup -f
/dev/loop0
2.使用 losetup -p 参数挂载img文件
$ sudo losetup -P /dev/loop0 ds918_7.2.1.img
查看磁盘信息
$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 256M 0 loop
├─loop0p1 259:6 0 125M 0 part
├─loop0p2 259:7 0 125M 0 part
└─loop0p3 259:8 0 5M 0 part
3.挂载文件系统
$ mount /dev/loop0p1 /mnt/pve/temp
挂载修改多分区 img 镜像文件
# losetup 两个常用的选项:
# -f 查找第一个未使用的设备
# -P 带分区的回环设备
# 查找下一个未使用的循环设备并将system.img镜像挂载上去
sudo losetup -f --show -P system.img
# 挂载带分区的磁盘镜像文件
losetup -P /dev/loop1 /var/lib/vz/images/123/vm-123-disk-0.raw
# 查看镜像的分区信息
fdisk -l system.img
# 挂载分区 3
sudo mount /dev/loop0p3 /mnt/
# 另一种方法,$begin 为分区 3 的起点
sudo mount -o loop,offset=$((512 * $begin)) system.img /mnt/
# 在此执行自定义修改命令
# 卸载分区
# 注意:卸载时 shell 不可以处于 /mnt/ 下,否则报错 umount: /mnt: target is busy.
sudo umount /mnt/
# 断开回环设备
sudo losetup -d /dev/loop0
