使用parted的可编写脚本的GPT分区

使用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但不确定这就是解决方案。有什么指示吗?
我正在经历同时链接还有其他建议吗?

编辑:只是frostschutz回复的快速参考,

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

答案1

原则上这是正确的,但您可能会考虑将其减少为单个parted调用。

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

您的对齐问题可能是因为您使用MB而不是MiB.在边界/已知设备上align-check创建分区时,您不需要实际的命令。MiB

答案2

我知道这已经很旧了,而且是一个很好的答案,因为您可以使用 MiB,但我想为其他人提供另一个选择。

在脚本调用(--script 或 -s 对于简短版本)中,您可以添加 -a 选项,该选项告诉它在创建分区时对齐并传递选项“optimal”。像这样的东西:

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

这只是从第一个 Mebibyte 开始并在磁盘末尾减去最后一个 Mebibyte 结束以将 GPT 表保留在适当位置的示例。

相关内容