原文Mount a VirtualBox VDI image on Debian见下图:
首先安装QEMU工具
sudo apt-get install qemu-utils
然后加载内核nbd模块
sudo modprobe nbd
然后运行qemu-nbd
sudo qemu-nbd -c /dev/nbd0 vdi文件路径
这将把vdi文件映射到nbd0驱动器,友情提醒:nbd不止一个驱动器大概有16个,分别是nbd0——nbd15,记不太清了,自己看一下就知道啦
然后映射分区表
sudo kpartx -a /dev/nbd0
这会建立/dev/mapper/nbd0pX,其中X代表分区号
然后挂载分区
sudo mount /dev/mapper/nbd0p1 /mnt
这是把你vdi文件的第一个分区挂载到/mnt文件夹下
等到工作完成后卸载文件系统和关闭QEMU-nbd服务
sudo umount /mnt
sudo qemu-nbd -d /dev/nbd0
附:
mount的基本用法
格式:mount [-参数] [设备名称] [挂载点]
其中常用的参数有:
-a 安装在/etc/fstab文件中类出的所有文件系统。
-f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统。
-n 不把安装记录在/etc/mtab 文件中。
-r 讲文件系统安装为只读。
-v 详细显示安装信息。
-w 将文件系统安装为可写,为命令默认情况。
-t 指定设备的文件系统类型,常见的有:
ext2 linux目前常用的文件系统
msdos MS-DOS的fat,就是fat16
vfat windows98常用的fat32
nfs 网络文件系统
iso9660 CD-ROM光盘标准文件系统
ntfs windows NT/2000/XP的文件系统
auto 自动检测文件系统
-o 指定挂载文件系统时的选项,有些也可写到在/etc/fstab中。常用的有:
defaults 使用所有选项的默认值(auto、nouser、rw、suid)
auto/noauto 允许/不允许以 –a选项进行安装
dev/nodev 对/不对文件系统上的特殊设备进行解释
exec/noexec 允许/不允许执行二进制代码
suid/nosuid 确认/不确认suid和sgid位
user /nouser 允许/不允许一般用户挂载
codepage=XXX 代码页
iocharset=XXX 字符集
ro 以只读方式挂载
rw 以读写方式挂载
remount 重新挂载已经挂载了的文件系统
loop 挂载回旋设备
注意:
1、挂载点必须是一个已经存在的目录\
2、这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。使用多个-o参数的时候,-o 只用一次,参数之间用半角逗号隔开,
3、光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文件系统格式是不一样的。光盘是ISO9660;软盘是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、 NTFS
umount
必杀:umount -l /dev/sda1
参数:
-a 卸除/etc/mtab中记录的所有文件系统。
-h 显示帮助。
-n 卸除时不要将信息存入/etc/mtab文件中。
-r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。
-t<文件系统类型> 仅卸除选项中所指定的文件系统。
-v 执行时显示详细的信息。
-V 显示版本信息。