Ubuntu挂载虚拟磁盘的通用流程及具体方法
挂载虚拟磁盘是将虚拟机中的虚拟磁盘文件(如.vmdk、.vdi、.img、.qcow2等)或物理磁盘设备关联到Ubuntu系统目录的过程,分为虚拟磁盘文件挂载和物理磁盘设备挂载两类场景。以下是详细步骤:
lsblk或sudo fdisk -l命令识别设备名称(通常为/dev/sdb、/dev/sdc等,需排除系统已有磁盘)。根据虚拟磁盘格式安装对应工具,确保系统支持挂载操作:
virtualbox-guest-utils(提供VirtualBox文件共享支持);open-vm-tools及open-vm-tools-desktop(支持VMware共享文件夹和磁盘挂载);qemu-utils(支持.qcow2等格式的挂载);fdisk或parted(用于创建分区)。/mnt/virtual_disk);sudo mkdir -p /mnt/virtual_disk
mount命令指定文件系统和设备路径;sudo mount -t vboxsf <虚拟磁盘文件名> <挂载点>
示例(假设虚拟磁盘文件位于~/VirtualBox\ VMs/Ubuntu/Ubuntu.vdi):sudo mount -t vboxsf Ubuntu.vdi /mnt/virtual_disk
注:若需永久挂载,需编辑
/etc/fstab文件,添加一行:Ubuntu.vdi /mnt/virtual_disk vboxsf defaults 0 0。
open-vm-tools后,直接挂载共享文件夹:sudo vmhgfs-fuse .host:/<共享文件夹名> /mnt/virtual_disk -o allow_other
示例(共享文件夹名为shared):sudo vmhgfs-fuse .host:/shared /mnt/virtual_disk -o allow_other
sudo modprobe nbd max_part=8 # 加载NBD模块,支持最多8个分区
sudo qemu-nbd --connect=/dev/nbd0 ~/VirtualBox\ VMs/Ubuntu/Ubuntu.vmdk # 连接虚拟磁盘
sudo fdisk -l /dev/nbd0 # 查看分区(如/dev/nbd0p1)
sudo mount /dev/nbd0p1 /mnt/virtual_disk # 挂载分区
卸载时需反向操作:sudo umount /mnt/virtual_disk
sudo qemu-nbd --disconnect /dev/nbd0
sudo modprobe -r nbd # 卸载NBD模块
qemu-nbd方法类似:sudo modprobe nbd max_part=8
sudo qemu-nbd --connect=/dev/nbd0 ~/Downloads/disk.qcow2
sudo fdisk -l /dev/nbd0
sudo mount /dev/nbd0p1 /mnt/virtual_disk
卸载步骤相同。若虚拟机中添加了新的物理磁盘设备(如VirtualBox/VMware中添加的虚拟硬盘),需先识别设备、分区、格式化,再挂载:
启动虚拟机后,运行lsblk或sudo fdisk -l,找到未挂载的设备(如/dev/sdb)。
使用fdisk工具创建分区:
sudo fdisk /dev/sdb
在fdisk命令行中依次输入:
n:创建新分区;p:选择主分区;1:分区号(默认);Enter:使用默认起始/结束扇区;w:保存并退出。将分区格式化为常用文件系统(如ext4):
sudo mkfs.ext4 /dev/sdb1
sudo mkdir -p /mnt/newdisk
sudo mount /dev/sdb1 /mnt/newdisk
编辑/etc/fstab文件,添加一行:
/dev/sdb1 /mnt/newdisk ext4 defaults 0 2
保存后运行sudo mount -a验证配置是否正确。
完成操作后,需安全卸载以避免数据损坏:
sudo umount /mnt/virtual_disk;sudo umount /mnt/virtual_disk
sudo qemu-nbd --disconnect /dev/nbd0
sudo modprobe -r nbd
ntfs-3g);/etc/fstab,避免语法错误导致系统无法启动。