温馨提示×

Ubuntu挂载虚拟磁盘的操作

小樊
42
2025-12-23 04:50:51
栏目: 云计算

Ubuntu 挂载虚拟磁盘的常用方法

一、前置检查与准备

  • 确认镜像或设备路径,查看块设备与文件系统:
    • 查看设备与分区:lsblklsblk -f
    • 查看文件系统与占用:df -h
  • 安装常用工具(按需):
    • 分区与格式化:sudo apt-get install parted e2fsprogs
    • 图形化磁盘工具:sudo apt-get install gparted(GNOME Disks 亦可用)
  • 备份重要数据,避免误操作导致数据丢失。

二、方法一 直接挂载虚拟磁盘镜像文件 VDI/VMDK/VHD 等

  • 方案A 使用 vdfuse 挂载镜像并访问分区(适用于 VDI/VMDK/VHD/RAW

    1. 安装组件并配置 FUSE:
      • sudo apt-get install virtualbox-fuse
      • 编辑 /etc/fuse.conf,取消注释:user_allow_other
    2. 将镜像挂载为 FUSE 文件系统:
      • sudo vdfuse -t VMDK -f /path/to/file.vmdk ~/vmdisk
      • 进入挂载点可见 EntireDiskPartition1 等文件
    3. 挂载具体分区(以 ext4 为例):
      • sudo mount ~/vmdisk/Partition1 /mnt/vm1
    4. 只读挂载可加 -r;卸载:sudo umount /mnt/vm1(必要时再卸载 ~/vmdisk) 说明:vdfuse 通过 VirtualBox 访问库将镜像以 FUSE 方式呈现,便于直接访问分区。
  • 方案B 使用 loop 设备挂载整盘镜像(适用于含单个文件系统或可识别分区的镜像)

    1. 以只读方式挂载整盘镜像到回环设备并查看分区:
      • sudo mount -o loop,ro /path/to/file.img /mnt
      • 或先关联回环:sudo losetup -f --show /path/to/file.img(得到如 /dev/loop0),再 sudo mount /dev/loop0 /mnt
    2. 若需访问分区,可配合 kpartx(如 sudo kpartx -av /dev/loop0,随后挂载 /dev/mapper/loop0p1
    3. 卸载:sudo umount /mnt,必要时 sudo losetup -d /dev/loop0 说明:对包含 ext4/btrfs/xfs 等常见文件系统的镜像,loop 挂载是最简便的方式之一。

三、方法二 虚拟机中新添加的虚拟硬盘(/dev/sdX)

  • 识别新盘:在虚拟机设置中添加硬盘后,重启或重新登录,使用 lsblk -f 找到新盘(如 /dev/sdb
  • 分区(示例创建主分区):
    • sudo fdisk /dev/sdb → 依次输入 np → 回车默认起始 → 回车默认大小 → w 写入
  • 格式化(以 ext4 为例):
    • sudo mkfs.ext4 /dev/sdb1
  • 挂载:
    • 临时:sudo mount /dev/sdb1 /mnt/newdisk
    • 验证:df -hlsblk -f
  • 自动挂载(编辑 /etc/fstab):
    • 推荐用 UUID(更稳健):先用 lsblk -f 获取 UUID,再添加行:
      • UUID=<你的UUID> /mnt/newdisk ext4 defaults 0 2
    • 验证配置:sudo mount -a(无报错即生效)

四、方法三 宿主机与客机共享文件夹的挂载

  • VirtualBox 共享文件夹
    • 安装增强功能:sudo apt-get install virtualbox-guest-utils virtualbox-guest-dkms
    • 创建挂载点:mkdir -p ~/vbox_share
    • 挂载共享(共享名为 share):sudo mount -t vboxsf share ~/vbox_share
  • VMware 共享文件夹(HGFS)
    • 安装工具:sudo apt-get install open-vm-tools open-vm-tools-desktop
    • 挂载示例:sudo vmhgfs-fuse .host:/share ~/vbox_share -o allow_other 说明:共享文件夹适合在宿主机与客机之间快速交换文件,权限与可见性由挂载选项控制。

五、常见问题与排错

  • 权限不足或“Operation not permitted”:
    • 使用 sudo 执行挂载;若通过 FUSE 需要 /etc/fuse.conf 中启用 user_allow_other
  • 设备忙无法卸载:
    • 检查占用进程:lsof | grep /mnt/yourmount;结束相关进程后再 umount
  • 文件系统不一致导致只读或挂载失败:
    • 确认镜像内文件系统类型并使用对应工具(如 ext4mount,或先以 -o ro 只读检查)
  • 开机未自动挂载:
    • 检查 /etc/fstab 语法与 UUID 是否正确,先执行 sudo mount -a 验证
  • 图形化辅助:
    • 使用 gnome-disksgparted 进行分区、格式化与挂载点管理,更直观

0