身為 Linux 使用者,尤其是跑 Ubuntu 系統的朋友,最常遇到的煩惱之一就是「磁碟空間分配不均」。或許是因為新裝系統時沒分配夠空間、或是之前分太多個小小的 Partition(分割區)導致現在沒地方放檔案,甚至是虛擬機 (VirtualBox) 的硬碟容量卡在預設值。

很多人會因為看到「磁碟空間不足」的警告,就去 Google 搜尋各種關鍵字。而在我們這些實務派的眼中,無論你是想調整 Linux 開發環境、擴充 Virtual用來測試的虛擬機器,或者是要把原本分給其他用途但現在沒在用的分割區刪除掉,核心問題其實都在同一個動作:正確地重新規劃磁區大小。

這篇文章會跳過那些無關痛癢的雜訊,直接帶你進入 Ubuntu 實務操作層面,解決這些硬碟管理上的卡關問題。

為什麼調整磁區時最怕「到一半當機」?

Ubuntu 使用者必看:如何安全調整磁區大小、擴張虛擬機空間或刪除多餘分割區 操作畫面 1

在動到 Partition 的時候,最重要的原則是:千萬不要在掛載中 (Mounted) 的分割區上直接進行縮減或移動操作。

這是很多新手最容易踩到的坑。如果你正進入系統運行中,就試圖修改當前正在運行的根目錄(/),極高機率會導致檔案系統損毀。因此,針對這些硬用的調整,我們通常推薦使用 Live USB 模式或者是專門的工具來處理。這能確保在移動數據區塊時,磁碟本身處於「靜止」狀態。

第一階段:利用 GParted 圖形化介面快速解決大部分問題

Ubuntu 使用者必看:如何安全調整磁區大小、擴張虛擬機空間或刪除多餘分割區 操作畫面 2

如果你不喜歡敲指令,或是想直觀地看到磁碟結構(例如:要把 A 區的空位挪到 B 区),限時免費 Macrorit Partition Extender Pro 等專業工具雖然提供快速解決方案,但對於 Linux 環境,我們最常使用的穩定工具是 GParted

如何使用 GParted 進行操作:

  1. 製作啟動 USB:準備一個包含 Ubuntu Live 環境的 USB 隨身碟(或者是專門的 GParted Live ISO)。
  2. 進入 Live 環境:從 USB 開機後,選擇「Try Ubuntu」,這時候你的系統核心並不在運行中,操作起來非常安全。
  3. 啟動 GParted 工具:在選單中搜尋並開啟 GParted。
  4. 刪除無效分割區:如果你發現有幾個重複的、或是過時的 Partition(例如以前裝其他軟體留下的殘餘空間),直接對著它們點右鍵選擇「Delete」,這會釋放出連續的未分配空間(Unallocated Space)。
  5. 調整大小 (Resize/Move):如果你是因為 VirtualBox 的虛擬機容量不足,或是想讓 /home 變大。在 GParted 中選取目標分割區,點擊「Resize/Move」,拖動滑鼠調整邊界。
  6. 套用更改:GParted 不會即時生效,最後一定要按下那個「打勾」的圖示(Apply All Operations)才會真正執行指令。

第二階段:針對 VirtualBox 虛擬機擴充空間

Ubuntu 使用者必看:如何安全調整磁區大小、擴張虛擬機空間或刪除多餘分割區 操作畫面 3

這是一個非常經典的場景:你建立了一個 Ubuntu 虛擬機器來開發專案,結果幾個月後發現磁碟快滿了。很多人會誤以為只要在 VirtualBox 設定裡改數字就行,但實際上只是「宣告」空間變大,Ubuntu 系統內部的 Partition 並不會自動跟著變大。

正確的擴充步驟:

  1. 修改虛擬機器設定:在主機端的 VirtualBox 選單中,將該 VM 的控制器磁碟大小調大(例如從 40GB 調到 80GB)。
  2. 進入 Guest OS (Ubuntu):啟動你那台裝好系統的虛擬機器。
  3. 執行擴充指令:這時候如果你是用 GParted,一樣可以照上述流程操作。但如果你想在系統內直接搞定,可以使用 growpartresize2fs 工具。

如果你在這些步驟中遇到 partition 結構複雜、或是自動工具無法辨識的情況,建議還是用 GPartition 的圖形介面處理最直覺且不容易出錯。
\n## 第三階段:進階手動指令,當你不想重開機或使用 GUI 時

有時候我們在伺服器環境或極致追求效率時,會選擇直接下指令。這通常用於擴充那個「剛剛剛好變大」的空間。

步驟說明:

  1. 確認磁碟名稱:輸入 lsblk。你會看到類似 sda1, sda2nvme0n1p1 的結構圖。你要搞清楚哪一個是你要擴大的那個塊。
  2. 使用 growpart 擴充物理分區

假設你的磁碟是 /dev/sda,目標分割區是第 3 個(sda3):
sudo growpart /dev/sda 3
這會把該 partition 的邊界延伸到可用空間的盡頭。

  1. 擴充檔案系統 (Filesystem)

雖然分區變大了,但內部的「房子」還沒變大。你需要對它做一次 resize:
若是 ext4 格式:sudo resize2fs /dev/sda3
若是 XFS 格式:sudo xfs_growfs /(注意如果是根目錄的話)

重要提醒:在執行任何指令前,請務必確認你的掛載點。建議操作前先備份重要資料到雲端或外接硬碟。

常見問題與陷阱檢查清單

在進行這些作業時,為了避免「變磚」或進入 Recovery Mode 才能修復,請注意以下細節:

  • 鄰近分割區的阻礙:如果你想擴充 A 分割區,但 B 分割區正好在 A 的右邊。這種情況下,你必須先移動 B 的起始位置,或者使用 GParted 這樣的工具來自動處理「搬移」過程。單純用指令操作時極易失敗。
  • LVM (Logical Volume Management):如果你安裝 Ubuntu 時選擇了 LVM 模式,上述的 growpartresize2fs 流程會略有不同(需要用到 pvresizelvresize)。建議先用 lsblk 確認你的分區是不是在 LVM 底下。如果是 LVM,擴充起來其實比一般 Partition 更靈活一點。
  • Swap 分割區的影響:有些時候你會發現明明有空間可以給 /home,但因為中間夾了一個 Swap 分割區擋在那裡。這種情況建議直接使用 GParted,它能聰明地處理這些障礙。

總結:你的選擇關鍵在於「環境」

如果你是為了日常使用的家用電腦、或是想讓虛擬機寬敞一點,我最推薦的方法就是 GParted。透過圖形化介面,你能清楚看到每一個區塊的移動與縮放,這能大幅降低因為手誤打錯參數而導致系統無法開機的風險。

處理完畢後,別忘了跑一次 df -h 來確認你的空間是不是真的已經「變大」了。只要掌握好「先備份、再關閉掛載、最後調整尺寸」這個基本邏輯,不管是擴充虛騙或是整理擁擠的 Ubuntu 磁區,都能輕鬆搞定。