Parted 創建 GPT 分區


對於磁盤的分區表 MBR與GPT區別。
MBR:MBR分區表(即主引導記錄)大家都很熟悉,是過去我們使用windows時常用的。
所支持的最大卷:2T,而且對分區有限制:最多4個主分區或3個主分區加一個擴展分區

GPT: GPT(即GUID分區表)。是源自EFI標准的一種較新的磁盤分區表結構的標准,是未來磁盤分區的主要形式。與MBR分區方式相比,具有如下優點。

突破MBR 4個主分區限制,每個磁盤最多支持128個分區。支持大於2T的分區,最大卷可達18EB。

對於 GPT 的分區,建議使用 parted 工具進行分區,fdisk 在 GPT 這塊不是很好。

Parted 介紹

Parted 命令分為兩種模式:命令行模式和交互模式。

命令行模式

parted [option] device [command] ,該模式可以直接在命令行下對磁盤進行分區操作,比較適合編程應用。如:

顯示磁盤/dev/sdb分區。

parted /dev/sdb print 

交互模式

parted [option] device 進入交互模式。尤其是對 parted 命令不是很熟悉的情況下建議使用交互模式。

parted /dev/sdb 

parted命令常用選項

進入 交互模式下, 輸入 help 可以看到如下提示,本文基於 Parted 3.2 進行說明。

test@test01:~$ sudo parted /dev/sdb
GNU Parted 3.2
使用 /dev/sdb
歡迎使用 GNU Parted! 輸入 'help'可獲得命令列表.
(parted) help
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart 分區類型 [文件系統類型] 起始點 終止點      創建一個分區
  name NUMBER 名稱               將編號為NUMBER 的分區命名為“名稱”
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space,
        all found partitions, or a particular partition
  quit                          退出程序
  rescue 起始點 終止點  挽救臨近“起始點”、“終止點”的遺失的分區
  resizepart NUMBER END                    resize partition NUMBER
  rm MINOR                      刪除編號為 MINOR 的分區
  選擇設備  選擇要編輯的設備
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   切換分區 NUMBER 的 FLAG 標記
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU
        Parted
(parted)

比較常用的幾個選項是

  • help 打印幫助信息
  • print 輸出分區信息
  • mklabel 創建分區表, 即是使用msdos(MBR)還是使用gpt,或者是其他方式分區表
  • mkpart 創建新分區
    格式:mkpart PART-TYPE START END
    PART-TYPE類型主要有primary(主分區), extended(擴展分區), logical(邏輯區). 擴展分區和邏輯分區只對msdos。
  • rm 刪除一個分區
  • resizepart 調整指定的分區的大小
  • quit 退出該交互界面

對磁盤進行分區

首先對於容量較大的磁盤使用 fdisk 工具會得到如下提示:

test@test01:~$ sudo fdisk /dev/sdb

歡迎使用 fdisk (util-linux 2.31.1)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。

設備不包含可識別的分區表。
The size of this disk is 3.7 TiB (4000787030016 bytes). DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT).

創建了一個磁盤標識符為 0x9f682389 的新 DOS 磁盤標簽。

命令(輸入 m 獲取幫助):

這個時候我們就需要更新 parted 來對磁盤進行分區。

更改分區表

操作如下:

(parted) mklabel gpt
(parted) print
Model: ATA ST4000DM004-2CV1 (scsi)
磁盤 /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
分區表:gpt
Disk Flags:

數字  開始:  End  大小  文件系統  Name  標志

(parted)

創建分區

使用 mkpart 創建自己需要的大小的分區

(parted) mkpart primary 0 4TB
(parted) p
Model: ATA ST4000DM004-2CV1 (scsi)
磁盤 /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
分區表:gpt
Disk Flags:

數字  開始:  End     大小    文件系統  Name     標志
 1    1049kB  4001GB  4001GB            primary

(parted)

創建好以后退出。

parted 的每一個操作都是即時生效,和 fdisk 不同,fdisk 只有在最后使用 w 進行保存以后才會生效 。

格式化分區

格式化成你需要的文件系統。

mkfs.ext4 /dev/sdb1

整個分區創建過程就結束了。

對齊分區以得到最優性能

當分區不對齊時,parted 會提示如下

警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放棄/Cancel?

對於這個提示,只要分區對齊就好。如果你的設計,就是要不對齊,那么可以忽略這個提示。

對齊分區有兩個方法,

方法一,使用百分比來表示要分區的的空間大小,那么到100%的時候自然是對齊的。示例如下:

(parted) mkpart primary 0% 100%
(parted) p
Model: ATA ST4000DM004-2CV1 (scsi)
磁盤 /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
分區表:gpt
Disk Flags:

數字  開始:  End     大小    文件系統  Name     標志
 1    1049kB  4001GB  4001GB            primary

(parted)

方法二,如果是使用容量來進行空間大小的話,那么 -1 這個值代表的是最后的位置。示例如下:

(parted) mkpart primary 0TB -1
(parted) p
Model: ATA ST4000DM004-2CV1 (scsi)
磁盤 /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
分區表:gpt
Disk Flags:

數字  開始:  End     大小    文件系統  Name     標志
 1    1049kB  4001GB  4001GB            primary

(parted)

方法三,手動進行計算。

下邊這篇博客的作者描述了如何計算磁盤的扇區來保證分區對齊。

https://rainbow.chard.org/2013/01/30/how-to-align-partitions-for-best-performance-using-parted/


免責聲明!

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



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