解決策 1:
fdisk
を自動化しようとしています 可能ですが、維持するのは容易ではありません。他の回答が指摘しているように、parted または sfdisk は、あなたが望むことを行うように設計されており、自動化が容易です。
別れた
parted
を使用して 1 行でパーティションを作成するには :
parted -a optimal /dev/usb mkpart primary 0% 4096MB
この UNIX SE の投稿に見られるように。各部分は一目瞭然ですが、念のために mkpart
が定義されています:
mkpart
[部品タイプ fs-type 名前 ] 開始 終了
角括弧内はオプションですが、おそらく primary
が必要です 部品タイプ 、開始 0%
で 4096MB
で終了
解決策 2:
すべてを消去し、単一のパーティションを作成します:
dev='/dev/sdb'
sudo umount "$dev"
printf "o\nn\np\n1\n\n\nw\n" | sudo fdisk "$dev"
sudo mkfs.ext4 "${dev}1"
参照:https://superuser.com/questions/332252/creating-and-formating-a-partition-using-a-bash-script
解決策 3:
おそらく、fdisk の代わりに parted コマンドを使用する必要があります。
解決策 4:
sfdisk
stdin からパーティション情報を読み取る非対話モードもあります。 parted
ただし、より柔軟です。
解決策 5:
代わりに sfdisk を使用してください。
sfdisk のマニュアル ページは少しわかりにくいので、sfdisk を使用してパーティションのセットアップを自動化する具体的な例をいくつか示します。 1 つの例として、sfdisk -l
を介して 1 つのドライブからパーティション情報を保存できます。 それを新しいドライブに直接ダンプします。