在恢复模式下从机器中获取文件

在恢复模式下从机器中获取文件

我的虚拟机坏了。它无法正常启动。我不想费心去修复它,但我确实想从中获取一些我需要的文件。

如果我按住 Shift 键,我就会得到一个提示,允许我启动到恢复模式,然后我可以从那里选择选项 netroot,然后我就可以进入。我可以访问我需要的那台机器上的文件,而且互联网也可以正常工作(我可以wget --spider http://example.com成功运行)。所以看起来我应该拥有获取文件所需的一切。但是怎么做呢?我考虑过尝试设置 FTP 服务器,但我想知道是否有更简单的方法。

我在主机上运行 Ubuntu 12.04,在客户端(VM)上运行 10.04LT。

答案1

我经常这样做,你甚至不需要启动虚拟机本身。这个想法是将磁盘映像安装到主机上。

为此,您需要 virtualbox-fuse:

$ sudo apt-get install virtualbox-fuse

然后,您可以使用 挂载映像vdfuse。例如,以 root 身份挂载 VDI 映像(也支持 VMDK 和 al):

$ mkdir /mnt/vdi
$ vdfuse -f /path/to/disk/image.vdi /mnt/vdi

在 中/mnt/vdi,您将拥有每个分区的一个磁盘映像和整个磁盘的一个磁盘映像:

$ ls /mnt/vdi
EntireDisk  Partition1  Partition2

挂载你想要的分区:

$ mkdir /mnt/guest
$ mount /mnt/vdi/Partition2 /mnt/guest

就是这样。现在您可以将文件复制到/mnt/guest主机,而无需任何网络开销。

它也适用于除了备份损坏的虚拟机之外的其他事情。;-)

答案2

一个简单的方法是在您的主机上启用 SSH,然后通过 SSH 在您的 VM 上挂载一个文件夹。

在主机上:

sudo apt-get install openssh-server
mkdir ~/vm_backup

在虚拟机上:

apt-get install sshfs
mkdir /mnt/host
sshfs [username]@[host]:/home/[username]/vm_backup /mnt/host

笔记:

  • 将 [用户名] 替换为主机上的用户名。
  • 将 [host] 替换为主机的 IP 地址或主机名

然后你只需要将你需要的一切都复制到/mnt/host

完成后,如果您不再需要 SSH,只需将其卸载即可。

sudo apt-get remove openssh-server

相关内容