web-dev-qa-db-ja.com

partedを使用したスクリプト可能なGPTパーティション

スクリプトで次のコマンドを使用してeMMCをパーティション化しています。

parted /dev/mmcblk0 --script mklabel gpt
parted /dev/mmcblk0 --script mkpart primary ext4 32MB 132MB
parted /dev/mmcblk0 --script mkpart primary ext4 233MB 433MB
parted /dev/mmcblk0 --script mkpart primary ext4 433MB 533MB
parted /dev/mmcblk0 --script mkpart primary ext4 533MB 593MB
parted /dev/mmcblk0 --script mkpart primary ext4 593MB 793MB
parted /dev/mmcblk0 --script mkpart primary ext4 793MB 3800MB
parted /dev/mmcblk0 --script align-check min 1
  1. スクリプトでパーティションを作成する正しい方法ですか?より良い方法はありますか?
  2. 最初のパーティションを作成した後、次の警告が表示されます

    警告:最適なパフォーマンスを得るために、結果のパーティションは適切に調整されていません。

心配する必要はありますか?私は試した parted /dev/mmcblk0 --script align-check min 1しかし、それが解決策かどうかはわかりません。そのための指針はありますか?
他の提案がある間、私は this リンクを通過していますか?

編集:frostschutz返信のクイックリファレンス

MiB = Mebibyte = 1024 KiB
KiB = Kibibyte = 1024 Bytes
MB = Megabyte = 1,000 KB
KB = Kilobyte = 1,000 Bytes
9
ART

原則として正しいですが、parted呼び出しを1回に減らすことを検討してください。

parted --script /device \
    mklabel gpt \
    mkpart primary 1MiB 100MiB \
    mkpart primary 100MiB 200MiB \
    ...

配置の問題は、MBではなくMiBを使用していることが原因と考えられます。 MiB境界/既知のデバイスにパーティションを作成する場合、実際のalign-checkコマンドは必要ありません。

18
frostschutz

私はこれが古く、MiBを使用できるという点でかなり良い答えであることを知っていますが、他の人々のためにそこに別のオプションを捨てたいと思います。

スクリプトの呼び出し(--scriptまたは-sは短いバージョン)内で、パーティションの作成時にオプション "optimal"を調整して渡すように指示する-aオプションを追加できます。このようなもの:

Sudo parted -s -a最適-/ dev/sdX mkpartプライマリ1MiB -2048s

これは、最初のメビバイトから始まり、ディスクの最後で最後のメビバイトを引いてGPTテーブルを残して終了する例にすぎません。

3
Khrystoph