如何使用bash脚本获取分区的偏移量?

时间:2013-11-24 22:07:04

标签: bash offset mbr

我可以使用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

我可能会解析输出,但也许有更合适的方法?

2 个答案:

答案 0 :(得分:3)

一个选项,将输出提供给

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 将删除单词之间的多余空格
  • final cut 将提取行上的第二个数字,即起始偏移量