几个月前,我编写了一个.sh
脚本,其中使用了:
fdisk image.img <<EOF
o
n
+64M
a
1
t
6
n
w
EOF
几个月前它起作用了。现在(稍后更新),它失败了:
Command (m for help): Created a new DOS disklabel with disk identifier 0x2bd95ecc.
Command (m for help): Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1): First sector (2048-2457599, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-2457599, default 2457599):
Created a new partition 1 of type 'Linux' and of size 64 MiB.
Command (m for help): Selected partition 1
The bootable flag on partition 1 is enabled now.
Command (m for help): 1: unknown command
知道什么可以解决这个问题吗?
答案1
问题出在你的1
.这里你只有一个分区,所以a
命令会自动选择它,并且1
是不必要的。
尝试fdisk
以这种方式使用脚本自动化会出现问题;起始位置可能未知或用户界面发生变化。
您可能想改用sfdisk
。这是为脚本编写而设计的,您可以绝对方式定义分区表,而不必处理可能发生变化的用户界面。