Please enable Javascript to view the contents

Virtual Box常见问题解决

 ·  ☕ 4 分钟

Virtual Box 使用时遇到的问题

Virtual Box 虚拟机简称 Vbox。

Vbox 网卡配置,Vbox 与主机通信,见《使用 SSH 连接 VirtualBox 虚拟机.md》

在客户机时中安装 Vbox 的增强程序

手动安装 VBoxAdditon ,即在虚拟机中安装 Vbox 的增强程序。

前提

  • 虚拟机需安装 gcc 和 make

Fedora 中安装增强插件错误

根据之前的记录:

#install gcc
yum install gcc -y
yum install gcc-g++ -y

#install VBoxLinuxAdditions.run FAILED,
yum install kernel -y
yum install kernel-devel -y
#现在安装 vbox 增强插件的依赖已经具备, 现在需要手动进入 挂载的iso文件中执行操作。

Debian 中安装增强插件错误

在 Debian 8 中它是被挂载到 /media/cdrom0/ 目录下,进入该目录,以 root 身份执行 autorun.sh;如产生错误一定要去看/var/log/下的日志文件,以寻找解决办法。

在安装了 gcc g++ make 后 /var/log/vboxadd-install.log 中显示,

Makefile:181: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again. Stop

执行: apt-get install linux-headers-$(uname -r)

解决问题。

虚拟机中的 Linux 系统挂载 Vbox 共享的文件夹

假定在添加共享文件夹的时候,共享的文件夹被你命名为 shared 则在 Guest Linux 中执行:

mkdir /mnt/vbox_shared
mount -t vboxsf shared /mnt/vbox_shared

如需每次开机自动挂载,则先要在添加共享文件夹时勾选"固定分配”,然后参考如下网站:

参考 1
参考 2
参考 3

Vbox 启动错误

错误提示如下:

VirtualBox - Error in suplibOslnit

Kernel driver not installed(rc=-1908)
  ...
Please reinstall the kernel module by executing

`/sbin/vboxconfig`

...
...

执行了错误提示中的命令: 但没有效果。

由于 VisualBox 与 linux 内核的结合比较紧密,而 Linux 内核更新频繁,因此可能出现如上错误; 在此情况下,需要重新编译 VirtualBox 的内核,Ubuntu 中使用如下命令:

sudo /etc/init.d/vboxdrv setup

参考

处理方法已经写入 ~/.local/bin/ 下的相关 sh 文件中。

不能为虚拟机 XXX 打开一个新任务

不能为虚拟机XXX打开一个新任务
。。。
apic#0: Config mismatch - uApicMode: saved=3 config=2 [ver=5 pass=final] (VERR_SSM_LOAD_CONFIG_MISMATCH).

当前虚拟机处于休眠状态

解决办法:点击清除虚拟机状态。重启就好了。

VirtualBox 安装扩展包

在此下载对应版本的扩展包(版本一定要对应),扩展包后缀名为 .vbox-extpack,直接双击扩展包进行安装即可。

VirtualBox 扩展包安装教程

VirtualBox 快照失效

在重装系统后,再次安装 virtualox,所有路径保持原先路径,然后调用原来的磁盘文件,发现虚拟机是可以使用了,但是原来的快照全部丢失,虽然我的快照文件还在电脑里并且还在原来的路径,但是 virtualbox 死活不认了 。

VirtualBox 快照(Snapshot)

最初的操作步骤:

新建 -> 填入"虚拟电脑名称和系统类型" -> 然后在虚拟硬盘处 -> 选用"使用已有的虚拟硬盘文件" -> 创建 -> 完成

出现的问题: 新建的虚拟机运行于创建第一个快照之前,并且无法看到任何快照。

之后又使用如下的方式导入虚拟机:

  1. 控制
  2. 注册
  3. 选择对应虚拟机的 .vbox 文件

运行虚拟机后,可以看到已经恢复到最新状态(最后一个快照之后),但是还是不能看到之前创建的虚拟机。

.vbox 文件,可以以文本格式打开。

VirtualBox 虚拟机的迁移和快照问题__新浪博客

连接外置启动 U 盘

一般情况启动后的虚拟机,可以通过点击界面下方的 USB 图标来选择主机中已加载的 USB 设备来读写 U 盘。但是,如果希望使用 U 盘来启动虚拟系统的话,却不能直接在虚拟系统的设置界面中选择。 用来启动的 U 盘应使用 USB-HDD 方式,在 VirtualBox 中,可以将其映射为一个硬盘。

如果启动后的虚拟机不能连接 U 盘,则需要先安装 VM_VirtualBox_Extension_Pack 。 安装成功后,进入虚拟机,在 设置 中的 USB 设备 中即可选择添加主机中插入的 U 盘。虚拟机运行时,即可加载并访问 U 盘(此时,主机中 U 盘自动卸载)。

但是如果要连接 U 盘并从 U 盘启动,则还需要进行下面的操作:

  • 右键 VirtualBox 快捷键,选择"打开文件所在位置”,进入 VirtualBox 安装目录

  • 管理员身份 运行 VirtualBox 软件,否则不能使用加载 U 盘 vmdk 文件,运行后暂不执行操作。

  • 管理员身份 打开 PowerShell,并进入 VirtualBox 安装目录

  • 使用下面命令查看一下 U 盘的 DeviceID 长得类似 \\.\PHYSICALDRIVE2 只是最后的数字不同(最好把 PowerShell 拉宽一点,好显示)

1
wmic diskdrive list brief
  • 然后运行下面的命令来生成 vmdk 文件

    1
    2
    3
    
    # 格式:VBoxManage internalcommands createrawvmdk -filename <文件存放路径.vmdk> -rawdisk <DeviceID>
    # 示例
    VBoxManage.exe internalcommands createrawvmdk -filename "D:\VirtualBox VMs\usb-drive2.vmdk" -rawdisk \\.\PhysicalDrive2
    
  • 提示成功后,在 VirtualBox 的虚拟机中 设置,在 存储 中点击添加,选择 使用现有的虚拟盘,添加刚刚生成的 usb.vmdk 文件。

  • 启动虚拟机,按 F12,选择 虚拟硬盘 2 即可从 U 盘启动。

用同样的办法,也可以将物理硬盘设备挂载到虚拟系统中,实现让虚拟系统直接读写实际的硬盘分区。

跟随主机开启启动

VirtualBox 启动可以分两种,一种有界面的,一种没界面的,如果是 liunx 可以考虑使用无界面,win 系统就用有界面的把。

有界面启动方式:

  1. 首先打开 VirtualBox 软件选中需要自启动的虚拟机,右键-创建快捷方式
  2. 创建快捷方式是不能直接打开的,会提示错误
  3. 右键该快捷方式,只需将目标位置中的 VirtualBox.exe 改为 VirtualBoxVM.exe
  4. 然后将该快捷方式放入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup 目录,即可开机启动

无界面启动方式:

与有界面启动方式操作一样,但是到了第 3 步时需要在目标位置在上面修改的基础上在末尾多添加一个 --type headless 即可。

在虚拟机里面安装群晖

您的鼓励是我最大的动力
alipay QR Code

Felix
作者
Felix
如无必要,勿增实体。

3

目录