GPT和parted命令詳解


GPT概述

 

全局唯一標識分區表(GUID Partition Table,縮寫:GPT)是一個實體硬盤的分區結構。它是可擴展固件接口標准的一部分,用來替代BIOS中的主引導記錄分區表。 傳統的主啟動記錄 (MBR) 磁盤分區支持最大卷為 2.2 TB (terabytes) ,每個磁盤最多有 4 個主分區(或 3 個主分區,1 個擴展分區和無限制的邏輯驅動器) 與MBR 分區方法相比,GPT 具有更多的優點,因為它允許每個磁盤有多達 128 個分區,支持高達 18 千兆兆字節 (exabytes,1EB=10^6TB) 的卷大小,允許將主磁盤分區表和備份磁盤分區表用於冗余,還支持唯一的磁盤和分區 ID (GUID)。
與 MBR 分區的磁盤不同,GPT的分區信息是在分區中,而不象MBR一樣在主引導扇區。為保護GPT不受MBR類磁盤管理軟件的危害,GPT在主引導扇區建立了一 個保護分區 (Protective MBR)的MBR分區表,這種分區的類型標識為0xEE,這個保護分區的大小在Windows下為128MB,Mac OS X下為200MB,在Window磁盤管理器里名為GPT保護分區,可讓MBR類磁盤管理軟件把GPT看成一個未知格式的分區,而不是錯誤地當成一個未分 區的磁盤。另外,GPT 分區磁盤有多余的主要及備份分區表來提高分區數據結構的完整性。

 

在MBR硬盤中,分區信息直接存儲於主引導記錄(MBR)中(主引導記錄中還存 儲着系統的引導程序)。但在GPT硬盤中,分區表的位置信息儲存在GPT頭中。但出於兼容性考慮,硬盤的第一個扇區仍然用作MBR,之后才是GPT頭。跟 現代的MBR一樣,GPT也使用邏輯區塊地址(LBA)取代了早期的CHS尋址方式。傳統MBR信息存儲於LBA 0,GPT頭存儲於LBA 1,接下來才是分區表本身。64位Windows操作系統使用16,384字節(或32扇區)作為GPT分區表,接下來的LBA 34是硬盤上第一個分區的開始。為了減少分區表損壞的風險,GPT在硬盤最后保存了一份分區表的副本。與主啟動記錄 (MBR) 分區方法相比,GPT 具有更多的優點,因為它允許每個磁盤有多達 128 個分區,支持高達18 千兆兆字節的卷大小,允許將主磁盤分區表和備份磁盤分區表用於冗余,還支持唯一的磁盤和分區ID(GUID)。

 

GPT結構

 

GPT的結構見下圖

 

 

傳統MBR (LBA 0)
在GPT分區表的最開頭,處於兼容性考慮仍然存儲了一份傳統的MBR,用來防止不支持GPT的硬盤管理工具錯誤識別並破壞硬盤中的數據,這個MBR也叫做 保護MBR。在支持從GPT啟動的操作系統中,這里也用於存儲第一階段的啟動代碼。在這個MBR中,只有一個標識為0xEE的分區,以此來表示這塊硬盤使 用GPT分區表。不能識別GPT硬盤的操作系統通常會識別出一個未知類型的分區,並且拒絕對硬盤進行操作,除非用戶特別要求刪除這個分區。這就避免了意外 刪除分區的危險。另外,能夠識別GPT分區表的操作系統會檢查保護MBR中的分區表,如果分區類型不是0xEE或者MBR分區表中有多個項,也會拒絕對硬 盤進行操作。
在使用MBR/GPT混合分區表的硬盤中,這部分存儲了GPT分區表的一部分分區(通常是前四個分區),可以使不支持從GPT啟動的操作系統從這個MBR啟動,啟動后只能操作MBR分區表中的分區。如Boot Camp就是使用這種方式啟動Windows。
分區表頭 (LBA 1)
分區表頭定義了硬盤的可用空間以及組成分區表的項的大小和數量。在使用64位Windows Server 2003的機器上,最多可以創建128個分區,即分區表中保留了128個項,其中每個都是128字節。(EFI標准要求分區表最小要有16,384字節, 即128個分區項的大小)
分區表頭還記錄了這塊硬盤的GUID,記錄了分區表頭本身的位置和大小(位置總是在LBA 1)以及備份分區表頭和分區表的位置和大小(在硬盤的最后)。它還儲存着它本身和分區表的CRC32校驗。固件、引導程序和操作系統在啟動時可以根據這個 校驗值來判斷分區表是否出錯,如果出錯了,可以使用軟件從硬盤最后的備份GPT中恢復整個分區表,如果備份GPT也校驗錯誤,硬盤將不可使用。所以GPT 硬盤的分區表不可以直接使用16進制編輯器修改。
分區表頭的格式如下

 

