0.准备工作
img文件
按照Boot(fat32)/Root(ext4)分区
挂载点
tgt_boot/tgt_root
1.检查分区情况
pi@raspberrypi:~/backupimg $ sudo parted raspberrypi.img
GNU Parted 3.2
Using /home/pi/backupimg/raspberrypi.img
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print free
Model: (file)
Disk /home/pi/backupimg/raspberrypi.img: 4823MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
16.4kB 4194kB 4178kB Free Space
1 4194kB 62.7MB 58.5MB primary lba
62.7MB 62.9MB 205kB Free Space
2 62.9MB 4822MB 4759MB primary
4822MB 4823MB 1049kB Free Space
(parted) quit
可以看到Disk Flags有明显的两块分区
2.挂载Img到系统
pi@raspberrypi:~/backupimg $ sudo losetup -f --show raspberrypi.img
/dev/loop0
loop0为img在系统中的位置
pi@raspberrypi:~/backupimg $ sudo kpartx -va /dev/loop0
add map loop0p1 (254:0): 0 114288 linear 7:0 8192
add map loop0p2 (254:1): 0 9295872 linear 7:0 122880
pi@raspberrypi:~/backupimg $ ls /dev/mapper/loop0p*
/dev/mapper/loop0p1 /dev/mapper/loop0p2
请根据自己的情况在上述命令修改loop0p*
此时loop device就设置好了,loop0p1对应的是img文件分区上的 /boot,loop0p2对应的是 /(根)
挂载IMG
pi@raspberrypi:~/backupimg $ mkdir tgt_boot tgt_root
pi@raspberrypi:~/backupimg $ sudo mount -t vfat -o uid=pi,gid=pi,umask=0000 /dev/mapper/loop0p1 ./tgt_boot/
pi@raspberrypi:~/backupimg $ sudo mount -t ext4 /dev/mapper/loop0p2 ./tgt_root/
此处uid,pid为登录账户
3.挂载成功后,可进入tgt_boot/tgt_root修改内容
4.卸载挂载IMG
pi@raspberrypi:~/backupimg $ sudo umount tgt_boot tgt_root
5.删除loop device
pi@raspberrypi:~/backupimg $ sudo kpartx -d /dev/loop0
pi@raspberrypi:~/backupimg $ sudo losetup -d /dev/loop0