编写分区收缩脚本

编写分区收缩脚本

我有一些磁盘映像,是用 拍摄的dd if=/dev/somedevice of=filename.img。我能够按照以下方法缩小它们本教程

现在我想编写所有过程的脚本,并且我成功执行了几乎所有操作,除了 fdisk 调整大小部分之外。我正在尝试使用此命令调整分区大小

echo " , +7506944K," | sfdisk -N 2 /dev/loop14

但与我使用的大小无关,我收到一个错误:

/dev/loop14p2: Failed to resize partition #2.

如何编写重新定义分区末尾的脚本?为什么我的命令失败,我可以以某种方式获取更多信息吗?

答案1

我明白出了什么问题:

  • 首先,sfdisk接受分区的大小,而不是增量,因此符号+是错误的。一个区别是fdisk,结尾是从分区开头开始的扇区号,而不是从设备开头开始的扇区号。
  • 那么该单位不能是扇区以外的其他单位。

因此,就我而言,考虑到扇区大小为 512 字节且请求的最终大小约为 7Gb ,我必须按以下方式启动命令:

sudo sh -c 'echo " ,14596416" | sfdisk -N 2 /dev/loop14'

相关内容