cf: https://coldnew.github.io/ff159f7c/
- sudo fdisk -u -l pi3_20221116.img
The outputs are
...
所用裝置 可開機 Start 結束 磁區 Size Id 類型
pi3_20221116.img1 8192 532480 524289 256M c W95 FAT32 (LBA)
pi3_20221116.img2 540672 30881791 30341120 14.5G 83 Linux
Get the Start block 540672 for partition 2 - sudo mount -o loop,offset=$((540672 * 512)) pi3_20221116.img /mnt/myimg
The script file: (cf: https://github.com/AlexanderAmelkin/mountimg/blob/master/mountimg)
#!/bin/bash
IMAGE="$1"
PART="$2"
WHERE="$3"
shift 3
OPTIONS="$*"
if [ ! -f "$IMAGE" ] || [ -z "$PART" ] || [ -z "$WHERE" ]; then
echo "Disk image partition mounter by Alexander Amelkin."
echo "Version 1.0"
echo
echo "Usage: mountimg <image> <partition> <where> [<mount options>]"
echo "Example: mountimg sdcard.img 1 /mnt/sdcard0p1 -t vfat -o ro,codepage=866,iocharset=utf-8"
exit 1
fi
# Now find the first unused loop device and use it
OFFSET=$(
sfdisk -l $IMAGE |
grep $IMAGE$PART |
awk 'BEGIN { FS="[ *\t]+"}
/.+/ { print $2; found=1 }
END { if(!found) exit 1 }'
) || { echo "No such partition in the image"; exit 1; }
echo "Mounting $IMAGE partition $PART (offset $OFFSET) to $WHERE via $LODEV"
set -e
mount $OPTIONS -o loop,offset=$((OFFSET * 512)) $IMAGE $WHERE
沒有留言:
張貼留言