前言
最近希望在工作電腦上下載android源碼,但因為平時工作的電腦運行的是win7系統,無法下載android源碼,所以想到了在VirtualBox上的Linux系統上下載。
不過,android源碼體積隨著版本升高已經越來越大了,一不小心就占據了幾十個G,當初在虛擬機上裝的系統只預留了20G左右,并且是使用了LVM技術的,還是掛載在根分區。
無奈我又不想重新裝一個系統,憑著對Linux的熱情和執著,一番搗鼓之后,終于得償所愿了。在這里記錄一下,希望給以后遇到同樣問題的人參考參考,再這里重新演示整個過程。(換回了自己的電腦)
環境
OS:OSX10.12
VirtualBox版本:5.1.14
Linux發行版:linux mint 17.3
操作
-
增大虛擬硬盤
使用VirtualBox提供了命令行工具VBoxManage,*unix系統應該在安裝的時候直接加入了環境變量了,如果是源碼安裝或者win系統,這命令在安裝目錄下可以找到,首先列出已經安裝的虛擬系統的硬盤:
VBoxManage list hdds
2.png其中uuid就是這個虛擬硬盤的標識符,然后通過modifymedium命令就可以改變硬盤的大小:VBoxManage modifymedium uuid --resize xxxx
1.png現在,我把虛擬硬盤的容量擴大到14000mb
-
添加物理卷(PV)
列出現在已經有的PV:
sudo pvs
8.png可以看到現在只有一個PV
增加PV,需要用到磁盤管理工具fdisk,具體步驟
-
sudo fdisk /dev/sda
(/dev/sda為對應的設備名,也可能是其它名字) - 按
n
新建分區 - 一直回車選擇默認
- 按
t
改變分區的system id - 選擇分區號
- 設置分區system id為8e,其實就是設置分區類型為Linux LVM,通過
sudo fdisk -l
命令可以看到分區的類型
12.png下一步,重啟使分區表生效
3.png現在,用剛才新建的分區 /dev/sda4 新建PV
sudo pvcreate /dev/sda4
sudo pvs
4.pngPV已經準備好了
-
-
擴展卷組(VG)
sudo vgextend mint-vg /dev/sda4
mint-vg是卷組名,裝系統的時候選LVM方式作為磁盤分區的時候默認生成的
5.png
現在卷組已經擴展成功了
-
擴展邏輯卷(LV)
查看VG的剩余空間
sudo vgdisplay
6.png
留意到Free PE一行,總共有435個空閑的PE,1.7G的空閑空間,也就是之前擴展卷組的大小
sudo lvextend -l +435 /dev/mint-vg/root
-l +435 表示增加435個PE,即全部剩余空間
/dev/mint-vg/root 是LV path,可以通過lvdisplay
命令查看7.png邏輯卷也已經擴展成功了
-
使改變生效
現在用
df -h
命令查看磁盤分區的大小,可以看到根分區還是沒有改變的
9.png
sudo resize2fs /dev/mint-vg/root
10.png
這時再看,已經生效了
然而,在這個過程中,我遇到過一直擴展不生效的情況,看下面的重點部分
重點
如果邏輯卷擴展后沒有生效,則需要進入Resuce模式運行resize2fs命令來改變文件系統的大小
進入Resuce模式(linux mint):重啟過程中不斷按esc進入系統選擇界面,在選擇系統界面按e,進入啟動參數設置界面,在linux開頭這行最后增加“init=/bin/bash”,按ctrl+x啟動系統
如果提示Read-only file system
將系統掛載成read-write:mount / -o remount,rw
這時再resize2fs便可