说完fdisk,该说parted了,为啥要有这个工具啊,就是因为fdisk不支持GPT分区表,超过2T的硬盘必须用GPT,这个时候就得用parted出场了。
同样分交互式和非交互式来说,先讲交互式,这个也是日常操作最常用的。
直接打 parted /dev/sdb 就进去交互界面了,第一步一般是选分区表类型,输入 mklabel gpt ,要是你非要用MBR也可以输mbr,不过大于2T的盘用MBR也识别不全,所以老老实实选gpt就对了。
然后新建分区就是 mkpart ,然后会让你输分区名称,其实这个名称无所谓,随便写就行,然后问你文件系统类型,默认ext4就行,你要是用xfs就写xfs,然后输起始位置,一般直接从0%开始就行,结束位置写100%就是一个分区占满整个盘,比fdisk输扇区要直观多了对吧?
输完之后输 p 看一下分区信息对不对,没问题直接quit退出就好了,parted不用特意保存,你操作完直接就生效了,这点和fdisk不一样,别搞错了。
那非交互式的parted怎么用?同样,脚本自动化的时候用的多,不用进交互界面,一条命令搞定。
比如我要把/dev/sdc做成gpt分区表,然后分一个100G的第一个分区,直接这么写:
parted -s /dev/sdc mklabel gpt mkpart primary 0 100G
这里的-s就是就是脚本模式,非交互式的意思,直接跟着写操作命令就行,你要分多个分区就接着往后加参数,非常方便。
重点提醒,parted的操作是实时生效的,所以哪怕是交互式,你输完命令就改了分区表,错了也没办法退回去,一定要看清楚每一步输入的内容。 我当初第一次用parted的时候,把结束位置输成100G,结果我盘是2T的,剩下的空间就白白浪费了,后来重新弄了一遍才好,当时吓得我一身冷汗,以为数据没了。

还有人分不清parted里的起始位置怎么写,其实可以写数字加单位,0K就是从头开始,1024M就是1G,比fdisk的扇区好理解多了,你也可以写百分比,0%到50%就是分一半,太方便了。