现在的位置: 首页 > 综合 > 正文

Linux分区命令parted

2017年03月18日 ⁄ 综合 ⁄ 共 11645字 ⁄ 字号 评论关闭

parted是一个用于对分区及其文件系统进行建立、修改、调整、检查、复制等操作的一个工具,它比fdisk更加灵活,功能也更丰富,同时还支持GUID分区表(GUID Partition Table), 这在IA64平台上管理磁盘时非常有用,此外,你还可以用它来检查磁盘的使用状况,在不同的磁盘之间复制数据,甚至是“映象”磁盘——将一个磁盘的安装 完好地复制到另一个磁盘中。

parted同时支持交互模式和非交互模式. 它除了能够进行分区的添加,删除等常见操作外,还可以移动分区, 制作文件系统, 调整文件系统大小, 复制文件系统.

 

删除一个分区

命令格式:

parted device rm partition

实例: 删除分区/dev/sda1

[root@dev3-28 ~]# parted /dev/sda print

 

Model: MAXTOR ATLAS10K5_73SCA (scsi)

Disk /dev/sda: 73.6GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

 

Number  Start   End     Size    Type      File system  Flags

      32.3kB  10.0GB  10.0GB  primary   ext3             

      12.1GB  73.6GB  61.5GB  extended                   

      12.1GB  20.4GB  8390MB  logical   ext3             

      20.4GB  32.1GB  11.6GB  logical   ext3             

      32.1GB  73.6GB  41.5GB  logical   ext3             

 

Information: Don't forget to update /etc/fstab, if necessary.            

 

[root@dev3-28 ~]# parted /dev/sda rm 1

Information: Don't forget to update /etc/fstab, if necessary.            

 

[root@dev3-28 ~]# parted /dev/sda print

 

Model: MAXTOR ATLAS10K5_73SCA (scsi)

Disk /dev/sda: 73.6GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

 

Number  Start   End     Size    Type      File system  Flags

      12.1GB  73.6GB  61.5GB  extended                   

      12.1GB  20.4GB  8390MB  logical   ext3             

      20.4GB  32.1GB  11.6GB  logical   ext3             

      32.1GB  73.6GB  41.5GB  logical   ext3             

 

Information: Don't forget to update /etc/fstab, if necessary.       

添加一个分区

命令格式:

parted device mkpart part-type [fs-type] start end

实例: 添加一个大小为3GB的主分区

[root@dev3-28 ~]# parted /dev/sda mkpart primary 32.3kB 3GB        

[root@dev3-28 ~]# parted /dev/sda print -s                       

 

Model: MAXTOR ATLAS10K5_73SCA (scsi)

Disk /dev/sda: 73.6GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

 

Number  Start   End     Size    Type      File system  Flags

      32.3kB  3002MB  3002MB  primary   ext3             

      12.1GB  73.6GB  61.5GB  extended                   

      12.1GB  20.4GB  8390MB  logical   ext3             

      20.4GB  32.1GB  11.6GB  logical   ext3             

      32.1GB  73.6GB  41.5GB  logical   ext3             

格式化分区

命令格式:

parted device mkfs

实例: 对刚刚添加的分区制作文件系统。

[root@dev3-28 ~]# parted /dev/sda 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? y                                                                 

Partition number? 1                                                      

File system?  [ext2]?                                                    

Information: Don't forget to update /etc/fstab, if necessary.             

 

[root@dev3-28 ~]# parted /dev/sda print -s     

 

Model: MAXTOR ATLAS10K5_73SCA (scsi)

Disk /dev/sda: 73.6GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

 

Number  Start   End     Size    Type      File system  Flags

      32.3kB  3002MB  3002MB  primary   ext2             

      12.1GB  73.6GB  61.5GB  extended                   

      12.1GB  20.4GB  8390MB  logical   ext3             

      20.4GB  32.1GB  11.6GB  logical   ext3             

      32.1GB  73.6GB  41.5GB  logical   ext3

调整文件系统大小

命令格式:

parted device resize partition start end

