![编写分区收缩脚本](https://linux22.com/image/205487/%E7%BC%96%E5%86%99%E5%88%86%E5%8C%BA%E6%94%B6%E7%BC%A9%E8%84%9A%E6%9C%AC.png)
我有一些磁盘映像,是用 拍摄的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'