Linux

使用 parted 的可編寫腳本的 GPT 分區

  • July 9, 2019

我在腳本中使用以下命令對 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但不確定這是解決方案。有什麼指示嗎?

我正在瀏覽連結,同時還有其他建議嗎?

編輯:只是frostschutz回复的快速參考,

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

原則上是正確的,但您可以考慮將其減少為一次parted呼叫。

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

您的對齊問題可能是因為您使用MB而不是MiB. 在邊界/已知設備上align-check創建分區時,您不需要實際命令。MiB

我知道這是舊的並且是一個很好的答案,因為您可以使用 MiB,但我想為其他人提供另一種選擇。

在腳本呼叫中(–script 或 -s 用於簡短版本),您可以添加 -a 選項,它告訴它在創建分區時對齊並傳遞“最佳”選項。像這樣的東西:

sudo parted -s -a 最佳 -- /dev/sdX mkpart primary 1MiB -2048s

這只是一個從第一個 Mebibyte 開始到磁碟末尾減去最後一個 Mebibyte 以保留 GPT 表的範例。

引用自:https://unix.stackexchange.com/questions/200582