使用vdfuse挂载 mount vdi 文件
我的机器安装了Ubuntu virtualbox虚拟机,前几天升级虚拟机中软件时候,Ubuntu系统突然崩溃了,直接导致开不了机,里面有我一个星期的代码,也没做下拷贝,怪自己大意了,没想到系统会崩溃掉,当时我也跟系统一样崩溃了。为了拷贝出里面的代码,网上查找了好多资料,发现是有解决方案的。找回文件的过程,主要参考了这篇文章:http://www.blogbus.com/lnote-lo
我的机器安装了Ubuntu virtualbox虚拟机,前几天升级虚拟机中软件时候,Ubuntu系统突然崩溃了,直接导致开不了机,里面有我一个星期的代码,也没做下拷贝,怪自己大意了,没想到系统会崩溃掉,当时我也跟系统一样崩溃了。
为了拷贝出里面的代码,网上查找了好多资料,发现是有解决方案的。找回文件的过程,主要参考了这篇文章:http://www.blogbus.com/lnote-logs/336947963.html,解决方案是将vid文件挂载到一个正常的Ubuntu系统里,将文件拷贝出来。
过程如下:
1.下载virtualbox-fuse,下载地址:http://security.debian.org/debian-security/pool/updates/main/v/virtualbox/virtualbox-fuse_4.1.42-dfsg-1+deb7u1_amd64.deb
下载之后,不能直接安装。因为这个virtualbox-fuse 只支持老板的virtalbox ,直接安装deb是不行的。 其实我们只要提取vdfuse这个可执行文件,就可以了。 文件一般会下载到在Downloads目录里。
2. cd进入Downloads目录。命令:dpkg -x virtualbox-fuse_4.1.42-dfsg-1+deb7u1_amd64.deb temp ,解压安装包到temp文件夹。
3.sudo cp temp/usr/bin/vdfuse /bin ,将temp文件夹中的vdfuse命令拷贝到 /bin目录中
它本身有执行属性 如果没有 执行下下面命令 sudo chmod 755 /bin/vdfuse 添加
4.打开/etc/fuse.conf文件,将user_allow_other前面的“#”删除,保存一下。
5.通过vdfuse命令将vdi文件mount到一个临时的mount point上。
注意:运行vdfuse命令时,可能会提示 error while loading shared libraries: VBoxDDU.so : cannot oopen shared object file。是因为找不到vboxdu.so文件,需要安装virtualbox虚拟机才行。
下载地址:https://www.virtualbox.org/wiki/Linux_Downloads
根据列表选择对应版本的virtualbox。我的系统对应的是Ubuntu14.04 ,点击下载AMD64。下载完deb文件后,双击进行安装。
sudo vdfuse -f /xxxxx/xxxx.vdi /mnt/vdi_xxxx,如果提示No such file or directory,需要现在/mnt目录中使用命令,新建一个vid_xxxx 文件夹。
我在本机是建立了一个vidmnt文件夹。
执行命令 sudo vdfuse -f xxxx.vid /mnt/vidmnt,挂载成功后, ll命令,可以看到vidmnt挂载成功了。
sudo ls -l vidmnt,可以看到两个分区。我的文件在Partition1中。下面继续将Partition1挂载到文件夹。
7. mkdir新建一个文件夹part1,运行命令:sudo mount vidmnt/Partition1 part1,将Partiton1挂载到part1。cd进入part1,ls命令,可以看到挂载成功了。接下来就可以使用cp命令将文件拷贝出来了。
更多推荐
所有评论(0)