实例: 将分区/dev/sda1的大小增加到5GB。

[root@dev3-28 ~]# parted /dev/sda resize 1 32.3kB 5GB

Warning: You should reinstall your boot loader before rebooting.  Read section 4 of the Parted User documentation for more

information.

Information: Don't forget to update /etc/fstab, if necessary.            

 

[root@dev3-28 ~]# parted /dev/sda print -s                

 

Model: MAXTOR ATLAS10K5_73SCA (scsi)

Disk /dev/sda: 73.6GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

 

Number  Start   End     Size    Type      File system  Flags

      32.3kB  5001MB  5001MB  primary   ext2             

      12.1GB  73.6GB  61.5GB  extended                   

      12.1GB  20.4GB  8390MB  logical   ext3             

      20.4GB  32.1GB  11.6GB  logical   ext3             

      32.1GB  73.6GB  41.5GB  logical   ext3

移动分区

命令格式:

parted device move partition start end

实例: 移动分区/dev/sda1

[root@dev3-28 ~]# parted /dev/sda move 1 5001MB

End?  [10.0GB]?                                                          

Warning: You should reinstall your boot loader before rebooting.  Read section 4 of the Parted User documentation for more

information.

Information: Don't forget to update /etc/fstab, if necessary.            

 

[root@dev3-28 ~]# parted /dev/sda print -s            

 

Model: MAXTOR ATLAS10K5_73SCA (scsi)

Disk /dev/sda: 73.6GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

 

Number  Start   End     Size    Type      File system  Flags

      5001MB  10.0GB  5001MB  primary   ext2             

      12.1GB  73.6GB  61.5GB  extended                   

      12.1GB  20.4GB  8390MB  logical   ext3             

      20.4GB  32.1GB  11.6GB  logical   ext3             

      32.1GB  73.6GB  41.5GB  logical   ext3  

注意: 不同于fdisk命令的使用w功能来确认来写入分区表信息, parted命令执行后立即生效,因此输入时需要谨慎.

Parted 交互模式下的命令

GNU Parted 提供以下命令:

2.4.1 check(检查)

格式:check number  

检查编号中所指定的文件系统是否有什么错误.。

例:

(parted) check 1

检查分区1上的文件系统.

 

2.4.2 cp(复制)

格式:cp [from-device] from-number to-number  

将分区 from-number上的文件系统完整地复制到分区to-number 中。分区to-number 上的数据会被全部删除。你可以再指定一个来源硬盘的设备名称 from-device来指定来源分区所在的硬盘。

该命令支持以下文件系统:

* ext2, ext3 (所提供的目标分区必须比源分区要大)

* fat16, fat32

* linux-swap (相当于再目标分区执行mkswap 命令)

* reiserfs (如果安装了libreiserfs库)

例:

(parted) cp /dev/hdb 2 3

将/dev/hdb上的第二个分区的内容复制到第三个分区上。

 

2.4.3 help(帮助)

格式:help [command]  

输出一个命令的帮助信息

例:

(parted) help resize

输出rezize 命令的帮助信息。

 

2.4.4 mklabel(建立分区表)

格式:mklabel label-type  

建 立一个 label-type 类型的磁盘分区表。新的分区表不会有任何分区。这个命令通常不会破坏你的数据,但是它有可能让你的数据变得不可读。这是你就需要用到rescue 命令来恢复分区。关于rescue 命令的用法请参见后文。Parted 能在各种分区表上工作。

label-type 必须是一下这些类型:

* bsd

* loop (raw disk access)

* gpt

* mac

* msdos

* pc98

* sun

例:

(parted) mklabel msdos

建立一个MS-DOS格式的分区表。这对于PC而言是一个非常常见的操作。 

 

2.4.5 mkfs(建立文件系统)

格式:mkfs number fs-type  

在指定的分区上建立指定的文件系统。这个命令会破坏该分区上的所有数据。

该命令支持以下文件系统:

* ext2

* fat16, fat32

* linux-swap

* reiserfs (如果安装了libreiserfs库)

例:

(parted) mkfs 2 fat32

在第二个分区上建立FAT32格式的文件系统。

 

2.4.6 mkpart(建立新分区)

格式:mkpart part-type [fs-type] start end  

建 立一个新的分区。若要建立非扩展分区,就最好用fs-type来指定文件系统。start和end是新分区开始和结束的具体位置。part-type是以 下类型之一: primary(主分区), extended(扩展分区), logical(逻辑分区). 扩展分区和逻辑分区只对msdos 和dvh分区表有效。

fs-type必须是以下文件系统:

* ext2

* fat16, fat32

* hfs, hfs+, hfsx

* linux-swap

* NTFS

* reiserfs

* ufs

例:

(parted) mkpart logical 0.0 692.1

建立一个包含ext2文件系统的逻辑分区,其位置是从磁盘的开始位置(0.0)到692.1M之间 。

 

2.4.7 mkpartfs(建立分区及其文件系统)

格式:mkpartfs part-type fs-type start end  

建 立一个新的分区,并在上面建立文件系统。与mkpart相似,分区的位置处于begin和end之间,默认的单位是MB.。请勿使用这个命令来恢复一个被 删除了的分区(应使用mkpart)。part-type是以下类型之一: primary(主分区), extended(扩展分区), logical(逻辑分区). 扩展分区和逻辑分区只对msdos 和dvh分区表有效。 fs-type必须是以下文件系统:

* ext2

* fat16, fat32

* linux-swap

* reiserfs (如果安装了libreiserfs库)

例:

(parted) mkpartfs logical ext2 440 670

建立一个a包含ex2格式文件系统的逻辑分区。其开始位置是440 MB,结束位置是670MB。

 

2.4.8 move(移动)

格式:move number start end  

该 命令能将选定的分区在硬盘中移动。start 可以指定一个新的分区的起始位置。不过,你不能将一个分区移到另一个分区上。也就是说,你只能在空闲的地方中移动分区。如果你想改变分区的大小,那么你所需要的命令是resize 。另外,虽然分区被移动了,但它的分区编号是不会改变的。

该命令支持以下文件系统:

* ext2, ext3 (所提供的目标分区必须比源分区要大)

* fat16, fat32

* linux-swap

* reiserfs (如果安装了libreiserfs库)

例:

(parted) move 2 150M 500M

将编号为2的分区移动到硬盘中150M至500M的位置。

 

 

2.4.9 name (命名)

格式:name number name  

为编号所指定的分区命名(只支持GPT, Mac, MIPS 和PC98 格式的分区)。名字可以用引号括起来。

例:

(parted) name 2 ’Secret Documents’

将第2个分区命名为 ’Secret Documents’。

 

2.4.10 print (输出信息)

格式:print [number]  

输出parted正在操作的硬盘的分区表的信息,或者是某一个具体分区的信息。

例:

(parted) print

Disk geometry for /dev/hda: 0.000-2445.679 megabytes

Disk label type: msdos

Minor Start End Type Filesystem Flags

1 0.031 945.000 primary fat32 boot, lba

2 945.000 2358.562 primary ext2

3 2358.562 2445.187 primary linux-swap

(parted) print 1

Minor: 1

Flags: boot, lba

File System: fat32

Size: 945.000Mb (0%)

Minimum size: 84.361Mb (0%)

Maximum size: 2445.679Mb (100%)

 

2.4.11 quit (退出)

格式:quit  

退出Parted.

只有当Parted退出后,Linux内核才会知道磁盘的设置已经被改变了。但是实际上只要你一执行一条命令,更改马上就会写入磁盘。不过,磁盘缓存有可能延缓写入的操作。

 

2.4.12 rescue (恢复)

格式:rescue start end  

如果你不小心用Parted的rm命令删除了一个分区,那么这个命令可以帮你恢复。你需要给出所误删的分区的大概的开始和结束的位置。Parted 就会在你给出的磁盘区域内去寻找,如果找到这个分区,那么Parted 就会询问你是否重新建立这个分区。

例:

(parted) print

Disk geometry for /dev/hdc: 0.000-8063.507 megabytes

Disk label type: msdos

Minor Start End Type Filesystem Flags

1 0.031 8056.032 primary ext3

(parted) rm

Partition number? 1

(parted) print

Disk geometry for /dev/hdc: 0.000-8063.507 megabytes

Disk label type: msdos

Minor Start End Type Filesystem Flags

糟糕了!我们不小心删除了这个ext3分区。不怕,Parted可以将它起死回生。

(parted) rescue

Start? 0

End? 8056

Information: A ext3 primary partition was found at 0.031MB ->

8056.030MB. Do you want to add it to the partition table?

Yes/No/Cancel? y

(parted) print

Disk geometry for /dev/hdc: 0.000-8063.507 megabytes

Disk label type: msdos

Minor Start End Type Filesystem Flags

1 0.031 8056.032 primary ext3

呵呵。这就恢复了。

 

2.4.13 resize (调整大小)

格式:resize number start end  

将编号所指定的分区调整大小。分区的开始位置和结束位置由start和end决定。resize不会改变分区的编号。注意,如果更改扩展分区的大小,那么你必须保证新的分区大小能够容纳里面的逻辑分区。另外,在调整大小前你无须对分区进行碎片整理。

该命令支持以下文件系统:

* ext2, ext3 – 限制:新的分区开始位置必须和原来的开始位置相同。也就是说,你只能向后扩展分区的大小。

* fat16, fat32

* hfs, hfs+, hfsx – 限制:新的分区开始位置必须和原来的开始位置相同。而且新的end必须小于原来的end。也就是说,你只能够缩小分区。

* linux-swap

* reiserfs (如果安装了libreiserfs库)

例:

(parted) resize 3 200M 850M

改变编号为3的分区的大小。其新的位置是200MB至 850MB 之间。

 

2.4.14 rm (删除分区)

格式:rm number  

将 编号所指定的分区删除。如果你误删了某个分区,那么你还可以用mkpart来挽救它(而不是用mkpartds)。注意,如果你使用的是MSDOS格式的 分区表,那么假如你删除了一个逻辑分区,那么该分区后面的逻辑分区的编号都会相应地向前改变。例如,你删除了编号为6的逻辑分区,那么后面的7、8号逻辑 分区的编号将会改变,分别变成6、7号逻辑分区。若在Linux下。这意味着你可能要改变/etc/fstab文件。

例:

(parted) rm 3

将编号为3的分区删除。

 

2.4.15 select (选择设备)

格式:select device  

选择Parted将要编辑的磁盘设备。这个磁盘设备可以是一个Linux硬盘设备,一个软盘、一个软RAID磁盘阵或者是LVM逻辑卷。

例:

(parted) select /dev/hdb

选择/dev/hdb作为Parted所要编辑的设备。

 

2.4.16 set (设置标记)

格式:set number flag state  

更改编号所指定的分区的标记。哪些标记可用是由你的分区表决定的。标记有两种状态,要么是on(生效),要么是off(失效)。

‘boot’    (用于Mac, MS-DOS, PC98分区表) - 如果你想从某个分区引导,那么你应该将这个分区的boot标记设置为on。对于MS-DOS分区表,一个硬盘上只能有一个分区是可引导的。如果你将 LILO装到某个分区上,那么这个分区一定是可引导的(也就是说你应该将安装了LILO的分区的boot标记设为on)。对于PC98分区表,所有 ext3分区都必须是设置为可引导的。(Parted会对此强行操作)

 

‘lba’ (用于MS-DOS分区表)-这个标记可以告诉MS DOS、MS Windows 9x和 MS Windows ME等系统使用LBA(Logic Block Addressing)模式。

 

‘root’ (用于Mac分区表) - 如果某分区是Linux系统的根分区,那么就要对该分区启用这个标记。

 

‘swap’  (用于Mac分区表) - 如果某分区是Linux系统的交换分区,那么就要对该分区启用这个标记。

 

