为什么“parted”接受“xfspart”参数作为有效的“part-type”?

为什么“parted”接受“xfspart”参数作为有效的“part-type”?

Azure 教程使用门户将数据磁盘附加到 Linux VM显示准备磁盘的以下命令:

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%

查看了parted手册页以确保我在做什么,它指出

mkpart [part-type name fs-type] start end

       Create a new partition. part-type may  be  speci‐
       fied only with msdos and dvh partition tables, it
       should be one of "primary",  "logical",  or  "ex‐
       tended".   name is required for GPT partition ta‐
       bles and fs-type is optional.  fs-type can be one
       of  "btrfs",  "ext2",  "ext3",  "ext4",  "fat16",
       "fat32",  "hfs",  "hfs+",  "linux-swap",  "ntfs",
       "reiserfs", "udf", or "xfs".

除非我误解了它,否则在使用命令part-type时需要使用,并且它的值应该是列出的三个之一。mkpartparted

那么为什么 Azure 教程中的命令有效呢?

答案1

这个答案事实证明,事情并不是那么黑白分明,而是Arch 维基页面parted在“部分”中完美地回答这个问题4.2 分区方案“(强调我的):

  • part-type-or-part-label 根据分区表有不同的解释:

    • 膜生物反应器:参数被解释为 part-type,可以是 primaryextended或 之一logical

    • GPT:该参数被解释为 part-label,它设置分区的 PARTLABEL 属性。始终必须设置分区标签,因为马克帕特不允许创建带有空标签的分区。

      笔记:网络上的许多教程都使用mkpart primary甚至以 GPT 开头的命令。他们错了,这会将“primary”设置为分区标签。


问题中的手册页片段得到了很好的解释这个答案。例如,part-type甚至不需要,分区可以使用空字符串作为名称。

相关内容