天天看點

Parted 建立 GPT 分區Parted 介紹parted指令常用選項對磁盤進行分區對齊分區以得到最優性能

對于磁盤的分區表 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/

歡迎通路網站

https://erdong.site

來擷取更多内容。

繼續閱讀