如何在Linux中使用parted對磁盤分區(qū)
學(xué)習(xí)如何在 Linux 中使用 parted 命令來對存儲設(shè)備分區(qū)。
在 Linux 中創(chuàng)建和刪除分區(qū)是一種常見的操作,因為存儲設(shè)備(如硬盤驅(qū)動器和 USB 驅(qū)動器)在使用之前必須以某種方式進(jìn)行結(jié)構(gòu)化。在大多數(shù)情況下,大型存儲設(shè)備被分為稱為分區(qū)的獨立部分。分區(qū)操作允許您將硬盤分割成獨立的部分,每個部分都像是一個硬盤驅(qū)動器一樣。如果您運行多個操作系統(tǒng),那么分區(qū)是非常有用的。
在 Linux 中有許多強大的工具可以創(chuàng)建、刪除和操作磁盤分區(qū)。在本文中,我將解釋如何使用 parted
命令,這對于大型磁盤設(shè)備和許多磁盤分區(qū)尤其有用。parted
與更常見的 fdisk
和 cfdisk
命令之間的區(qū)別包括:
- GPT 格式:
parted
命令可以創(chuàng)建全局惟一的標(biāo)識符分區(qū)表 GPT,而fdisk
和cfdisk
則僅限于 DOS 分區(qū)表。 - 更大的磁盤: DOS 分區(qū)表可以格式化最多 2TB 的磁盤空間,盡管在某些情況下最多可以達(dá)到 16TB。然而,一個 GPT 分區(qū)表可以處理最多 8ZiB 的空間。
- 更多的分區(qū): 使用主分區(qū)和擴(kuò)展分區(qū),DOS 分區(qū)表只允許 16 個分區(qū)。在 GPT 中,默認(rèn)情況下您可以得到 128 個分區(qū),并且可以選擇更多的分區(qū)。
- 可靠性: 在 DOS 分區(qū)表中,只保存了一份分區(qū)表備份,在 GPT 中保留了兩份分區(qū)表的備份(在磁盤的起始和結(jié)束部分),同時 GPT 還使用了 CRC 校驗和來檢查分區(qū)表的完整性,在 DOS 分區(qū)中并沒有實現(xiàn)。
由于現(xiàn)在的磁盤更大,需要更靈活地使用它們,建議使用 parted
來處理磁盤分區(qū)。大多數(shù)時候,磁盤分區(qū)表是作為操作系統(tǒng)安裝過程的一部分創(chuàng)建的。在向現(xiàn)有系統(tǒng)添加存儲設(shè)備時,直接使用 parted
命令非常有用。
嘗試一下 parted
下面解釋了使用 parted
命令對存儲設(shè)備進(jìn)行分區(qū)的過程。為了嘗試這些步驟,我強烈建議使用一塊全新的存儲設(shè)備或一種您不介意將其內(nèi)容刪除的設(shè)備。
1、列出分區(qū)
使用 parted -l
來標(biāo)識你要進(jìn)行分區(qū)的設(shè)備。一般來說,***個硬盤 (/dev/sda
或 /dev/vda
)保存著操作系統(tǒng), 因此要尋找另一個磁盤,以找到你想要分區(qū)的磁盤 (例如,/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、打開存儲設(shè)備
使用 parted
選中您要分區(qū)的設(shè)備。在這里例子中,是虛擬系統(tǒng)上的第三個磁盤(/dev/vdc
)。指明你要使用哪一個設(shè)備非常重要。 如果你僅僅輸入了 parted
命令而沒有指定設(shè)備名字, 它會隨機(jī)選擇一個設(shè)備進(jìn)行操作。
$ 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、 設(shè)定分區(qū)表
設(shè)置分區(qū)表為 GPT ,然后輸入 Yes
開始執(zhí)行。
(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
命令用于相同的目的(在存儲設(shè)備上創(chuàng)建分區(qū)表)。支持的分區(qū)表有:aix、amiga、bsd、dvh、gpt、mac、ms-dos、pc98、sun 和 loop。記住 mklabel
不會創(chuàng)建一個分區(qū),而是創(chuàng)建一個分區(qū)表。
4、 檢查分區(qū)表
查看存儲設(shè)備信息:
(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、 獲取幫助
為了知道如何去創(chuàng)建一個新分區(qū),輸入: (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、 創(chuàng)建分區(qū)
為了創(chuàng)建一個新分區(qū)(在這個例子中,分區(qū) 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
文件系統(tǒng)類型(fstype
)并不是在 /dev/vdc1
上創(chuàng)建 ext4 文件系統(tǒng)。 DOS 分區(qū)表的分區(qū)類型是主分區(qū)、邏輯分區(qū)和擴(kuò)展分區(qū)。 在 GPT 分區(qū)表中,分區(qū)類型用作分區(qū)名稱。 在 GPT 下必須提供分區(qū)名稱;在上例中,primary
是分區(qū)名稱,而不是分區(qū)類型。
7、 保存退出
當(dāng)你退出 parted
時,修改會自動保存。退出請輸入如下命令:
(parted) quit
Information: You may need to update /etc/fstab.
$
謹(jǐn)記
當(dāng)您添加新的存儲設(shè)備時,請確保在開始更改其分區(qū)表之前確定正確的磁盤。如果您錯誤地更改了包含計算機(jī)操作系統(tǒng)的磁盤分區(qū),會使您的系統(tǒng)無法啟動。