虛擬磁盤是文件系統虛擬化的基礎,常用QCOW2(QEMU Copy-On-Write)格式(支持動態擴容、快照等功能)。
使用qemu-img
命令創建虛擬磁盤(需提前安裝qemu-utils
):
sudo apt update && sudo apt install qemu-utils -y # 安裝必要工具
qemu-img create -f qcow2 /path/to/virtual_disk.qcow2 10G # 創建10G虛擬磁盤(動態擴容)
-f qcow2
:指定鏡像格式為QCOW2;/path/to/virtual_disk.qcow2
:虛擬磁盤文件路徑;10G
:虛擬磁盤初始大?。筛鶕枨笳{整)。創建后的虛擬磁盤需格式化為文件系統(如ext4
)才能使用:
sudo mkfs.ext4 /path/to/virtual_disk.qcow2 # 格式化為ext4文件系統
注意:格式化會清除磁盤內所有數據,請確認磁盤未包含重要文件。
將虛擬磁盤掛載到Ubuntu的目錄(如/mnt/virtual_disk
),實現虛擬文件系統的訪問:
創建掛載點:
sudo mkdir -p /mnt/virtual_disk # 創建掛載目錄
掛載虛擬磁盤:
使用-o loop
選項將虛擬磁盤作為環回設備掛載:
sudo mount -o loop /path/to/virtual_disk.qcow2 /mnt/virtual_disk
驗證掛載:
查看掛載點內容,確認掛載成功:
ls /mnt/virtual_disk # 應顯示空目錄(未寫入文件前)
卸載虛擬磁盤(使用完畢后):
sudo umount /mnt/virtual_disk # 安全卸載
若虛擬磁盤空間不足,可通過以下步驟擴展(以QCOW2格式為例):
qemu-img
增加虛擬磁盤大?。ㄈ鐝?0G擴展至15G):qemu-img resize /path/to/virtual_disk.qcow2 +5G # 增加5G容量
ext4
,需先掛載虛擬磁盤,然后使用resize2fs
擴展:sudo mount -o loop /path/to/virtual_disk.qcow2 /mnt/virtual_disk
sudo resize2fs /dev/loop0 # 自動擴展至磁盤最大容量
sudo umount /mnt/virtual_disk
xfs
,需使用xfs_growfs
(需先擴展分區,再擴展文件系統)。若已有現成的虛擬磁盤文件(如Ubuntu安裝鏡像的.img
、VMware的.vmdk
),可通過以下方式掛載:
通用方法(使用kpartx
):
sudo kpartx -av /path/to/disk.img # 將鏡像分區映射到設備
sudo mount /dev/mapper/loop0p1 /mnt/virtual_disk # 掛載第一個分區
VMware文件共享(.vmdk):
若需掛載VMware共享文件夾,需安裝open-vm-tools
:
sudo apt install open-vm-tools open-vm-tools-desktop -y
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other # 掛載共享文件夾
VirtualBox文件共享(.vdi):
類似VMware,需安裝virtualbox-guest-utils
并配置共享文件夾。
若需修改虛擬磁盤中的系統文件(如安裝軟件、修改配置),可使用chroot
切換到虛擬文件系統的環境:
mkdir -p ~/rootfs # 創建虛擬文件系統目錄
sudo mount -o loop /path/to/virtual_disk.qcow2 ~/rootfs
sudo cp /etc/resolv.conf ~/rootfs/etc/ # 復制網絡配置
sudo cp /usr/bin/qemu-aarch64-static ~/rootfs/usr/bin/ # 若為ARM架構,需復制qemu工具
sudo chroot ~/rootfs # 切換到虛擬文件系統的root環境
exit
即可返回原系統。qcow2
適合QEMU/KVM虛擬機,vmdk
適合VMware,vdi
適合VirtualBox;/etc/resolv.conf
、/bin/bash
)。