Linux下分区详解之—Parted
作者:吴伟龙
通常我们用的比较多的一般都是fdisk工具来进行分区,但是现在由于磁盘越来越廉价,而且磁盘空间越来越大;而fdisk工具他对分区是有大小限制的,它只能划分小于2T的磁盘。但是现在的磁盘空间很多都已经是远远大于2T了,甚至达到2.5T和3T,那要怎么办能,有两个方法,其一是通过卷管理来实现,其二就是通过我们今天谈到的Parted工具来实现对GPT磁盘进行分区操作。
GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partition table的4*16个字节,只留第一个16个字节,类似于扩展分区,真正的partitiontable在512字节之后,GPT磁盘没有四个主分区的限制。
1、 Parted工具详解:
1.1 进入Parted的方法(在命令行输入Parted命令即可)
[root@jetsen ~]# partet
Warning: Unable to open/dev/hdc read-write (Read-only file system). /dev/hdc has been
opened read-only.
GNU Parted 1.8.1
Using /dev/hdc
Welcome to GNU Parted! Type'help' to view a list of commands.
(parted)
1.2 获取parted工具帮助的方法:(只需输入help即可)
(parted) help
check NUMBER do a simple checkon the file system
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition
help [COMMAND] prints general help,or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel(partition table)
mkfs NUMBER FS-TYPE make a FS-TYPE filesystem on partititon
NUMBER
mkpart PART-TYPE [FS-TYPE] START END make a partition
mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system
move NUMBER START END move partition NUMBER
name NUMBER NAME name partition NUMBERas NAME
print [free|NUMBER|all] display the partition table,a partition, or
all devices
quit exit program
rescue START END rescue a lostpartition near START and END
resize NUMBER START END resize partition NUMBER andits file system
rm NUMBER deletepartition NUMBER
select DEVICE choose the deviceto edit
set NUMBER FLAG STATE change the FLAG onpartition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG onpartition NUMBER
unit UNIT set the defaultunit to UNIT
version displays thecurrent version of GNU Parted
and copyright information
(parted)
或
[root@jetsen ~]# parted--help
Usage: parted [OPTION]...[DEVICE [COMMAND [PARAMETERS]...]...]
Apply COMMANDs withPARAMETERS to DEVICE. If no COMMAND(s)are given, run in
interactive mode.
OPTIONs:
-h, --help displays this help message
-i, --interactive where necessary, prompts for userintervention
-l, --list lists partition tables ofall detected devices
-s, --script never prompts for userintervention
-v, --version displays the version
COMMANDs:
check NUMBER do a simple checkon the file system
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition
help [COMMAND] prints general help,or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel(partition table)
mkfs NUMBER FS-TYPE make a FS-TYPE filesystem on partititon NUMBER
mkpart PART-TYPE [FS-TYPE] START END make a partition
mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system
move NUMBER START END move partition NUMBER
name NUMBER NAME name partition NUMBERas NAME
print [free|NUMBER|all] display the partition table, apartition, or all devices
quit exitprogram
rescue START END rescue a lostpartition near START and END
resize NUMBER START END resize partition NUMBER andits file system
rm NUMBER deletepartition NUMBER
select DEVICE choose the deviceto edit
set NUMBER FLAG STATE change the FLAG onpartition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG onpartition NUMBER
unit UNIT set the defaultunit to UNIT
version displays thecurrent version of GNU Parted and copyright information
[root@jetsen ~]#
1.3 退出parted工具(只需输入quit即可)
(parted) quit
Information: Don't forget toupdate /etc/fstab, if necessary.
并且同时会提示及时更新/etc/fstab文件
2、 开始通过parted工具来对磁盘进行操作
2.1 查看单个磁盘状态
[root@jetsen ~]#parted /dev/sdb
GNU Parted 1.8.1
Using /dev/sdb
Welcome to GNUParted! Type 'help' to view a list of commands.
(parted) p
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sdb:16.1GB
Sector size(logical/physical): 512B/512B
Partition Table:msdos
Number Start End Size Type File system Flags
1 32.3kB 16.1GB 16.1GB primary ext3
(parted)
2.2 查看所有磁盘状态
[root@jetsen ~]#parted -l
Warning: Unable toopen /dev/hdc read-write (Read-only file system). /dev/hdc has been
opened read-only.
Error: Unable toopen /dev/hdc - unrecognised disk label.
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sda:21.5GB
Sector size(logical/physical): 512B/512B
Partition Table:msdos
Number Start End Size Type File system Flags
1 32.3kB 107MB 107MB primary ext3 boot
2 107MB 21.5GB 21.4GB primary lvm
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sdb:16.1GB
Sector size(logical/physical): 512B/512B
Partition Table:msdos
Number Start End Size Type File system Flags
1 32.3kB 16.1GB 16.1GB primary ext3
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sdc:16.1GB
Sector size(logical/physical): 512B/512B
Partition Table:loop
Number Start End Size File system Flags
1 0.00kB 16.1GB 16.1GB ext3
Error: Unable toopen /dev/sdd - unrecognised disk label.
Error: Unable toopen /dev/sde - unrecognised disk label.
Error: Unable toopen /dev/md0 - unrecognised disk label.
2.2 通过parted工具来创建大于2T的分区
[root@jetsen ~]#parted /dev/sde
GNU Parted 1.8.1 ---Parted的软件版本号
Using /dev/sde ---将执行下面操作盘
Welcome to GNUParted! Type 'help' to view a list of commands. –欢迎信息
(parted) mklabel ----创建创建磁盘标签
New disk labeltype? gpt
(parted) p ----查看分区状态
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sde:2190GB
Sector size(logical/physical): 512B/512B
Partition Table:gpt
Number Start End Size File system Name Flags
(parted) mkpart
Partition name? []? gpt2t ---指定分区名称
File system type? [ext2]ext3 ----指定分区类型
Start? 1 ---指定开始位置
End? 2190GB ---指定结束位置
(parted) P ----显示分区信息
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sde: 2190GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 2190GB 2190GB gpt2t
(parted) Q ---退出
Information: Don't forget to update /etc/fstab, if necessary. -----提示不要忘记更新/etc/fstab文件
2.3 通过parted工具来实现单磁盘多分区
[root@jetsen ~]#parted /dev/sdd
GNU Parted 1.8.1
Using /dev/sdd
Welcome to GNUParted! Type 'help' to view a list of commands.
(parted) p ---列出分区信息
Error:Unable to open /dev/sdd - unrecognised disk label. ----由于没有打上磁盘标签,所以表现信息无法列出
(parted)mklabel ----创建磁盘标签
New disk labeltype? gpt ---输入磁盘表情名
(parted) p ----再次列出磁盘分区
Model: VMware,VMware Virtual S (scsi) ---显示磁盘类型为SCSI磁盘
Disk /dev/sdd:1100GB ---磁盘大小为1100GB
Sector size(logical/physical): 512B/512B ---扇区大小为512B
Partition Table:gpt ----显示标签名为我刚才输入的标签名称
Number Start End Size File system Name Flags ----现在是一新硬盘还没有创建分区
(parted)mkpart ---创建分区
Partitionname? []? part1 ---指定分区名称
File systemtype? [ext2]? ext2 ---定义分区类型
Start? 1G ---指定起始位置
End? 10G ----指定终止位置
(parted)mkpart ---创建分区
Partitionname? []? part2 ---指定分区名称
File systemtype? [ext2]? ext2 ---定义分区类型
Start? 11G ---指定起始位置
End? 100G ---指定终止位置
(parted)mkpart
Partitionname? []? part3
File systemtype? [ext2]?
Start? 101G ----指定分区其实位置
End? -1 ----指定到分区最后
(parted) p ----显示分区信息
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sdd:1100GB
Sector size (logical/physical):512B/512B
Partition Table:gpt
Number Start End Size File system Name Flags ---查看到下面共有三个分区
1 17.4kB 10.0GB 10000MB part1
2 10.0GB 100GB 90.0GB part2
3 100GB 1100GB 1000GB part3
(parted) rm 3 ------删除分区3
(parted) p ------再次查看分区状态
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sdd:1100GB
Sector size(logical/physical): 512B/512B
Partition Table:gpt
Number Start End Size File system Name Flags ----显示分区删除成功,只剩下两个分区
1 17.4kB 10.0GB 10000MB part1
2 10.0GB 100GB 90.0GB part2
(parted) quit
Information: Don'tforget to update /etc/fstab, if necessary.
[root@jetsen ~]#ls -l /dev/sdd*
brw-r----- 1 rootdisk 8, 48 May 10 16:48 /dev/sdd
brw-r----- 1 rootdisk 8, 49 May 10 16:48 /dev/sdd1
brw-r----- 1 rootdisk 8, 50 May 10 16:48 /dev/sdd2
[root@jetsen ~]#
2.3 通过parted工具来删除分区
[root@jetsen ~]# parted /dev/sde
GNU Parted 1.8.1
Using /dev/sde
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sde: 2190GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 2190GB 2190GB gpt2t
(parted) rm 1 ----删除分1号分区
(parted) p ----显示分区信息,看如下是没有分区的
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sde: 2190GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
(parted) q
Information: Don't forget to update /etc/fstab, if necessary.
[root@jetsen ~]#
2.4 通过parted工具来创建文件系统
[root@jetsen ~]#parted /dev/sdd -----选择要格式化的磁盘
GNU Parted 1.8.1
Using /dev/sdd
Welcome to GNUParted! Type 'help' to view a list of commands.
(parted) mkfs 2ext3 ----格式化的类型为ext3分区号为2-
Warning: Theexisting file system will be destroyed and all data on the partition will
be lost. Do youwant to continue?
parted: invalidtoken: 2
Yes/No? yes ----再次确认是否格式化
Partition number?2 -----再次输入磁盘分区号
File system? [ext2]? ----格式化的类型
(parted)
查看格式化是否成功:
(parted) p -----查看文件系统是否被格式化
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sdd:1100GB
Sector size(logical/physical): 512B/512B
Partition Table:gpt
Number Start End Size File system Name Flags
1 17.4kB 10.0GB 10000MB part1
2 10.0GB 100GB 90.0GB ext2 part2 -------可以看到文件系统类型为ext2,可确定文件系统已经被格式化了。
(parted)
挂载刚才格式化后的文件系统
[root@jetsen ~]#cd / -----退到根目录
[root@jetsen /]#mkdir part2 -----创建part目录
[root@jetsen /]#mount /dev/sdd2 /part2 -----将/dev/sdd2挂载到/part2
[root@jetsen /]#df –h -----查看分区信息
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
18G 5.8G 11G 35% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 506M 4.0K 506M 1% /dev/shm
/dev/sdd2 83G 52K 79G 1% /part2 ------可以看到已经被挂载上来
[root@jetsen /]#cd /part2
[root@jetsenpart2]# mkdir 1111 ------并且可以访问
[root@jetsenpart2]# ls
1111 lost+found
[root@jetsen part2]#
删除和恢复分区
[root@jetsen /]#umount /dev/sdd2 ----卸载分区
[root@jetsen /]#parted /dev/sdd ---通过parted选择/dev/sdd磁盘进入操作
GNU Parted 1.8.1
Using /dev/sdd
Welcome to GNUParted! Type 'help' to view a list of commands.
(parted) rm 2 ------删除磁盘分区
(parted) rescue -------对磁盘分区进行恢复
Start? 10G
End? 100G
Information: A ext2 primary partitionwas found at 10.0GB -> 100GB. Do youwant to add
it to the partition table?
Yes/No/Cancel? Yes ----告诉
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdd: 1100GB
Sector size (logical/physical):512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 10.0GB 10000MB part1
2 10.0GB 100GB 90.0GB ext2
(parted)
[root@jetsen/]# cd /part2 ----神奇吧,数据也被恢复回来了
[root@jetsenpart2]# ls
1111 lost+found
2.6 通过parted工具来验证和维护文件系统及分区。
验证文件系统的完整性:
(parted)check 1
Error:File system was not cleanly unmounted! You should run e2fsck. Modifyingan
uncleanfile system could cause severe corruption.
Ignore/Cancel?ignore
Information:The ext2 file system passed a basic check. For a more comprehensive check,
use thee2fsck program.
(parted)