Linux命令-vdfuse(挂载 VirtualBox 磁盘镜像) Linux命令-vdfuse挂载 VirtualBox 磁盘镜像语法安装基础用法1. 挂载虚拟磁盘镜像2. 支持多种虚拟磁盘格式3. 数据恢复脚本4. 使用只读模式保护数据5. 与其他工具对比vdfuse是一个基于 FUSE用户空间文件系统的工具用于在 Linux 中挂载 VirtualBox 虚拟磁盘镜像文件VDI、VHD、VMDK 等格式。无需启动虚拟机即可直接访问虚拟磁盘内容。在需要从损坏的虚拟机中恢复文件、离线修改虚拟机配置、或查看虚拟机磁盘的分区布局时vdfuse 是不可或缺的工具。语法vdfuse [选项] 磁盘镜像文件 挂载点安装# Debian/Ubuntusudoapt-getinstallvirtualbox-fuse# 加载 FUSE 模块sudomodprobe fuse# 允许非 root 用户使用sudousermod-aGfuse$USER# 需要重新登录生效基础用法1. 挂载虚拟磁盘镜像# 挂载 VDI 文件vdfuse-tVDI winxp.vdi /mnt/vdi_mount/# 查看镜像中的分区表示为虚拟文件ls-la/mnt/vdi_mount/# EntireDisk Partition1 Partition2# 挂载指定分区sudomount-oloop /mnt/vdi_mount/Partition1 /mnt/vm_part/# 访问虚拟机文件ls-la/mnt/vm_part/cat/mnt/vm_part/etc/hostname# 卸载必须按顺序先内后外sudoumount/mnt/vm_part/sudoumount/mnt/vdi_mount/2. 支持多种虚拟磁盘格式# VDI - VirtualBox 原生格式vdfuse-tVDI disk.vdi /mnt/vm/# VMDK - VMware 虚拟磁盘vdfuse-tVMDK disk.vmdk /mnt/vm/# VHD - Microsoft Hyper-V 虚拟磁盘vdfuse-tVHD disk.vhd /mnt/vm/# 自动检测格式省略 -t 参数vdfuse disk.vdi /mnt/vm/# 查看支持的格式列表vdfuse-h21|grep-A5supported3. 数据恢复脚本#!/bin/bash# 从损坏的虚拟机磁盘中批量恢复文件VDI_FILEbroken_vm.vdiMOUNT_BASE/mnt/vm_recoveryRECOVERY_DIR/tmp/recovered_filesmkdir-p$MOUNT_BASE$RECOVERY_DIR# 挂载虚拟磁盘vdfuse$VDI_FILE$MOUNT_BASE/||exit1echo发现的分区:ls-la$MOUNT_BASE/# 遍历每个分区forpartin$MOUNT_BASE/Partition*;doecho处理:$partPART_MOUNT$MOUNT_BASE/part_mountmkdir-p$PART_MOUNTifsudomount-oro$part$PART_MOUNT2/dev/null;thenecho挂载成功复制文件...rsync-av$PART_MOUNT/$RECOVERY_DIR/2/dev/nullsudoumount$PART_MOUNTelseecho分区无法挂载文件系统不支持或已损坏fidone# 清理sudoumount$MOUNT_BASE2/dev/nullecho恢复完成:$RECOVERY_DIRls-la$RECOVERY_DIR/4. 使用只读模式保护数据# 强烈建议以只读方式挂载sudomount-oro,loop /mnt/vdi_mount/Partition1 /mnt/vm_part/# NTFS 分区只读挂载sudomount-tntfs-3g-oro /mnt/vdi_mount/Partition1 /mnt/vm_part/# 挂载前确认文件系统类型sudoblkid /mnt/vdi_mount/Partition1sudofile-s/mnt/vdi_mount/Partition15. 与其他工具对比# qemu-nbd: QEMU 格式 (qcow2/qed/raw)sudomodprobe nbdsudoqemu-nbd-c/dev/nbd0 disk.qcow2sudomount/dev/nbd0p1 /mnt/sudoqemu-nbd-d/dev/nbd0# guestmount: libguestfs 通用工具sudoguestmount-adisk.qcow2-m/dev/sda1--ro/mnt/# losetup: raw 格式最底层方案sudolosetup-fdisk.imgsudomount/dev/loop0 /mnt/# 总结:# vdfuse: 最适合 VirtualBox 磁盘格式 (VDI/VMDK/VHD)# qemu-nbd: 最适合 QEMU/KVM 磁盘格式 (qcow2)# guestmount: 最通用支持格式最多# losetup: 最简单仅 raw 格式