VirtualBox 擴(kuò)展虛擬磁盤容量

(以下操作僅在VirtualBox虛擬機(jī)Ubuntu系統(tǒng)下的LVM文件系統(tǒng)中測(cè)試且有效,其他系統(tǒng)可以借鑒此方法進(jìn)行磁盤擴(kuò)容)

VirtualBox中默認(rèn)創(chuàng)建的磁盤容量為8GB,當(dāng)我們裝完系統(tǒng)后很可能會(huì)發(fā)現(xiàn)剩余空間不足,此時(shí)不需要重新創(chuàng)建虛擬機(jī)再裝一遍系統(tǒng),我們可以調(diào)整該磁盤文件的最大容量。

磁盤文件格式轉(zhuǎn)換


以下命令在命令提示符下輸入

首先如果你的磁盤格式是vmdk的,那么應(yīng)該首先轉(zhuǎn)換成VDI格式。

轉(zhuǎn)換命令:

VBoxManage clonehd? "vmdk文件路徑" "vdi轉(zhuǎn)換后的VDI文件保存路徑和文件名" --format VDI

(如果文件路徑中有空格則需要加上雙引號(hào),否則可以不加)

(一般會(huì)提示沒有該命令請(qǐng)到VirtualBox安裝目錄下執(zhí)行,或者將VirtualBox目錄添加到系統(tǒng)path環(huán)境變量中去)

示例:

VBoxManage clonehd? "D:\VirtualBox VMs\Ubuntu\Ubuntu-disk1.vmdk" "D:\VirtualBox VMs\Ubuntu\Ubuntu.vdi" --format VDI


調(diào)整磁盤文件容量


轉(zhuǎn)換完成后我們開始調(diào)整VDI磁盤文件的容量。

通過下面的命令查看所有被虛擬機(jī)管理的虛擬磁盤,找到我們要轉(zhuǎn)換的磁盤文件的UUID

VBoxManage list hdds

VBoxManage list hdds

然后調(diào)整磁盤的中的虛擬磁盤文件的動(dòng)態(tài)大小上限:

VBoxManage modifyhd 目標(biāo)磁盤的UUID --resize 調(diào)整后文件的大?。∕B)

示例:

VBoxManage.exe modifyhd 734f523d-d7e1-4a3c-82ee-6f802b248c41 --resize 15360


設(shè)置虛擬機(jī)系統(tǒng)磁盤文件系統(tǒng)


? ? ? ?調(diào)整磁盤容量上限后在虛擬機(jī)中系統(tǒng)的磁盤實(shí)際容量就會(huì)大于當(dāng)前文件系統(tǒng)中記錄的容量,我們需要修復(fù)這種錯(cuò)誤,同時(shí)將擴(kuò)大的磁盤容量合并到已有的磁盤系統(tǒng)中去。下面介紹了圖形工具終端命令兩種方式進(jìn)行錯(cuò)誤修復(fù)和分區(qū)合并。

圖形工具方式

完成后進(jìn)入虛擬機(jī),安裝gparted工具。

sudo apt-get install gparted

打開后提示修復(fù)一個(gè)磁盤錯(cuò)誤。

以root分區(qū)為例,調(diào)整root分區(qū)大小,將root分區(qū)擴(kuò)容后執(zhí)行并保存。

gparted

終端命令方式

如果你的Linux沒有圖形界面,那么也可以在終端下通過parted命令對(duì)磁盤的錯(cuò)誤進(jìn)行修復(fù)

通過下面的命令查看所有識(shí)別的分區(qū)信息:

sudo parted -l

此時(shí)提示進(jìn)行修復(fù),輸入fix執(zhí)行修復(fù)

parted -l

通過parted的resizepart命令合并空閑空間到磁盤中(parted從3.0后resize命令已經(jīng)被移除,這里我們通過resizepart去執(zhí)行操作)

首先鍵入:sudo parted

然后在parted命令提示符下輸入:print,列出所有分區(qū)設(shè)備。

print

接著輸入:resizepart,選擇對(duì)應(yīng)的分區(qū)編號(hào),輸入100%回車即可

resizepart

然后Ctrl+C退出parted命令。

執(zhí)行l(wèi)vm命令,通過pvresize命令將文件系統(tǒng)擴(kuò)大到整個(gè)磁盤分區(qū)

注意這里的Physical volume是物理卷的意思,不是lvm中的邏輯卷,由于該示例的lvm邏輯卷是建立在sda3物理卷上的,因此這里填寫sda3

pvresize

然后Ctrl+C退出lvm命令


設(shè)置LVM文件系統(tǒng)的物理邊界


對(duì)于不知道lvm文件系統(tǒng)路徑的,可以通過 sudo fdisk -l 命令查看

fdisk -l

對(duì)于LVM分區(qū)的系統(tǒng)來說還要執(zhí)行l(wèi)vextend命令去擴(kuò)展邏輯卷(LVM)的物理邊界,下面的命令意味將所有剩余的自由空間全部分配給lvm文件系統(tǒng)。

sudo lvextend -l +100%FREE lv文件系統(tǒng)路徑

示例:

sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-root


設(shè)置LVM文件系統(tǒng)的邏輯邊界


執(zhí)行了lvextend命令擴(kuò)展邏輯卷(LVM)的物理邊界后通過df -k命令看到的磁盤大小還是之前的大小,此時(shí)還需要用resize2fs命令擴(kuò)展邏輯卷的邏輯邊界(-p表示將邏輯邊界設(shè)置的和物理邊界一樣大)

resize2fs -p lv文件系統(tǒng)路徑

示例:

sudo resize2fs -p /dev/mapper/ubuntu--vg-root

至此再查看root磁盤容量已經(jīng)擴(kuò)大了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容