Linux

如何使用 UEFI 調整根分區的大小

  • February 17, 2022

昨天,Debian 中彈出一條消息,說我在 /opt 下複製了一個新軟體後,我的根分區已滿(0 MB 可用)。所以我將文件夾移回另一個分區以暫時解決問題。

我使用 Debian 安裝 USB 從 /dev/nvme0n1p9 釋放了一些空間,現在嘗試使用釋放的空間擴展根分區。

磁碟分區

我的 HP 筆記型電腦的 bios 沒有“傳統”引導選項,所以我不能使用可引導的 GParted USB 記憶棒來增加根分區的大小。

我搜尋了一下,似乎擴展根分區很棘手。

我想確認幾件事:

  • 擴展根分區是否意味著將位於該分區之後的分區推到磁碟上,或者我可以使用磁碟末尾的未分配空間並將根分區分成兩部分?
  • 我可以移動這些分區而不會產生任何後果嗎?
  • 就我而言,如果可能的話,您將如何解決?
  • 如果不是,我是否注定要重新安裝作業系統?
  • 我可以通過在此根分區之外安裝新應用程序來繞過此限制嗎?

作業系統:GNU/Linux Debian 11(靶心)

謝謝你。

  • 編輯 - 根分區使用的詳細資訊

根據@oldfred 的評論,這裡是根分區的最大文件夾。

最大的用途是 texlive,但如果可能的話,我不想解除安裝它。

根分區使用情況

  • 擴展根分區是否意味著將位於該分區之後的分區推到磁碟上,或者我可以使用磁碟末尾的未分配空間並將根分區分成兩部分?

是的,就是這個意思。分區必須始終從頭到尾連續。LVM 邏輯卷可以使用多個不連續的磁碟,但是將現有系統轉換為 LVM 並非易事。

  • 我可以移動這些分區而不會產生任何後果嗎?

如果您/etc/fstab被寫入使用分區 UUID 而不是它們的設備名稱,或者如果gparted不會重新排列表中的條目以匹配它們在磁碟上的順序,是的。

  • 就我而言,如果可能的話,您將如何解決?

(正如你最終所做的那樣,當我寫這篇文章時出現了你自己的答案。)

首先,將位於“右側”的所有分區移動到您希望盡可能向右擴展的分區。

之後,引導至已安裝的作業系統以驗證一切仍然有效。

然後引導回外部媒體以擴展根分區。

  • 如果不是,我是否注定要重新安裝作業系統?

完全沒有命中註定。這只需要一些緩慢而仔細的工作。

  • 我可以通過在此根分區之外安裝新應用程序來繞過此限制嗎?

這當然是繞過它的一種方法,但對於通過作業系統的包管理器安裝的程序可能很難實現。對於第三方軟體,這實際上可能很容易。

另一種可能的方法是在根文件系統上定位目錄樹的某個分支,該分支佔用相當大的空間,但對於早期啟動過程並不重要,並將其移動到另一個文件系統,然後創建一個符號連結,以便它將仍然可以使用原始路徑名訪問。例如,您可以輕鬆移動/usr/share/doc到不同的文件系統:

mv /usr/share/doc /new/filesystem/mountpoint/
ln -s /new/filesystem/mountpoint/doc /usr/doc

但是,您擁有的文件系統越多,您需要的文件系統中沒有可用空間的風險就越大。這就是為什麼如果分區顯然太小而無法滿足您的要求,那麼擴展分區是值得的。

引用自:https://unix.stackexchange.com/questions/690914