起始字節 長度 內容
0 8字節 簽名("EFI PART", 45 46 49 20 50 41 52 54)
8 4字節 修訂(在1.0版中,值是 00 00 01 00)
12 4字節 分區表頭的大小(單位是字節,通常是92字節,即 5C 00 00 00)
16 4字節 分區表頭(第0-91字節)的CRC32 校驗,在計算時,把這個字段作為0處理,需要計算出分區串行的CRC32校驗后再計算本字段
20 4字節 保留,必須是 0
24 8字節 當前LBA(這個分區表頭的位置)
32 8字節 備份LBA(另一個分區表頭的位置)
40 8字節 第一個可用於分區的LBA(主分區表的最后一個LBA + 1)
48 8字節 最后一個可用於分區的LBA(備份分區表的第一個LBA − 1)
56 16字節 硬盤GUID(在類UNIX 系統中也叫UUID)
72 8字節 分區表項的起始LBA(在主分區表中是2)
80 4字節 分區表項的數量
84 4字節 一個分區表項的大小(通常是128)
88 4字節 分區串行的CRC32校驗
92 * 保留,剩余的字節必須是0(對於512字節LBA的硬盤即是420個字節)

 

主分區表和備份分區表的頭分別位於硬盤的第二個扇區(LBA 1)以及硬盤的最后一個扇區。備份分區表頭中的信息是關於備份分區表的。

 

分區表項 (LBA 2–33)
GPT分區表使用簡單而直接的方式表示分區。一個分區表項的前16字節是分區類型GUID。例如,EFI系統分區的GUID類型是{C12A7328- F81F-11D2-BA4B-00A0C93EC93B}。接下來的16字節是該分區唯一的GUID(這個GUID指的是該分區本身,而之前的GUID 指的是該分區的類型)。再接下來是分區起始和末尾的64位LBA編號,以及分區的名字和屬性。
GPT分區表項的格式如下

 

