如何在 Linux 中使用 parted 對磁碟分區
在 Linux 中創建和刪除分區是一種常見的操作,因為存儲設備(如硬碟驅動器和 USB 驅動器)在使用之前必須以某種方式進行結構化。在大多數情況下,大型存儲設備被分為稱為 分區 的獨立部分。分區操作允許您將硬碟分割成獨立的部分,每個部分都像是一個硬碟驅動器一樣。如果您運行多個操作系統,那麼分區是非常有用的。
在 Linux 中有許多強大的工具可以創建、刪除和操作磁碟分區。在本文中,我將解釋如何使用 parted
命令,這對於大型磁碟設備和許多磁碟分區尤其有用。parted
與更常見的 fdisk
和 cfdisk
命令之間的區別包括:
- GPT 格式:
parted
命令可以創建全局惟一的標識符分區表 GPT,而fdisk
和cfdisk
則僅限於 DOS 分區表。 - 更大的磁碟: DOS 分區表可以格式化最多 2TB 的磁碟空間,儘管在某些情況下最多可以達到 16TB。然而,一個 GPT 分區表可以處理最多 8ZiB 的空間。
- 更多的分區: 使用主分區和擴展分區,DOS 分區表只允許 16 個分區。在 GPT 中,默認情況下您可以得到 128 個分區,並且可以選擇更多的分區。
- 可靠性: 在 DOS 分區表中,只保存了一份分區表備份,在 GPT 中保留了兩份分區表的備份(在磁碟的起始和結束部分),同時 GPT 還使用了 CRC 校驗和來檢查分區表的完整性,在 DOS 分區中並沒有實現。
由於現在的磁碟更大,需要更靈活地使用它們,建議使用 parted
來處理磁碟分區。大多數時候,磁碟分區表是作為操作系統安裝過程的一部分創建的。在向現有系統添加存儲設備時,直接使用 parted
命令非常有用。
嘗試一下 parted
下面解釋了使用 parted
命令對存儲設備進行分區的過程。為了嘗試這些步驟,我強烈建議使用一塊全新的存儲設備或一種您不介意將其內容刪除的設備。
1、列出分區
使用 parted -l
來標識你要進行分區的設備。一般來說,第一個硬碟 (/dev/sda
或 /dev/vda
)保存著操作系統, 因此要尋找另一個磁碟,以找到你想要分區的磁碟 (例如,/dev/sdb
、/dev/sdc
、 /dev/vdb
、/dev/vdc
等)。
$ sudo parted -l
[sudo] password for daniel:
Model: ATA RevuAhn_850X1TU5 (scsi)
Disk /dev/vdc: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary ext4 boot
2 525MB 512GB 512GB primary lvm
2、打開存儲設備
使用 parted
選中您要分區的設備。在這裡例子中,是虛擬系統上的第三個磁碟(/dev/vdc
)。指明你要使用哪一個設備非常重要。 如果你僅僅輸入了 parted
命令而沒有指定設備名字, 它會隨機選擇一個設備進行操作。
$ sudo parted /dev/vdc
GNU Parted 3.2
Using /dev/vdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
3、 設定分區表
設置分區表為 GPT ,然後輸入 Yes
開始執行。
(parted) mklabel gpt
Warning: the existing disk label on /dev/vdc will be destroyed
and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes
mklabel
和 mktable
命令用於相同的目的(在存儲設備上創建分區表)。支持的分區表有:aix、amiga、bsd、dvh、gpt、mac、ms-dos、pc98、sun 和 loop。記住 mklabel
不會創建一個分區,而是創建一個分區表。
4、 檢查分區表
查看存儲設備信息:
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 1396MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
5、 獲取幫助
為了知道如何去創建一個新分區,輸入: (parted) help mkpart
。
(parted) help mkpart
mkpart PART-TYPE [FS-TYPE] START END make a partition
PART-TYPE is one of: primary, logical, extended
FS-TYPE is one of: btrfs, nilfs2, ext4, ext3, ext2, fat32, fat16, hfsx, hfs+, hfs, jfs, swsusp,
linux-swap(v1), linux-swap(v0), ntfs, reiserfs, hp-ufs, sun-ufs, xfs, apfs2, apfs1, asfs, amufs5,
amufs4, amufs3, amufs2, amufs1, amufs0, amufs, affs7, affs6, affs5, affs4, affs3, affs2, affs1,
affs0, linux-swap, linux-swap(new), linux-swap(old)
START and END are disk locations, such as 4GB or 10%. Negative values count from the end of the
disk. For example, -1s specifies exactly the last sector.
'mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be
specified to set an appropriate partition ID.
6、 創建分區
為了創建一個新分區(在這個例子中,分區 0 有 1396MB),輸入下面的命令:
(parted) mkpart primary 0 1396MB
Warning: The resulting partition is not properly aligned for best performance
Ignore/Cancel? I
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 1396MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 1396MB 1396MB primary
文件系統類型(fstype
)並不是在 /dev/vdc1
上創建 ext4 文件系統。 DOS 分區表的分區類型是 主分區 、 邏輯分區 和 擴展分區 。 在 GPT 分區表中,分區類型用作分區名稱。 在 GPT 下必須提供分區名稱;在上例中,primary
是分區名稱,而不是分區類型。
7、 保存退出
當你退出 parted
時,修改會自動保存。退出請輸入如下命令:
(parted) quit
Information: You may need to update /etc/fstab.
$
謹記
當您添加新的存儲設備時,請確保在開始更改其分區表之前確定正確的磁碟。如果您錯誤地更改了包含計算機操作系統的磁碟分區,會使您的系統無法啟動。
via: https://opensource.com/article/18/6/how-partition-disk-linux
作者:Daniel Oh 選題:lujun9972 譯者:amwps290 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive