Linux下分区详解之—Parted
作者:吴伟龙
通常我们用的比较多的一般都是fdisk工具来进行分区,但是现在由于磁盘越来越廉价,而且磁盘空间越来越大;而fdisk工具他对分区是有大小限制的,它只能划分小于2T的磁盘。但是现在的磁盘空间很多都已经是远远大于2T了,甚至达到2.5T和3T,那要怎么办能,有两个方法,其一是通过卷管理来实现,其二就是通过我们今天谈到的Parted工具来实现对GPT磁盘进行分区操作。
GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partition table的4*16个字节,只留第一个16个字节,类似于扩展分区,真正的partition table在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 check on 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 file system 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 NUMBER as NAME
print [free|NUMBER|all] display the partition table, a partition, or
all devices
quit exit program
rescue START END rescue a lost partition near START and END
resize NUMBER START END resize partition NUMBER and its file system
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version displays the current version of GNU Parted
and copyright information
(parted)
或
[root@jetsen ~]# parted --help
Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]
Apply COMMANDs with PARAMETERS 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 user intervention
-l, --list lists partition tables of all detected devices
-s, --script never prompts for user intervention
-v, --version displays the version
COMMANDs:
check NUMBER do a simple check on 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 file system 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 NUMBER as NAME
print [free|NUMBER|all] display the partition table, a partition, or all devices
quit exit program
rescue START END rescue a lost partition near START and END
resize NUMBER START END resize partition NUMBER and its file system
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version displays the current version of GNU Parted and copyright information
[root@jetsen ~]#
1.3 退出parted工具(只需输入quit即可)
(parted) quit
Information: Don't forget to update /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 GNU Parted! 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 to open /dev/hdc read-write (Read-only file system). /dev/hdc has been
opened read-only.
Error: Unable to open /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 to open /dev/sdd - unrecognised disk label.
Error: Unable to open /dev/sde - unrecognised disk label.
Error: Unable to open /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 GNU Parted! Type 'help' to view a list of commands. –欢迎信息
(parted) mklabel ----创建创建磁盘标签
New disk label type? 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 GNU Parted! Type 'help' to view a list of commands.
(parted) p ---列出分区信息
Error: Unable to open /dev/sdd - unrecognised disk label. ----由于没有打上磁盘标签,所以表现信息无法列出
(parted) mklabel ----创建磁盘标签
New disk label type? 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 ---创建分区
Partition name? []? part1 ---指定分区名称
File system type? [ext2]? ext2 ---定义分区类型
Start? 1G ---指定起始位置
End? 10G ----指定终止位置
(parted) mkpart ---创建分区
Partition name? []? part2 ---指定分区名称
File system type? [ext2]? ext2 ---定义分区类型
Start? 11G ---指定起始位置
End? 100G ---指定终止位置
(parted) mkpart
Partition name? []? part3
File system type? [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't forget to update /etc/fstab, if necessary.
[root@jetsen ~]# ls -l /dev/sdd*
brw-r----- 1 root disk 8, 48 May 10 16:48 /dev/sdd
brw-r----- 1 root disk 8, 49 May 10 16:48 /dev/sdd1
brw-r----- 1 root disk 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 GNU Parted! Type 'help' to view a list of commands.
(parted) mkfs 2 ext3 ----格式化的类型为ext3分区号为2-
Warning: The existing file system will be destroyed and all data on the partition will
be lost. Do you want to continue?
parted: invalid token: 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@jetsen part2]# mkdir 1111 ------并且可以访问
[root@jetsen part2]# 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 GNU Parted! Type 'help' to view a list of commands.
(parted) rm 2 ------删除磁盘分区
(parted) rescue -------对磁盘分区进行恢复
Start? 10G
End? 100G
Information: A ext2 primary partition was found at 10.0GB -> 100GB. Do you want 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@jetsen part2]# ls
1111 lost+found
2.6 通过parted工具来验证和维护文件系统及分区。
验证文件系统的完整性:
(parted) check 1
Error: File system was not cleanly unmounted! You should run e2fsck. Modifying an
unclean file system could cause severe corruption.
Ignore/Cancel? ignore
Information: The ext2 file system passed a basic check. For a more comprehensive check,
use the e2fsck program.
(parted)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20674423/viewspace-723212/ ,如需转载,请注明出处,否则将追究法律责任。