起始字節 長度 內容
0 16字節 分區類型GUID
16 16字節 分區GUID
32 8字節 起始LBA(小端序
40 8字節 末尾LBA
48 8字節 屬性標簽(如:60 表示“只讀”)
56 72字節 分區名(可以包括36個UTF-16(小端序)字符)

 

parted概述

 

上文介紹了GPT,由於常見的fdisk不支持GPT(在硬盤容量大於2Tb的 時候無法使用fdisk進行分區的管理),故在IA64平台上管理磁盤時parted還是相當實用的,GNU Parted 具有豐富的功能,它除了能夠進行分區的添加、刪除等常見操作外,還可以進行移動分區、創建文件系統、調整文件系統大小、復制文件系統等操作。它可以處理最 常見的分區格式,包括:ext2,ext3,fat16,fat32,NTFS,ReiserFS,JFS,XFS,UFS,HFS,以及Linux交換 分區。
parted 命令格式
parted 有兩種運行模式:命令行模式和交互模式。與 fdisk 的交互模式交互模式不同,在 parted 的交互模式下執行命令,一旦按回車鍵確認,命令就馬上執行,對磁盤的更改就立刻生效。
parted 命令的常用格式是:
1、# parted [選項] <硬盤設備名>
2、# parted [選項] <硬盤設備名> <子命令> [<子命令參數>]
格式(1)用於進入parted 的交互模式,在該模式下輸入parted的子命令對指定的硬盤進行分區等操作。quit 命令用於退出交互模式。
格式(2)直接在命令行方式下對指定的硬盤進行分區等操作。
其中常用的選項為:
-h, ––help — 顯示求助信息
-i, ––interactive — 在必要時提示用戶
-l, ––list — 顯示所有磁盤設備的分區表
-s, ––script — 從不提示用戶
-v, ––version — 顯示版本
無論哪種模式,在parted中都可以使用若干子命令,見下表。

 

命令
說明
help [COMMAND] 打印命令的幫助信息,或指定命令的幫助信息
print  [free|NUMBER|all]     顯示分區表, 指定編號的分區, 或所有設備的分區表
mkpart PART-TYPE [FSTYPE] START END 創建新分區。PART-TYPE 是以下類型之一:primary(主 區)、extended(擴展分區)、logical(邏輯分區)。START 和 END 是新分區開始和結束的具體位置。
rm NUMBER 刪除指定編號 NUMBER 的分區。
set NUMBER FLAG STATE 對指定編號 NUMBER 的分區設置分區標記 FLAG。對於 PC 常用的 msdos 分區表來說,分區標記 FLAG 可有如下值:”boot”(引導), “hidden”(隱藏), “raid”(軟RAID磁盤陣), “lvm”(邏輯卷), “lba” (LBA,Logic Block Addressing模式)。 狀態STATE 的取值是:on 或 off
unit UNIT 設置默認輸出時表示磁盤大小的單位為 UNIT,UNIT 的常用取值可以為:‘MB’、‘GB’、‘%’(占整個磁盤設備的百分之多少)、‘compact’(人類易讀方式,類似於 df 命令中 -h 參數的用)、‘s’(扇區)、‘cyl’ (柱面)、‘chs’ (柱面cylinders:磁頭 heads:扇區 sectors 的地址)
mkfs NUMBER FS-TYPE 對指定編號 NUMBER 的分區創建指定類型 FS-TYPE 的文件系 統。
mkpartfs PART-TYPE FSTYPE START END 創建新分區同時創建文件系統。FS-TYPE 是以下類型一:ext2、fat16、fat32、linuxswap、NTFS、reiserfs、ufs 等
cp [FROM-DEVICE] FROM-NUMBER TONUMBER 將分區 FROM-NUMBER 上的文件系統完整地復制到分區TO-NUMBER 中,作為可選項還可以指定一個來源硬盤的設備名稱FROM-DEVICE,若省略則在當前設備上進行復制。
move NUMBER START END 將指定編號 NUMBER 的分區移動到從 START 開始 END 結束的位置上。注意:(1)只能將分區移動到空閑空間中。(2)雖然分區被移動了,但它的分區編號是不會改變的
resize NUMBER START END 對指定編號 NUMBER 的分區調整大小。分區的開始位置和結束位置由 START 和 END 決定
check NUMBER
檢查指定編號 NUMBER 分區中的文件系統是否有什么錯誤
rescue START END 恢復靠近位置 START 和 END 之間的分區
mklabel,mktable LABELTYPE 創建一個新的 LABEL-TYPE 類型的空磁盤分區表,對於PC而言 msdos 是常用的 LABELTYPE 若是用 GUID 分區表,LABEL-TYPE 應該為 gpt

 

parted使用實例
# parted /dev/sdd
GNU Parted 1.8.1
Using /dev/sdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                           
Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 27.1GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
                                                       
(parted) print             #查看分區信息                                              
Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 27.1GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  Flags
 1      16.4kB  4001MB  4001MB  primary                    
 4      4001MB  4703MB  701MB   extended                   
 5      4001MB  4102MB  101MB   logical                    
 6      4102MB  4203MB  101MB   logical                    
 7      4203MB  4303MB  101MB   logical                    
 8      4303MB  4404MB  101MB   logical                    
 9      4404MB  4416MB  11.5MB  logical                    
10      4416MB  4437MB  21.0MB  logical                    
11      4437MB  4468MB  31.4MB  logical                    
12      4468MB  4509MB  40.9MB  logical   ext3             

(parted) mkpart    
             #創建新的分區                                       
Partition type?  primary/logical? l                                      
File system type?  [ext2]? ext3                                          
Start? 4509MB                                                            
End? -1s        # 表示硬盤最后一個扇區,就是硬盤的最末尾處

Warning: You requested a partition from 4509MB to 27.1GB.                
The closest location we can manage is 4516MB to 4697MB.  Is this still acceptable to you?
Yes/No? y                                                                
(parted) print                                                           
Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 27.1GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  Flags
 1      16.4kB  4001MB  4001MB  primary                    
 4      4001MB  4703MB  701MB   extended                   
 5      4001MB  4102MB  101MB   logical                    
 6      4102MB  4203MB  101MB   logical                    
 7      4203MB  4303MB  101MB   logical                    
 8      4303MB  4404MB  101MB   logical                    
 9      4404MB  4416MB  11.5MB  logical                    
10      4416MB  4437MB  21.0MB  logical                    
11      4437MB  4468MB  31.4MB  logical                    
12      4468MB  4509MB  40.9MB  logical   ext3             
13      4516MB  4697MB  181MB   logical                    

(parted) unit s             
#設置單位為扇區                                        
(parted) print                                                           

Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 52953087s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start     End       Size      Type      File system  Flags
 1      32s       7815167s  7815136s  primary                    
 4      7815168s  9185279s  1370112s  extended                   
 5      7815200s  8011775s  196576s   logical                    
 6      8011808s  8208383s  196576s   logical                    
 7      8208416s  8404991s  196576s   logical                    
 8      8405024s  8601599s  196576s   logical                    
 9      8601632s  8624127s  22496s    logical                    
10      8624160s  8665087s  40928s    logical                    
11      8665120s  8726527s  61408s    logical                    
12      8726560s  8806399s  79840s    logical   ext3             
13      8819748s  9173114s  353367s   logical                    

(parted) rm 13              
#刪除分區13                                                              
(parted) p

Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 52953087s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start     End       Size      Type      File system  Flags
 1      32s       7815167s  7815136s  primary                    
 4      7815168s  9185279s  1370112s  extended                   
 5      7815200s  8011775s  196576s   logical                    
 6      8011808s  8208383s  196576s   logical                    
 7      8208416s  8404991s  196576s   logical                    
 8      8405024s  8601599s  196576s   logical                    
 9      8601632s  8624127s  22496s    logical                    
10      8624160s  8665087s  40928s    logical                    
11      8665120s  8726527s  61408s    logical                    
12      8726560s  8806399s  79840s    logical   ext3             

(parted) set 12 lvm on         
#將分區12的lvm標志打開,這里僅打開標志,並未實際創建lv
(parted) p                                                               

Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 52953087s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start     End       Size      Type      File system  Flags
 1      32s       7815167s  7815136s  primary                    
 4      7815168s  9185279s  1370112s  extended                   
 5      7815200s  8011775s  196576s   logical                    
 6      8011808s  8208383s  196576s   logical                    
 7      8208416s  8404991s  196576s   logical                    
 8      8405024s  8601599s  196576s   logical                    
 9      8601632s  8624127s  22496s    logical                    
10      8624160s  8665087s  40928s    logical                    
11      8665120s  8726527s  61408s    logical                    
12      8726560s  8806399s  79840s    logical   ext3         lvm 

 


(parted) q               
#退出交換模式                                               
Information: Don't forget to update /etc/fstab, if necessary.

 

# parted -l /dev/sda             # 直接在命令模式下顯示sda的分區表

 

 

 

Model: VMware, VMware Virtual S (scsi)

 

 

 

Disk /dev/sda: 8590MB

 

 

 

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

 

 

 

Partition Table: msdos

 

 

 

Number Start End Size Type File system 標志

 

 

 

1 32.3kB 107MB 107MB 主分區 ext3 啟動

 

 

 

2 107MB 8587MB 8480MB 主分區 lvm

 

 

 

Model: VMware, VMware Virtual S (scsi)
 
參考:http://czmmiao.iteye.com/blog/1751408

GPT概述

 

全局唯一標識分區表(GUID Partition Table,縮寫:GPT)是一個實體硬盤的分區結構。它是可擴展固件接口標准的一部分,用來替代BIOS中的主引導記錄分區表。 傳統的主啟動記錄 (MBR) 磁盤分區支持最大卷為 2.2 TB (terabytes) ,每個磁盤最多有 4 個主分區(或 3 個主分區,1 個擴展分區和無限制的邏輯驅動器) 與MBR 分區方法相比,GPT 具有更多的優點,因為它允許每個磁盤有多達 128 個分區,支持高達 18 千兆兆字節 (exabytes,1EB=10^6TB) 的卷大小,允許將主磁盤分區表和備份磁盤分區表用於冗余,還支持唯一的磁盤和分區 ID (GUID)。
與 MBR 分區的磁盤不同,GPT的分區信息是在分區中,而不象MBR一樣在主引導扇區。為保護GPT不受MBR類磁盤管理軟件的危害,GPT在主引導扇區建立了一 個保護分區 (Protective MBR)的MBR分區表,這種分區的類型標識為0xEE,這個保護分區的大小在Windows下為128MB,Mac OS X下為200MB,在Window磁盤管理器里名為GPT保護分區,可讓MBR類磁盤管理軟件把GPT看成一個未知格式的分區,而不是錯誤地當成一個未分 區的磁盤。另外,GPT 分區磁盤有多余的主要及備份分區表來提高分區數據結構的完整性。

 

在MBR硬盤中,分區信息直接存儲於主引導記錄(MBR)中(主引導記錄中還存 儲着系統的引導程序)。但在GPT硬盤中,分區表的位置信息儲存在GPT頭中。但出於兼容性考慮,硬盤的第一個扇區仍然用作MBR,之后才是GPT頭。跟 現代的MBR一樣,GPT也使用邏輯區塊地址(LBA)取代了早期的CHS尋址方式。傳統MBR信息存儲於LBA 0,GPT頭存儲於LBA 1,接下來才是分區表本身。64位Windows操作系統使用16,384字節(或32扇區)作為GPT分區表,接下來的LBA 34是硬盤上第一個分區的開始。為了減少分區表損壞的風險,GPT在硬盤最后保存了一份分區表的副本。與主啟動記錄 (MBR) 分區方法相比,GPT 具有更多的優點,因為它允許每個磁盤有多達 128 個分區,支持高達18 千兆兆字節的卷大小,允許將主磁盤分區表和備份磁盤分區表用於冗余,還支持唯一的磁盤和分區ID(GUID)。

 

GPT結構

 

GPT的結構見下圖

 

 

傳統MBR (LBA 0)
在GPT分區表的最開頭,處於兼容性考慮仍然存儲了一份傳統的MBR,用來防止不支持GPT的硬盤管理工具錯誤識別並破壞硬盤中的數據,這個MBR也叫做 保護MBR。在支持從GPT啟動的操作系統中,這里也用於存儲第一階段的啟動代碼。在這個MBR中,只有一個標識為0xEE的分區,以此來表示這塊硬盤使 用GPT分區表。不能識別GPT硬盤的操作系統通常會識別出一個未知類型的分區,並且拒絕對硬盤進行操作,除非用戶特別要求刪除這個分區。這就避免了意外 刪除分區的危險。另外,能夠識別GPT分區表的操作系統會檢查保護MBR中的分區表,如果分區類型不是0xEE或者MBR分區表中有多個項,也會拒絕對硬 盤進行操作。
在使用MBR/GPT混合分區表的硬盤中,這部分存儲了GPT分區表的一部分分區(通常是前四個分區),可以使不支持從GPT啟動的操作系統從這個MBR啟動,啟動后只能操作MBR分區表中的分區。如Boot Camp就是使用這種方式啟動Windows。
分區表頭 (LBA 1)
分區表頭定義了硬盤的可用空間以及組成分區表的項的大小和數量。在使用64位Windows Server 2003的機器上,最多可以創建128個分區,即分區表中保留了128個項,其中每個都是128字節。(EFI標准要求分區表最小要有16,384字節, 即128個分區項的大小)
分區表頭還記錄了這塊硬盤的GUID,記錄了分區表頭本身的位置和大小(位置總是在LBA 1)以及備份分區表頭和分區表的位置和大小(在硬盤的最后)。它還儲存着它本身和分區表的CRC32校驗。固件、引導程序和操作系統在啟動時可以根據這個 校驗值來判斷分區表是否出錯,如果出錯了,可以使用軟件從硬盤最后的備份GPT中恢復整個分區表,如果備份GPT也校驗錯誤,硬盤將不可使用。所以GPT 硬盤的分區表不可以直接使用16進制編輯器修改。
分區表頭的格式如下

 

起始字節 長度 內容
0 8字節 簽名("EFI PART", 45 46 49 20 50 41 52 54)
8 4字節 修訂(在1.0版中,值是 00 00 01 00)
12 4字節 分區表頭的大小(單位是字節,通常是92字節,即 5C 00 00 00)
16 4字節 分區表頭(第0-91字節)的CRC32 校驗,在計算時,把這個字段作為0處理,需要計算出分區串行的CRC32校驗后再計算本字段
20 4字節 保留,必須是 0
24 8字節 當前LBA(這個分區表頭的位置)
32 8字節 備份LBA(另一個分區表頭的位置)
40 8字節 第一個可用於分區的LBA(主分區表的最后一個LBA + 1)
48 8字節 最后一個可用於分區的LBA(備份分區表的第一個LBA − 1)
56 16字節 硬盤GUID(在類UNIX 系統中也叫UUID)
72 8字節 分區表項的起始LBA(在主分區表中是2)
80 4字節 分區表項的數量
84 4字節 一個分區表項的大小(通常是128)
88 4字節 分區串行的CRC32校驗
92 * 保留,剩余的字節必須是0(對於512字節LBA的硬盤即是420個字節)

 

主分區表和備份分區表的頭分別位於硬盤的第二個扇區(LBA 1)以及硬盤的最后一個扇區。備份分區表頭中的信息是關於備份分區表的。

 

分區表項 (LBA 2–33)
GPT分區表使用簡單而直接的方式表示分區。一個分區表項的前16字節是分區類型GUID。例如,EFI系統分區的GUID類型是{C12A7328- F81F-11D2-BA4B-00A0C93EC93B}。接下來的16字節是該分區唯一的GUID(這個GUID指的是該分區本身,而之前的GUID 指的是該分區的類型)。再接下來是分區起始和末尾的64位LBA編號,以及分區的名字和屬性。
GPT分區表項的格式如下

 

起始字節 長度 內容
0 16字節 分區類型GUID
16 16字節 分區GUID
32 8字節 起始LBA(小端序
40 8字節 末尾LBA
48 8字節 屬性標簽(如:60 表示“只讀”)
56 72字節 分區名(可以包括36個UTF-16(小端序)字符)

 

parted概述

 

上文介紹了GPT,由於常見的fdisk不支持GPT(在硬盤容量大於2Tb的 時候無法使用fdisk進行分區的管理),故在IA64平台上管理磁盤時parted還是相當實用的,GNU Parted 具有豐富的功能,它除了能夠進行分區的添加、刪除等常見操作外,還可以進行移動分區、創建文件系統、調整文件系統大小、復制文件系統等操作。它可以處理最 常見的分區格式,包括:ext2,ext3,fat16,fat32,NTFS,ReiserFS,JFS,XFS,UFS,HFS,以及Linux交換 分區。
parted 命令格式
parted 有兩種運行模式:命令行模式和交互模式。與 fdisk 的交互模式交互模式不同,在 parted 的交互模式下執行命令,一旦按回車鍵確認,命令就馬上執行,對磁盤的更改就立刻生效。
parted 命令的常用格式是:
1、# parted [選項] <硬盤設備名>
2、# parted [選項] <硬盤設備名> <子命令> [<子命令參數>]
格式(1)用於進入parted 的交互模式,在該模式下輸入parted的子命令對指定的硬盤進行分區等操作。quit 命令用於退出交互模式。
格式(2)直接在命令行方式下對指定的硬盤進行分區等操作。
其中常用的選項為:
-h, ––help — 顯示求助信息
-i, ––interactive — 在必要時提示用戶
-l, ––list — 顯示所有磁盤設備的分區表
-s, ––script — 從不提示用戶
-v, ––version — 顯示版本
無論哪種模式,在parted中都可以使用若干子命令,見下表。

 

命令
說明
help [COMMAND] 打印命令的幫助信息,或指定命令的幫助信息
print  [free|NUMBER|all]     顯示分區表, 指定編號的分區, 或所有設備的分區表
mkpart PART-TYPE [FSTYPE] START END 創建新分區。PART-TYPE 是以下類型之一:primary(主 區)、extended(擴展分區)、logical(邏輯分區)。START 和 END 是新分區開始和結束的具體位置。
rm NUMBER 刪除指定編號 NUMBER 的分區。
set NUMBER FLAG STATE 對指定編號 NUMBER 的分區設置分區標記 FLAG。對於 PC 常用的 msdos 分區表來說,分區標記 FLAG 可有如下值:”boot”(引導), “hidden”(隱藏), “raid”(軟RAID磁盤陣), “lvm”(邏輯卷), “lba” (LBA,Logic Block Addressing模式)。 狀態STATE 的取值是:on 或 off
unit UNIT 設置默認輸出時表示磁盤大小的單位為 UNIT,UNIT 的常用取值可以為:‘MB’、‘GB’、‘%’(占整個磁盤設備的百分之多少)、‘compact’(人類易讀方式,類似於 df 命令中 -h 參數的用)、‘s’(扇區)、‘cyl’ (柱面)、‘chs’ (柱面cylinders:磁頭 heads:扇區 sectors 的地址)
mkfs NUMBER FS-TYPE 對指定編號 NUMBER 的分區創建指定類型 FS-TYPE 的文件系 統。
mkpartfs PART-TYPE FSTYPE START END 創建新分區同時創建文件系統。FS-TYPE 是以下類型一:ext2、fat16、fat32、linuxswap、NTFS、reiserfs、ufs 等
cp [FROM-DEVICE] FROM-NUMBER TONUMBER 將分區 FROM-NUMBER 上的文件系統完整地復制到分區TO-NUMBER 中,作為可選項還可以指定一個來源硬盤的設備名稱FROM-DEVICE,若省略則在當前設備上進行復制。
move NUMBER START END 將指定編號 NUMBER 的分區移動到從 START 開始 END 結束的位置上。注意:(1)只能將分區移動到空閑空間中。(2)雖然分區被移動了,但它的分區編號是不會改變的
resize NUMBER START END 對指定編號 NUMBER 的分區調整大小。分區的開始位置和結束位置由 START 和 END 決定
check NUMBER
檢查指定編號 NUMBER 分區中的文件系統是否有什么錯誤
rescue START END 恢復靠近位置 START 和 END 之間的分區
mklabel,mktable LABELTYPE 創建一個新的 LABEL-TYPE 類型的空磁盤分區表,對於PC而言 msdos 是常用的 LABELTYPE 若是用 GUID 分區表,LABEL-TYPE 應該為 gpt

 

parted使用實例
# parted /dev/sdd
GNU Parted 1.8.1
Using /dev/sdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                           
Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 27.1GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
                                                       
(parted) print             #查看分區信息                                              
Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 27.1GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  Flags
 1      16.4kB  4001MB  4001MB  primary                    
 4      4001MB  4703MB  701MB   extended                   
 5      4001MB  4102MB  101MB   logical                    
 6      4102MB  4203MB  101MB   logical                    
 7      4203MB  4303MB  101MB   logical                    
 8      4303MB  4404MB  101MB   logical                    
 9      4404MB  4416MB  11.5MB  logical                    
10      4416MB  4437MB  21.0MB  logical                    
11      4437MB  4468MB  31.4MB  logical                    
12      4468MB  4509MB  40.9MB  logical   ext3             

(parted) mkpart    
             #創建新的分區                                       
Partition type?  primary/logical? l                                      
File system type?  [ext2]? ext3                                          
Start? 4509MB                                                            
End? -1s        # 表示硬盤最后一個扇區,就是硬盤的最末尾處

Warning: You requested a partition from 4509MB to 27.1GB.                
The closest location we can manage is 4516MB to 4697MB.  Is this still acceptable to you?
Yes/No? y                                                                
(parted) print                                                           
Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 27.1GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  Flags
 1      16.4kB  4001MB  4001MB  primary                    
 4      4001MB  4703MB  701MB   extended                   
 5      4001MB  4102MB  101MB   logical                    
 6      4102MB  4203MB  101MB   logical                    
 7      4203MB  4303MB  101MB   logical                    
 8      4303MB  4404MB  101MB   logical                    
 9      4404MB  4416MB  11.5MB  logical                    
10      4416MB  4437MB  21.0MB  logical                    
11      4437MB  4468MB  31.4MB  logical                    
12      4468MB  4509MB  40.9MB  logical   ext3             
13      4516MB  4697MB  181MB   logical                    

(parted) unit s             
#設置單位為扇區                                        
(parted) print                                                           

Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 52953087s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start     End       Size      Type      File system  Flags
 1      32s       7815167s  7815136s  primary                    
 4      7815168s  9185279s  1370112s  extended                   
 5      7815200s  8011775s  196576s   logical                    
 6      8011808s  8208383s  196576s   logical                    
 7      8208416s  8404991s  196576s   logical                    
 8      8405024s  8601599s  196576s   logical                    
 9      8601632s  8624127s  22496s    logical                    
10      8624160s  8665087s  40928s    logical                    
11      8665120s  8726527s  61408s    logical                    
12      8726560s  8806399s  79840s    logical   ext3             
13      8819748s  9173114s  353367s   logical                    

(parted) rm 13              
#刪除分區13                                                              
(parted) p

Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 52953087s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start     End       Size      Type      File system  Flags
 1      32s       7815167s  7815136s  primary                    
 4      7815168s  9185279s  1370112s  extended                   
 5      7815200s  8011775s  196576s   logical                    
 6      8011808s  8208383s  196576s   logical                    
 7      8208416s  8404991s  196576s   logical                    
 8      8405024s  8601599s  196576s   logical                    
 9      8601632s  8624127s  22496s    logical                    
10      8624160s  8665087s  40928s    logical                    
11      8665120s  8726527s  61408s    logical                    
12      8726560s  8806399s  79840s    logical   ext3             

(parted) set 12 lvm on         
#將分區12的lvm標志打開,這里僅打開標志,並未實際創建lv
(parted) p                                                               

Model: OPNFILER VIRTUAL-DISK (scsi)
Disk /dev/sdd: 52953087s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start     End       Size      Type      File system  Flags
 1      32s       7815167s  7815136s  primary                    
 4      7815168s  9185279s  1370112s  extended                   
 5      7815200s  8011775s  196576s   logical                    
 6      8011808s  8208383s  196576s   logical                    
 7      8208416s  8404991s  196576s   logical                    
 8      8405024s  8601599s  196576s   logical                    
 9      8601632s  8624127s  22496s    logical                    
10      8624160s  8665087s  40928s    logical                    
11      8665120s  8726527s  61408s    logical                    
12      8726560s  8806399s  79840s    logical   ext3         lvm 

 


(parted) q               
#退出交換模式                                               
Information: Don't forget to update /etc/fstab, if necessary.

 

# parted -l /dev/sda             # 直接在命令模式下顯示sda的分區表

 

 

 

Model: VMware, VMware Virtual S (scsi)

 

 

 

Disk /dev/sda: 8590MB

 

 

 

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

 

 

 

Partition Table: msdos

 

 

 

Number Start End Size Type File system 標志

 

 

 

1 32.3kB 107MB 107MB 主分區 ext3 啟動

 

 

 

2 107MB 8587MB 8480MB 主分區 lvm

 

 

 

Model: VMware, VMware Virtual S (scsi)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM