即使我的SD卡為16GB,但我閃過的圖像只有2GB,現在我在磁盤上只能看到2GB的存儲空間。
如何調整圖像大小,以便在根分區上有更多空間?
即使我的SD卡為16GB,但我閃過的圖像只有2GB,現在我在磁盤上只能看到2GB的存儲空間。
如何調整圖像大小,以便在根分區上有更多空間?
假設您正在使用Debian。
首先使用此處中的說明對SD卡進行備份,以防萬一出現問題。
從在命令行或終端窗口中輸入以下內容
sudo fdisk / dev / mmcblk0
然後鍵入 p
列出分區表
,您應該看到三個分區。如果您在標記為 System 的最後一列中查看
記下第2部分的開始編號,稍後您將需要它。儘管它可能仍會顯示在屏幕上(以防萬一)。
下一步鍵入 d
刪除分區。
然後將提示您輸入要分區的編號。刪除。在上述情況下,您要刪除Linux和Linux交換分區。
因此,鍵入 2
,然後鍵入 d
,然後鍵入 3
刪除交換分區。
現在您可以調整大小主分區。
鍵入 n
來創建新分區。
此新分區必須是主分區,因此鍵入 p
。
然後在提示您輸入分區號時輸入 2
。
現在將提示您輸入新分區的第一個扇區。輸入上一步中的起始編號(Linux分區)
接下來,系統將提示您輸入您可以按Enter接受默認值的最後一個扇區,該扇區將利用剩餘的磁盤空間。
鍵入 w
保存所做的更改。
下一步,使用以下命令重新引導系統:
sudo reboot
系統重新啟動後,您又回到命令行輸入以下命令:
sudo resize2fs / dev / mmcblk0p2
注意:這可能需要很長時間(取決於卡的大小和速度),請耐心等待,以便完成操作,這樣就不會弄亂文件系統,而必須從頭開始。
完成後,使用以下命令重新引導系統:
sudo reboot
現在,您可以驗證系統是否已通過輸入以下命令來使用SD卡的全部容量:
df -h
真正的魔力在於您刪除根分區和交換分區,然後僅在寫入數據到磁盤之前(使用原始啟動扇區)重新創建根分區。因此,您不會從根分區中擦除現有數據。
通過刪除交換分區,您可以使根分區空間超出其當前大小,並填充磁盤的未使用部分(由於分區的位置-根分區夾在引導區和引導區之間)交換分區-不能簡單地調整大小而不能單獨保留交換分區)。
然後調整文件系統的大小(可以在已安裝的磁盤上安全運行)以使用新的根分區中的所有空間。
ref:
使用Debian-Wheezy Beta映像,內置了一個配置實用程序,可簡化此操作:
有一個名為 raspi-config
的實用程序。如果您直接連接到RPi,它將在首次啟動時運行。如果您使用的是SSH,則可以使用 $ sudo raspi-config
手動運行它。 (我認為您可以隨時手動重新運行該工具。)
緊隨其後的藍色對話框中的第二個選項名為 expand_rootfs
,描述為“擴展根分區”填充SD卡”。
選擇此選項將導致您的根分區在下次啟動RPi時被調整大小以填充卡。
2015年更新! / em>
在返回此答案時,我要格外小心:我一直在使用一堆16GB SD卡,但由於最大化分區來填充原來的卡而陷入困境使用。這樣做會導致切換到新卡(儘管據說為16GB)比舊卡小200MB左右的問題。
當我將幾個RPis從v1切換到使用Micro SD卡的新v2型號時,此問題浮出水面。
我現在留出大約1GB的可用空間以確保絕對安全我的圖像可以在SD卡之間切換而不會出現問題。
如果您不太習慣使用命令行,例如在Steve Robillards的出色回答中,則可以使用一些GUI應用程序。特別是gparted效果很好。
我認為它默認安裝在Ubuntu LiveCD上,而不安裝在已安裝的系統上。當然,有一個簡單的解決方法: apt-get install gparted
。您無法在實際的Pi上執行此操作,因為要調整分區的大小,需要將其卸載。
下面的圖片是荷蘭語的,但是請不要讓它破壞樂趣。它很容易使用。這是默認debian映像在8gb sdcard上的佈局。
右鍵單擊要卸載的分區,然後右鍵單擊以調整大小或移動分區。您還可以創建新分區並格式化現有分區。在下面的圖片中,我已經刪除了交換分區,現在可以將根分區的大小調整為它右邊的整個空間。不要完全填滿它,因為您仍然必須添加交換分區。
您可以使用分區佈局,只有在應用了更改(第一張圖片中的“ return”鍵顯示為灰色)。
移動分區非常容易,但是就像在Steve的回答中一樣,我建議您完全刪除交換分區,然後調整根的大小,然後重新創建交換。移動分區可能會花費很長時間,並且交換不包含您需要保留的數據。
如果您使用更新的Debian Wheezy映像: http://www.raspberrypi.org/archives/1435啟動時腳本允許您調整大小以自動填充sdcard。
我遵循了此視頻,並且對我來說效果很好(我有16GB的存儲卡):