我在脚本中使用以下命令对 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
- 这是在脚本中创建分区的正确方法吗?还有更好的办法吗?
创建第一个分区后,我收到以下警告
警告:生成的分区未正确对齐以获得最佳性能。
我需要担心吗?我尝试过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 表保留在适当位置的示例。