数ヶ月前、私は次のような.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
。これにはパーティションが1つしかないため、a
コマンドが自動的に選択されるため、1
不要です。
このようにスクリプト自動化を使用しようとすると問題が発生しますfdisk
。開始位置が不明であるか、ユーザーインターフェイスが変更された可能性があります。
を使用したい場合がありますsfdisk
。これは、変更可能なユーザーインターフェイスを処理することなく、絶対的な方法でパーティションテーブルを定義できるスクリプト用に設計されています。