Linux 的 Parted 指令教學:建立、變更與修復磁碟分割區

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 指令的範例供大家參考。

安裝 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 之後,就可以繼續以下的操作。

基本 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

列出 Linux 磁碟分割區

在 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
Linux

4 留言

  1. yeh

    版大您好!
    看到您寫的網誌教人如何格式化新硬碟, 但我卻碰到問題, 因此冒昧寫信請教您
    想要請教一下, 我有一顆4TB硬碟想要重新格式化, 但是
    我使用parted 卻看不到新裝置, 只有/dev/sda (原本系統的),
    使用fdisk -l 可以看到新裝的裝置在/dev/sdg
    但是我格式化大於 2TB的新硬碟
    所以想請教, 遇到這種狀況應該怎麼處理?
    感謝萬分

  2. meow

    寫文章辛苦了

    提醒一下第二段「最常使用的工具就是 Parted,而這個工具只適用於容量較小的硬碟,容量太大的硬碟就無法使用 fdisk 來處理」,對照前後文應該是fdisk而不是parted哦

    • G. T. Wang

      感謝提醒,已修正。

  3. sihai

    請問!!低於2TB如果是500G硬碟會不會使用GTP會有問題啊?

    小弟家裡很多500G~1TB硬碟…想說沒有到達2TB直接使用GTP會不會產生什麼問題呢?

    小弟困惑中….

Comments are Closed