‘hidden’ (用于MS-DOS, PC98分区表) - 启用这个标记能使一个分区‘隐藏’起来。(仅对微软的操作系统有效)

 

‘raid’ (用于MS-DOS分区表)-启用这个标记能够告诉Linux系统这是一个软RAID磁盘阵。

 

‘LVM’(用于MS-DOS分区表)-启用这个标记能够告诉Linux系统这是一个LVM逻辑。

使用print命令能够将所有能用的标记显示出来。

例:

(parted) set 1 boot on

将编号为1的分区的boot标记设定为on(生效)

 

2.4.17 unit (设置单位)

格式:unit unit 

为Parted选择一个表示磁盘大小的单位。之后,凡是关于磁盘的位置(如分区的开始位置等等)的数字都是使用这个单位,你就可以不用给出单位后缀。(如:如果你选择了MB作为单位,那么512就代表512MB,你就不用额外打多个MB之类的东西)你可以使用下列单位:

 

‘s’ :扇区 (通常一个扇区的大小是512个字节)

‘B’ byte

‘kB’ kilobyte (1000 bytes)

‘MB’ megabyte (1000000 bytes)

‘GB’ gigabyte (1000000000 bytes)

‘TB’ terabyte (1000000000000 bytes)

‘%’ 表示占整个磁盘设备的百分之多少(显而易见,这个数字必须在0和100之间)

‘cyl’ 柱面(这个具体的位置和BIOS的CHS地址有关)

‘chs’ 柱面(cylinders),磁头(heads),扇区(sectors)的地址(这个具体的位置和BIOS的CHS地址有关)

‘compact’ 这是一个比较奇怪的单位。输入时是使用MB作为单位,输出时的单位有可能不同,但是它确保输出时的单位能使用户一眼就看得出来磁盘的大小的,而不用心里默默地进行复杂的换算。(例如。它会使用1GB而不是使用1024MB,使用2MB而不是2048KB)

 

一般来 说,Parted只会 使用默认的单位进行输出,除非输入的时候你没有给出数字的后缀。你可以在输入的数字后面加上一个单位来代替默认的单位(单位和数字之间是没有空格的)。不过若你使用CHS地址作为单位时,你就不需要给定后缀。使用chs地址的格式是:“柱面:磁头:扇区”。对你所给出的数字地址,Parted可能进行一些 调整。例如,当你使用GB作为单位时,分区位置可能会有+-500M的误差。不过Parted总会尽量地使误差尽量地小。当然,你可以使用单位s(也就是 扇区)来指定一个精确的位置。若无法做到精确,Parted会让你给出一个最接近的解决方案。另外,若你给出的数字为负数,那么就表示从磁盘的末尾开始计算。如“-1s”就表示硬盘最后一个扇区,就是硬盘的最末尾处。 

例:

(parted) unit compact

(parted) print

Disk geometry for /dev/hda: 0kB - 123GB

Disk label type: msdos

Number Start End Size Type File system Flags

1           32kB 1078MB 1077MB primary reiserfs boot

2           1078MB 2155MB 1078MB primary linux-swap

3           2155MB 123GB 121GB extended

5           2155MB 7452MB 5297MB logical reiserfs

(parted) unit chs print

Disk geometry for /dev/hda: 0,0,0 - 14946,225,62

BIOS cylinder,head,sector geometry: 14946,255,63. Each cylinder

is 8225kB.

Disk label type: msdos

Number Start End Type File system Flags

          0,1,0 130,254,62 primary reiserfs boot

2           131,0,0 261,254,62 primary linux-swap

3           262,0,0 14945,254,62 extended

5           262,2,0 905,254,62 logical reiserfs

(parted) unit mb print

Disk geometry for /dev/hda: 0MB - 122942MB

Disk label type: msdos

Number Start End Size Type File system Flags

1           0MB 1078MB 1077MB primary reiserfs boot

2           1078MB 2155MB 1078MB primary linux-swap

3           2155MB 122935MB 120780MB extended

5           2155MB 7452MB 5297MB logical reiserfs

抱歉!评论已关闭.