一、parted
命令介绍
我们Linux系统中有两种常见的分区表,MBR分区表(主引导记录分区表)和GPT分区表(GUID分区表,也叫全局唯一标识分区表),其中:
MBR分区表:支持的最大分区是2TB(1TB=1024GB)(超过2TB不识别多出来的空间);最多支持4个主分区,或3个主分区1个扩展分区。
GPT分区表:支持最大18EB的分区(1EB=1024PB=1024*1024TB);最多支持128个分区,其中1个系统保留分区,127个用户自定义分区。
我们前边所说的fdisk
命令,只识别MBR分区表。如果需要对GPT分区表进行分区,需要使用parted
命令。
注意:
parted
命令也有点小问题,就是命令自身分区的时候只能格式化成ext2
文件系统,不支持ext3
文件系统,那就更不用说ext4
文件系统了(截止到CentOS6.8
还是这样,这里只是指不能用parted
命令把分区格式化成ext4
文件系统,但是parted
命令还是可以识别ext4
文件系统的)。不过这没有太多的影响,因为我们可以先用parted
命令分区格式化,再退出parted
命令,用mkfs
命令进行格式化成ext4
文件系统。
parted
命令感觉还不是太成熟,命令看文档会用就可以了。
一个硬盘的分区表改变了,原来的分区就会全部消失,该硬盘在/etc/fstab
文件中配置的自动挂载的配置要提前全部删除掉。否则下次启动系统的时候就会报错。
这里要注意一点:删除分区和建立分区是完全相反的流程。
- 建立分区:先加入一个新硬盘,
fdisk
命令进行分区设置,mkfs
命令对分区进行格式化,之后mount
命令进行分区挂载,最后修改/etc/fstab
文件进行分区自动挂载。- 删除分区:先取消掉
/etc/fstab
文件的分区自动挂载,在umount
命令取消分区挂载,卸载没有格式化,之后把分区删除掉,然后在移除硬盘。
所以执行parted
命令前一定要删除分区的自动挂载。(这个练习只进行新添加的硬盘用parted
命令分区,对创建Linux系统初始的硬盘不用parted
命令分区,所以只删除新增硬盘的自动挂载就可以。)
二、parted
交互模式
执行命令[root@localhost ~] # parted /dev/sdb(不用写分区号)
命令结果如下,会开启一个交互模式,并告知你可以通过“help”查看命令列表。
# 用`parted`命令划分/dev/sdb 硬盘
[root@localhost ~] # parted /dev/sdb
GNU Parted 2.1
使用 /dev/sdb
Welcome to GNU Parted!Type'help'to view a list of commands.
(parted)(等待输入交互命令的位置)
输入help
。结果如下:
parted
交互命令说明
parted交互命令and说明
-
check NUMBER
:做一次简单的文件系统检测。 -
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER
:复制文件系统到另外一个分区。 -
help [COMMAND]
:显示所有的命令帮助。 -
mklabel,mktable LABEL-TYPE
:创建新的磁盘卷标(分区表)。 -
mkfs NUMBER FS-TYPE
:在分区上建立文件系统。 -
mkpart PART-TYPE [FS-TYPE] START END
:创建一个分区。 - `mkpartfs PART-TYPE FS-TYPE START END:创建分区,并建立文件系统。
-
move NUMBER START END
:移动分区。 -
name NUMBER NAVME
:给分区命名。 -
print [devices|free|list,all|NUMBER]
:显示分区表,活动设备,空闲空间,所有分区。 -
quit
:退出。 -
rescue START END
:修复丢失的分区。 -
resize NUMBER START END
:修改分区大小。 -
rm NUMBER
:删除分区。 -
select DEVICE
:选择需要编辑的设备。 -
set NUMBER FLAG STATE
:改变分区标记。 -
toggle [NUMBER [FLAG]]
:切换分区表的状态。 -
unit UNIT
:设置默认的单位。 -
Version
:显示版本。