樹莓派(raspberry pi)把檔案系統寫在一個img檔案中(大小約為2GB)
實際使用中,再用寫SD卡工具 Win32 Disk Imager複制到SD卡上,即可用于實際系統中
但是有一個問題,就是假如你的SD卡是8G的,由于img檔案是2G,其餘的6G是用不了的。
總共2G的大小,系統占了1G多,裝多幾個軟體就裝不了了。
這個問題,又讓我研究了兩小時。 後來發現,要調整主分區的大小。
以下是我在Qemu虛拟機上具體操作的:
首先用qemu帶的工具qemu-img.exe 調整img檔案的大小,
退出qemu虛拟機,在Windows中使用以下指令,将img檔案增加1024MB
qemu-img resize 2012-12-16-wheezy-raspbian.img +1024M
然後,啟動qemu虛拟機,進入raspberry pi系統後
首先,檢視一下硬碟使用情況,指令如下:
df -h
然後用fdisk指令進行分區操作 (實際操作前最好先熟悉一下fdisk的用法)
指令格式:
fdisk <儲存設備名> //如: fdisk /dev/sda
進入fdisk 後,使用單鍵指令
m 顯示Help
p 列出所有分區
d 删除分區
n 建立分區
w 存盤退出
q 不存盤退出
對主裝置進行fdisk,指令如下:
sudo fdisk /dev/sda
(如果是在實體機器上操作,指令應是 sudo fdisk /dev/mmcblk0)
按 p 鍵 列出所有分區,可見有兩個或三個分區
第一個分區是 FAT32分區,是引導用的
第二個分區是Linux 主分區
第三個分區是Linux Swap交換檔案分區(虛拟機中可能沒有)
用筆記下Linux 主分區的Start Sector号 (我的img檔案中是122880)
按 d 鍵 Partition Number (分區号) 選 2, 删除linux主分區(第2個區)
如果有linuxSwap分區,再按d鍵 Partition Number (分區号) 選 3, 删除linuxSwap分區(第3個區)
按 p 鍵 列出所有分區,可見隻剩第一個分區了
按 n 鍵,重新建立linux主分區
Partition Type(分類類型) 選 P (Primary)
Partition Number (分區号) 選 2
First Sector(起始Sector) 一定要輸入剛才記下來的Start Sector号(我的是122880)
Last Sector (終止Sector)用預設值,直接回車
按 p 鍵 列出所有分區,可見有兩個分區,linux主分區在第2個,起始位置是原位置
按 w 鍵 存盤退出fdisk
接下來,立即重新開機,不要做任何其它事情
sudo reboot
重新開機并登入後,立即用以下指令
sudo resize2fs /dev/sda2
(如果是在實體機器上操作,指令應是sudo resize2fs /dev/mmcblk0p2)
該指令将把第二個分區擴充到新的空間中
檢視一下硬碟使用情況,OK了
上述操作的原理是:
首先删除了linux主分區和Swap分區,重建的主分區起始Sector位置與原主分區一緻,再resize2fs,則原主分區資料完全沒變,但改變了主分區的大小。