我可以使用parted
找出图像的偏移量。
sudo parted -s image.img unit B print
Model: (file)
Disk /home/user/image.img: 107374182400B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 2097152B 107374182399B 107372085248B primary ext4
例如,分区从2097152
开始。
如何使用bash脚本获取2097152
?
我可能会解析输出,但也许有更合适的方法?
答案 0 :(得分:3)
一个选项,将输出提供给awk
sudo parted -s image.img unit B print |
awk '/^Number/{p=1;next}; p{gsub(/[^[:digit:]]/, "", $2); print $2}'
答案 1 :(得分:0)
如果图像中有多个分区并且只获取第一个分区偏移量,您可以使用以下内容:
sudo parted -s image.img unit B print | sed 's/^ //g' | grep "^1 " | tr -s ' ' | cut -d ' ' -f2
sed
将删除前导空格grep
将提取分区 1 的行(如果需要另一个分区,请更改该数字)tr
将删除单词之间的多余空格cut
将提取行上的第二个数字,即起始偏移量