温馨提示×

ubuntu挂载虚拟磁盘的方法

小樊
53
2025-09-24 01:21:24
栏目: 云计算

Ubuntu挂载虚拟磁盘的通用流程及具体方法

挂载虚拟磁盘是将虚拟机中的虚拟磁盘文件(如.vmdk、.vdi、.img、.qcow2等)或物理磁盘设备关联到Ubuntu系统目录的过程,分为虚拟磁盘文件挂载物理磁盘设备挂载两类场景。以下是详细步骤:

一、准备工作

1. 确认虚拟磁盘文件/设备位置

  • 若为虚拟磁盘文件(如VirtualBox的.vdi、VMware的.vmdk、QEMU/KVM的.qcow2),需获取其在主机中的路径(如在VirtualBox中可通过“虚拟机设置→存储”查看);
  • 若为物理磁盘设备(如直接添加的虚拟硬盘),通过lsblksudo fdisk -l命令识别设备名称(通常为/dev/sdb/dev/sdc等,需排除系统已有磁盘)。

2. 安装必要工具

根据虚拟磁盘格式安装对应工具,确保系统支持挂载操作:

  • VirtualBox:安装virtualbox-guest-utils(提供VirtualBox文件共享支持);
  • VMware:安装open-vm-toolsopen-vm-tools-desktop(支持VMware共享文件夹和磁盘挂载);
  • 通用工具:安装qemu-utils(支持.qcow2等格式的挂载);
  • 分区工具:若虚拟磁盘未分区,需安装fdiskparted(用于创建分区)。

二、虚拟磁盘文件挂载(以常见格式为例)

1. VirtualBox(.vdi格式)

  • 创建挂载点:选择一个空目录作为挂载点(如/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

2. VMware(.vmdk格式)

  • 方法1:使用vmhgfs-fuse(推荐)
    安装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
    
  • 方法2:使用qemu-nbd(适用于非共享场景)
    加载NBD模块,连接虚拟磁盘文件,然后挂载分区:
    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模块
    

3. QEMU/KVM(.qcow2格式)

  • 操作与VMware的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中添加的虚拟硬盘),需先识别设备、分区、格式化,再挂载:

1. 识别设备

启动虚拟机后,运行lsblksudo fdisk -l,找到未挂载的设备(如/dev/sdb)。

2. 分区(若设备未分区)

使用fdisk工具创建分区:

sudo fdisk /dev/sdb

fdisk命令行中依次输入:

  • n:创建新分区;
  • p:选择主分区;
  • 1:分区号(默认);
  • 按两次Enter:使用默认起始/结束扇区;
  • w:保存并退出。

3. 格式化分区

将分区格式化为常用文件系统(如ext4):

sudo mkfs.ext4 /dev/sdb1

4. 创建挂载点并挂载

sudo mkdir -p /mnt/newdisk
sudo mount /dev/sdb1 /mnt/newdisk

5. 永久挂载(可选)

编辑/etc/fstab文件,添加一行:

/dev/sdb1 /mnt/newdisk ext4 defaults 0 2

保存后运行sudo mount -a验证配置是否正确。

四、卸载虚拟磁盘

完成操作后,需安全卸载以避免数据损坏:

  • 普通挂载sudo umount /mnt/virtual_disk
  • 使用NBD设备:先卸载分区,再断开连接并卸载模块:
    sudo umount /mnt/virtual_disk
    sudo qemu-nbd --disconnect /dev/nbd0
    sudo modprobe -r nbd
    

注意事项

  • 挂载前需确保虚拟磁盘文件/设备未被占用;
  • 若挂载失败,检查工具是否安装正确、文件系统是否兼容(如NTFS格式需安装ntfs-3g);
  • 永久挂载需谨慎修改/etc/fstab,避免语法错误导致系统无法启动。

0