我正在嘗試將 Raspberry PI 的 SD 卡升級為更大的卡。我看過並嘗試過這樣的指南:https://raspberrypi.stackexchange.com/questions/499/how-can-i-resize-my-root-partition
我的設定與他們看起來的設定有點不同,我無法弄清楚如何正確執行此操作而不在此過程中殺死分區表。
fdisk 輸出:
Device Boot Start End Sectors Size Id
/dev/mmcblk0p1 8192 2357421 2349230 1.1G e W95 FAT16 (LBA)
/dev/mmcblk0p2 2357422 15523839 13166418 6.3G 85 Linux extended
/dev/mmcblk0p5 2359296 2424829 65534 32M 83 Linux
/dev/mmcblk0p6 2424832 2553855 129024 63M c W95 FAT32 (LBA)
/dev/mmcblk0p7 2555904 14467069 11911166 5.7G 83 Linux
/dev/mmcblk0p8 14467072 15515647 1048576 512M 83 Linux
gparted截圖:
也許有人可以藉我幾句明智的話嗎?
答案1
如果您有 Gparted,那就用 Gparted 來完成這一切。這樣你就不必記住確切的數字或任何東西。第二個建議是:不要讓分割區交換位置。如果要擴大root
分區,請將 移至data
可用空間的末端並root
就地擴大。這是因為您無法確定不存在按編號引用分區的過時代碼。
答案2
如果您想調整根分割區的大小,我沒有看到任何問題。您不需要殺死分割區。
首先,您需要調整擴充分割區的大小/dev/mmcblk0p2
。您可以透過Gparted
.然後將 /dev/mmcblk0p8
分區移動到磁碟末尾。最後將根/dev/mmcblk0p7
分割區大小調整為所有可用空間。
如果您Gparted
不想調整擴展分割區的大小/dev/mmcblk0p2
(我認為是因為它在該分割區內運行),那麼您有兩種方法:
- 在 fdisk 程式中重新建立從 mmcblk0p2 到 mmcblk0p8 的所有分區。
- 從電腦上的 USB 隨身碟啟動 SystemRescueCD,然後再次嘗試在 SystemRescueCD 上使用 GParted。
使用這兩個程序時要小心。 Fdisk 程式無法移動分割區及其內部的資料。請勿變更啟動分割區/dev/mmcblk0p6
和根分割區的起始磁區號/dev/mmcblk0p7
,否則您將恢復已安裝的 Linux 的啟動。
如果您選擇第一種方式,那麼您需要記住以扇區為單位的所有分割區的所有資訊。然後刪除mmcblk0p2
分割區。不要在此步驟寫入結果,fdisk 不會立即套用變更。如果您退出fdisk
或按 Ctrl+C,則不會有任何變更。然後使用舊的起始磁區號和新的最後磁區號建立mmcblk0p2
擴充分割區(按n
然後按)。然後使用舊的起始和結束磁區號e
重新建立其他邏輯分割區(按n
然後按l
)從/dev/mmcblk0p5
到。/dev/mmcblk0p8
按鍵t
更改分區類型。檢查(按p
)所有分割區都將具有舊的開始和結束磁區號,且類型不包括mmcblk0p2
擴充分割區的結束磁區號。如果一切順利,則w
按鍵將變更寫入磁碟。重新啟動您的伺服器。然後,您可以使用GParted
將最後兩個分割區移到磁碟末尾並調整根分割區的大小。
另外:
如果 fdisk 不想重新建立分割區,請嘗試使用parted:
$ sudo parted /dev/mmcblk0
(parted) unit s
(parted) print
(parted) resizepart 2 -1s
(parted) print
(parted) quit
$ sudo partprobe /dev/mmcblk0
$ sudo gparted /dev/mmcblk0
祝你好運!並且要小心。
答案3
如果安裝了任何分割區,則無法調整其大小。仔細一看,擴展分區內的兩個分區上有兩個關鍵符號。這將防止對分區進行任何更改。
有多種方法可以解決您的問題,但您需要從其他裝置啟動才能卸載所有分割區。
一種可能性是使用讀卡機將卡片連接到單獨的系統,並在卸載自動安裝的任何分割區後使用 Gparted 調整您需要的任何分割區的大小。