Linux 中的 Parted 是一個用來管理磁碟分割區的工具,舉凡磁碟分割區的新增、刪除、大小變更等動作都可以用這個工具來處理。
傳統上 Linux 系統中若要管理磁碟分割區,最常使用的工具就是 fdisk
,而這個工具只適用於容量較小的硬碟,容量太大的硬碟就無法使用 fdisk
來處理,以下是 fdisk
線上手冊(man page)中的一段說明。
fdisk does not understand GUID partition tables (GPTs) and it is not designed for large partitions. In these cases, use the more advanced GNU parted(8).
fdisk
所能處理的磁碟容量上限是 2TB,若磁碟的容量大於 2TB 就無法使用 fdisk
,這時候就要改用支援 GPT 的 格式的 Parted,以現在最新的硬碟來說,容量通常都是在 2TB 以上,所以學習使用 Parted 來管理磁碟分割區是很重要的。
parted
的執行效果會立即生效,所有磁碟分割區的變更都會馬上寫入硬碟中,如果您沒有使用過 parted
的經驗,建議可以找一台沒有用的舊電腦來練習,或是使用虛擬機器(如 VirtualBox),以免不小心造成硬碟的資料損毀。以下我們會介紹 Parted 的使用方式,並且提供許多 parted
指令的範例供大家參考。
在 Debian 系列的 Linux 中(如 Ubuntu、Linux Mint 等),可以使用 apt 安裝 Parted:
sudo apt-get install parted
在 RHEL、CentOS 或 Fedora 中,則使用 yum 安裝:
sudo yum install parted
在 Fedora 22 以上的版本則使用 dnf 安裝:
dnf install parted
安裝好 Parted 之後,就可以繼續以下的操作。
使用 root 管理者權限執行 parted
:
sudo parted
這樣就會進入到 Parted 的操作環境中,這時候終端機上會顯示 parted
的版本資訊,並且出現 (parted)
的提示字元,類似這樣:
GNU Parted 2.3 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
在 Parted 的操作環境中執行 help
指令可以顯示簡單的指令列表與操作說明:
(parted) help
如果要離開 Parted 操作環境,可以執行 quit
:
(parted) quit
在 Parted 的操作環境中,執行 print
指令可以列出目前磁碟的分割區資訊:
(parted) print
輸出會類似這樣:
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 8590MB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 1049kB 6442MB 6441MB primary ext4 boot 2 6443MB 8589MB 2145MB extended 5 6443MB 8589MB 2145MB logical linux-swap(v1)
上面這個輸出是我在 VirtualBox 的虛擬機器中所測試的結果,如果在實際的實體機器上面的話,print
的輸出還會包含硬碟的型號資訊,以下是一個實體硬碟的輸出範例:
Model: ATA TOSHIBA MQ01ACF0 (scsi) Disk /dev/sda: 500GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 420MB 419MB ntfs Basic data partition hidden, diag 2 420MB 735MB 315MB fat32 EFI system partition boot 3 735MB 869MB 134MB Microsoft reserved partition msftres 4 869MB 216GB 215GB ntfs Basic data partition msftdata 8 216GB 316GB 100GB ext4 5 316GB 468GB 152GB fat32 msftdata 6 468GB 470GB 1979MB linux-swap(v1) 7 470GB 500GB 30.5GB ntfs Basic data partition hidden, diag