LINUX下分区命令Parted详解

通常划分分区工具我们用的比较多是fdisk命令,但是现在由于磁盘越来越廉价,而且磁盘空间越来越大。而fdisk工具他对分区是有大小限制的,它只能划分小于2T的磁盘。现在的磁盘空间已经远远大于2T,有两个方法来解决这个问题:其一是通过卷管理来实现,其二就是通过Parted工具来实现对2T磁盘进行分区操作。

  GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partition table的4*16个字节,只留第一个16个字节,类似于扩展分区,真正的partition table在512字节之后,GPT分区方式没有四个主分区的限制,最多可达到128个主分区。

用法:parted [选项]... [设备 [命令 [参数]...]...]
将带有“参数”的命令应用于“设备”。如果没有给出“命令”,则以交互模式运行.

帮助选项:
-h, --help 显示此求助信息
-l, --list 列出所有设别的分区信息
-i, --interactive 在必要时,提示用户
-s, --script 从不提示用户
-v, --version 显示版本

操作命令:
检查 MINOR #对文件系统进行一个简单的检查
cp [FROM-DEVICE] FROM-MINOR TO-MINOR #将文件系统复制到另一个分区
help [COMMAND] #打印通用求助信息,或关于 COMMAND 的信息
mklabel 标签类型 #创建新的磁盘标签 (分区表)
mkfs MINOR 文件系统类型 #在 MINOR 创建类型为“文件系统类型”的文件系统
mkpart 分区类型 [文件系统类型] 起始点 终止点 #创建一个分区
mkpartfs 分区类型 文件系统类型 起始点 终止点 #创建一个带有文件系统的分区
move MINOR 起始点 终止点 #移动编号为 MINOR 的分区
name MINOR 名称 #将编号为 MINOR 的分区命名为“名称”
print [MINOR] #打印分区表,或者分区
quit #退出程序
rescue 起始点 终止点 #挽救临近“起始点”、“终止点”的遗失的分区
resize MINOR 起始点 终止点 #改变位于编号为 MINOR 的分区中文件系统的大小
rm MINOR #删除编号为 MINOR 的分区
select 设备 #选择要编辑的设备
set MINOR 标志 状态 #改变编号为 MINOR 的分区的标志

1、Parted工具详解:
1.1 进入Parted的方法(在命令行输入Parted命令即可)
[root@system ~]# parted
GNU Parted 2.1 #Parted的软件版本号
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands. #欢迎信息
(parted) select /dev/sdb
使用 /dev/sdb
(parted)

类似fdisk一样,先选择要分区的硬盘,此处为/dev/sdb:
[root@system ~]# parted /dev/sdb
GNU Parted 2.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

1.2 获取parted工具帮助的方法:(只需输入help即可)
[root@system ~]# parted
(parted) help

[root@system ~]# parted --help

1.3 退出parted工具(只需输入quit即可)
[root@system ~]# parted
(parted) quit

2、开始通过parted工具来对磁盘进行操作
2.1 查看单个磁盘状态

[root@system ~]# parted /dev/sdb
(parted) p #查看磁盘分区状态
错误: /dev/sdb: unrecognised disk label #由于没有打上磁盘标签,所以表现信息无法列出

(parted) mklabel #创建磁盘标签
新的磁盘标签类型? gpt #输入磁盘标签类型 gpt msods(MBR)
(parted) p #再次查看磁盘分区状态
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name 标志

2.2 查看所有磁盘状态
[root@system ~]# parted -l /dev/sdb

2.3 通过parted工具来创建分区
(parted) mkpart #创建分区
分区名称? []? data1 #分区名称
文件系统类型? [ext2]? ext4 #文件系统类型
起始点? 1 #指定起始位置
结束点? 10G #指定结束位置
(parted) p #查看磁盘分区状态
Model: VMware, VMware Virtual S (scsi) #显示磁盘类型为SCSI
Disk /dev/sdb: 107GB #磁盘大小
Sector size (logical/physical): 512B/512B #扇区大小
Partition Table: gpt #分区类型为GPT

Number Start End Size File system Name 标志
1 1049kB 10.0GB 9999MB data1

(parted) q #退出
信息: You may need to update /etc/fstab.

2.4 通过parted工具实现单磁盘多分区
(parted) mkpart
分区名称? []? data2
文件系统类型? [ext2]? ext4
起始点? 10G
结束点? 20G
(parted) mkpart
分区名称? []? data3
文件系统类型? [ext2]? ext4
起始点? 20G
结束点? 30G
(parted) p #查看到下面共有三个分区
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name 标志
1 1049kB 10.0GB 9999MB data1
2 10.0GB 20.0GB 9999MB data2
3 20.0GB 30.0GB 10.0GB data3

2.5 通过parted工具删除一个分区
(parted) rm 3 #删除分区3
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name 标志
1 1049kB 10.0GB 9999MB data1
2 10.0GB 20.0GB 9999MB data2

[root@system ~]# ls -l /dev/sdb*
brw-rw---- 1 root disk 8, 16 3月 15 14:54 /dev/sdb
brw-rw---- 1 root disk 8, 17 3月 15 14:54 /dev/sdb1
brw-rw---- 1 root disk 8, 18 3月 15 14:54 /dev/sdb2

2.6 通过parted工具来格式化分区创建文件系统
(parted) mkfs 1 ext2 #格式化的类型为ext2分区号为1
是/Yes/否/No? y #再次确认是否格式化
分区编号? 1 #输入分区号
文件系统类型? [ext2]? #输入文件系统类型(ext[34]等类型使用mkfs命令)
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name 标志
1 1049kB 10.0GB 9999MB ext2 data1

注释:
[root@system ~]# mkfs.ext4 /dev/sdb1

挂载刚才格式化后的文件系统
[root@system ~]# mkdir /data1
[root@system ~]# mount /dev/sdb1 /data1
[root@system ~]# mount | tail -1
/dev/sdb1 on /data1 type ext2 (rw)
[root@system ~]# mkdir /data1/dir{1..10}
[root@system ~]# ls /data1/
dir1 dir10 dir2 dir3 dir4 dir5 dir6 dir7 dir8 dir9 lost+found

2.7 删除和恢复分区
[root@system ~]# umount /dev/sdb1
[root@system ~]# parted /dev/sdb
GNU Parted 2.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) rm 1
(parted) rescue #恢复分区
起始点? 1
结束点? 10G
信息: A ext2 primary partition was found at 1049kB -> 10.0GB. Do you want to add it
to the partition table?
是/Yes/否/No/放弃/Cancel? Yes
(parted) quit
信息: You may need to update /etc/fstab.

[root@system ~]# mount /dev/sdb1 /data1
[root@system ~]# ls /data1/
dir1 dir10 dir2 dir3 dir4 dir5 dir6 dir7 dir8 dir9 lost+found

2.8 通过parted工具来验证和维护文件系统及分区
[root@system ~]# parted /dev/sdb
GNU Parted 2.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) check 1 #验证文件系统的完整性

上一篇:201521123013 《Java程序设计》第3周学习总结


下一篇:【转载】C语言 构建参数个数不固定函数