3

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

如何2097152使用 bash 脚本获得?

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

4

2 回答 2

5

One option, feed the output to

sudo parted -s image.img unit B print | 
awk '/^Number/{p=1;next}; p{gsub(/[^[:digit:]]/, "", $2); print $2}' 
于 2013-11-24T22:43:55.510 回答
0

如果图像中有多个分区并且只获取第一个分区偏移量,您可以使用以下内容:

sudo parted -s image.img unit B print | sed 's/^ //g' | grep "^1 " | tr -s ' ' | cut -d ' ' -f2
  • sed将删除前导空格
  • grep将为分区 1 提取行(如果您想要另一个分区,请更改该编号)
  • tr将删除单词之间的多余空格
  • finalcut将提取行上的第二个数字,即起始偏移量
于 2021-02-28T10:30:55.237 回答