通过parted交互模式中所提供的各种指令,可以对磁盘的分区进行有效的管理。接下来将介绍如何在parted的交互模式下完成查看分区、创建分区、创建文件系统、更改分区大小以及删除分区等操作。
1.查看分区
输入print指令,可以查看磁盘当前的分区表信息,其运行结果如下所示。
- (parted) print
//输入print指令查看磁盘分区表- Model: Maxtor 6Y080L0 (ide)
- Disk /dev/hda: 82.0GB
- Sector size (logical/physical): 512B/512B
- Partition Table: msdos
- Number Start End Size Type File
system Flags //系统分区表- 1 32.3kB 5346MB 5346MB primary fat32
boot //列出每一个分区
//的信息- 2 5346MB 78.2GB 72.8GB extended lba
- 3 5346MB 7444MB 2097MB logical fat32
- 4 7444MB 10.6GB 5247MB logical ntfs
- 5 10.6GB 62.0GB 51.4GB logical ext3
- 6 62.0GB 63.6GB 1571MB logical linux-swap
返回结果的第1行是磁盘的型号:Maxtor 6Y080L0 (ide);第2行是磁盘的大小82.0GB;第3行是逻辑和物理扇区的大小512B;其余的为磁盘的分区表信息。每一行分区的信息包括:分区号、分区开始位置、分区结束位置、分区大小、分区的类型(主分区、扩展分区还是逻辑分区)、分区的文件系统类型、分区的标记等信息。这个界面比fdisk更为直观,因为在这里的开始位置、结束位置和分区大小都是以KB、MB、GB为单位的,而不是block数和扇区。
2.创建分区
通过mkpart指令可以创建磁盘分区,例如要创建一个开始位置为63.6GB、结束位置为65.6GB、文件系统类型为ext2的逻辑分区,可以使用如下指令。
- mkpart logical ext2 63.6GB 65.6GB
如果输入mkpart指令而不带任何参数,parted会一步步提示用户输入相关信息并最终完成分区的创建,结果如下:
- (parted) mkpart
//输入mkpart指令创建分区- Partition type? primary/logical? logical
//选择新分区的类型,主分区还是
//逻辑分区- File system type? [ext2]? ext3
//输入文件系统类型,默认为ext2- Start? 63.6GB
//分区的开始位置- End? 65.6GB
//分区的结束位置- (parted) print
//显示最新的分区表信息- Model: Maxtor 6Y080L0 (ide)
- Disk /dev/hda: 82.0GB
- Sector size (logical/physical): 512B/512B
- Partition Table: msdos
- Number Start End Size Type
File system Flags //系统分区表- 1 32.3kB 5346MB 5346MB primary fat32 boot
- 2 5346MB 78.2GB 72.8GB extended lba
- 3 5346MB 7444MB 2097MB logical fat32
- 4 7444MB 10.6GB 5247MB logical ntfs
- 5 10.6GB 62.0GB 51.4GB logical ext3
- 6 62.0GB 63.6GB 1571MB logical linux-swap
- 7 63.6GB 65.6GB 2032MB logical
//新创建的分区
可以看到,新创建的逻辑分区为/dev/hda9,大小为2032MB。
3.创建文件系统
创建分区后,可以使用mkfs指令在分区上创建文件系统,parted目前只支持ext2文件系统,还不支持ext3,如下所示。
- (parted) mkfs //创建文件系统
- Warning: The existing file system will be
destroyed and all data on the- partition will be lost. Do you want to continue?
- Yes/No? Yes
//确认是否要创建文件系统- Partition number? 9 //需要创建文件系统的分区
- File system? [ext2]? ext2
//创建的文件系统类型,默认ext2- (parted)
- (parted) print
//查看更改后的分区表- Model: Maxtor 6Y080L0 (ide)
- Disk /dev/hda: 82.0GB
- Sector size (logical/physical): 512B/512B
- Partition Table: msdos
- Number Start End Size Type
File system Flags //系统分区表- 1 32.3kB 5346MB 5346MB primary fat32 boot
- 2 5346MB 78.2GB 72.8GB extended lba
- 3 5346MB 7444MB 2097MB logical fat32
- 4 7444MB 10.6GB 5247MB logical ntfs
- 5 10.6GB 62.0GB 51.4GB logical ext3
- 6 62.0GB 63.6GB 1571MB logical linux-swap
- 7 63.6GB 65.6GB 2032MB logical ext2
//文件系统一列已由空白变为ext2
由于parted目前尚不支持ext3类型的文件系统,所以如果用户需要在分区上创建ext3的文件系统,那么就需要使用其他的工具,详细请参考"8.2.1 创建文件系统"一节的内容。
4.更改分区大小
使用resize指令可以更改指定分区的大小。需要更改大小的分区上面必须是已经创建了文件系统,否则将会得到如下的提示。
- Error: Could not detect file system.
在进行更改操作前,分区必须已经被卸载。例如,要把hda9的大小由2032MB减少为436MB,命令如下所示。
- (parted) resize //使用resize指令更改分区大小
- Partition number? 9 //选择需要更改的分区号
- Start? [63.6GB]? 63.6GB //输入分区新的开始位置
- End? [65.6GB]? 64GB //输入分区新的结束位置
- (parted) print //查看更改后的分区表
- Model: Maxtor 6Y080L0 (ide)
- Disk /dev/hda: 82.0GB
- Sector size (logical/physical): 512B/512B
- Partition Table: msdos
- Number Start End Size Type File
system Flags //系统分区表- 1 32.3kB 5346MB 5346MB primary fat32 boot
- 2 5346MB 78.2GB 72.8GB extended lba
- 3 5346MB 7444MB 2097MB logical fat32
- 4 7444MB 10.6GB 5247MB logical ntfs
- 5 10.6GB 62.0GB 51.4GB logical ext3
- 6 62.0GB 63.6GB 1571MB logical linux-swap
- 7 63.6GB 64.0GB 436MB logical ext2
//分区大小已被更改
注意:为了保证分区上的数据安全性,一般不建议缩小分区的大小,以免分区上的数据受到损坏。
5.删除分区
使用rm指令可以删除指定的磁盘分区,在进行删除操作前必须先把分区卸载。例如要删除分区hda9,命令如下所示。
- (parted) rm //输入rm指令
- Partition number? 9 //选择需要删除的分区号
注意:与fdisk不同,在parted中所做的所有操作都是立刻生效的,不存在保存生效的概念,所以用户在进行删除分区这种危险度极高的操作时必须要小心谨慎。
6.选择其他设备
如果在使用parted的过程中需要对其他磁盘设备进行操作时,并不需要重新运行parted,使用select指令就可以选择其他的设备并进行操作。例如,要选择磁盘/dev/hdb进行操作,可以使用下面的命令。
- (parted) select /dev/hdb
- Using /dev/hdb
完成后就可以对磁盘/dev/hdb进行操作。
语 法】parted [选项] [参数]
【功能介绍】parted指令是由GNU组织开发的一款功能强的磁盘分区和分区大小调整工具。它可以创建分区、删除分区、调整分区大小、移动和拷贝分区(支持ext2、ext3、linux-swap、fat、fat32和reiserfs分区)。
【选项说明】
选 项 | 功 能 |
-h | 显示帮助信息 |
-i | 交互式模式 |
-s | 脚本模式,不提示用户 |
-v | 显示版本号 |
【参数说明】
参数 | 功 能 |
设备 | 指定要分区的硬盘所对应的设备文件 |
命令 | 要执行的parted命令。忽略此参数时, parted指令进入自己的提示符。 check(对指定分区执行简单的检查); cp(将原设备上的原分区的文 help(显示命令帮助); mkfs(在分区上创建指定的文件系统); mklabel(为分区创建新卷标);mkpart(创建分区); mkpartfs(创建分区及分区上的文件系统); move(移动分区); name(设置分区的名称); print(显示分区列表); quit(退出parted); resize(调整分区大小); rm(删除指定分区); select(选择要操作的硬盘); set(改变分区的状态标志) |
【经验技巧】parted指令目前不支持对"ext3"文件系统调整大小,可以使用resize2fs指令代替。
【示例335】进入交互式模式。具体步骤如下:
parted指令不带"命令"参数时自动进入交互式模式。在命令行中输入下面的命令:
- [root@hn ~]# parted /dev/sda #进入交互式模式
输出信息如下:
- GNU Parted 1.8.1
- Using /dev/sda
- Welcome to GNU Parted! Type 'help' to view a list of commands.
- (parted)
说明:交互式模式下,需要在提示符"(parted) "下输入所有的分区操作命令。
【示例336】显示分区表。具体步骤如下:
使用parted指令的"print"命令显示中的硬盘的分区表。在命令行中输入下面的命令:
- [root@hn ~]# parted /dev/sda print#显示硬盘分区表
输出信息如下:
- ......省略部分输出内容......
- Number Start End Size Type File system Flags
- 1 32.3kB 10.5GB 10.5GB primary ext3 boot
- 2 10.5GB 11.5GB 1045MB primary linux-swap
- 3 11.5GB 11.6GB 107MB primary ext3
- Information: Don't forget to update /etc/fstab, if necessary.
【示例337】创建分区。
(1)使用parted指令的"mkpart"目录创建新的硬盘分区。在命令行中输入下面的命令:
- [root@hn ~]# parted /dev/sdb mkpart primary ext3 100M 200M #创建分区
说明:本例中,在硬盘"/dev/sdb"上创建了一个空间为100M的主分区。
输出信息如下:
- Information: Don't forget to update /etc/fstab, if necessary.
(2)使用parted指令的"print"命令显示中的硬盘的分区表。在命令行中输入下面的命令:
- [root@hn ~]# parted /dev/sdb print #显示分区表
输出信息如下:
- ......省略部分输出内容......
- Number Start End Size Type File system Flags
- 1 100MB 200MB 100MB primary
- Information: Don't forget to update /etc/fstab, if necessary.
reference :http://blog.163.com/niuzai369@126/blog/static/374309152014024102220633/http://blog.sina.com.cn/s/blog_4905fa450100ce19.html