前言
最近想把唯一的windows系统装成linux, 但是确实存在一些特殊软件无法舍弃,所有装完linux需要用虚拟机装个windows 上来使用特定的一些软件(不想用wine了)。
还有对一些特定usb设备的透传,这样才能保证在虚拟机中驱动其他的各种硬件外设。
1. linux安装virtaulBox
1.1 软件版本选择
这里推荐 直接去官方网站去下载最新的 VirtualBox 。
因为前期我用ubuntu自带的软件源下载的 VirtualBox 版本较低(6.1之前的版本) ,有双向拖拽文件的bug: 第一次可以拖拽,第二次拖拽就会无法成功,只能通过重启vm解决。
所以这里使用官方地址去下载最新版 VirtualBox。
1.2 拓展安装(host端)
安装virtualBox后,安装拓展(对文件双向拖拽,共享剪切板, 分辨率自适应窗口,usb映射支持)
这里需要注意安装拓展时要于 virtualBox 版本进行对应,可以到virtualBox中 帮助-关于 查看当前版本:
下载好的 vbox-extpack 文件,直接双击就可以用 VirtualBox打开,进行拓展安装。
1.3 拓展安装(vm端)
还需要对 虚拟机中进行安装,在挂载硬盘中选择添加挂载的镜像:
然后启动虚拟机,在文件资源管理器中打开挂载的镜像,双击可执行文件进行 拓展安装, 安装后重启VM。
正常的话,对文件双向拖拽,共享剪切板, 分辨率自适应窗口都应该可以了。
2. virtaulBox 对 USB设备映射
这对我来说也是一个迫切需求,用vm如果没有这个功能会很难受。
这里启动VM时 无法遍历 USB设备,是一个权限问题:
VirtualBox is not currently allowed to access USB devices. You can change this by adding your user to the 'vboxusers' group. Please see the user manual for a more detailed explanation
将当前用户添加到 vboxusers 用户组后,重启电脑, 可以解决这个问题。
sudo usermod -a -G vboxusers $USER
在启动 vm后,usb可以直接点击对应设备,将对应设备挂载到 vm 中。
2.1 USB设备筛选器的使用
点击绿色+号,可以对已经连接的设备,添加到 USB设备筛选器,简单来说这个功能,可以实现在你启动VM时自动将对应设备挂载的VM中,减少你去手动点击对应设备的步骤。或者在你已经启动VM的条件下(并且添加到筛选器的情况下),此时插入设备,自动进入捕获状态,会自动挂载到VM中,而不是host中。
3. 对一些USB设备无法挂载的排查
这里排查方向建议首先是host端是否设置正确,可以通过 sudo dmesg -w
通过查看内核日志,观察在插拔状态下的日志打印情况。
这里我插入了一个nfc设备,挂载一直显示:
is busy with a previous request. please try again later.
后来我想起我之前写的文章,linux上对nfc设备有一个驱动冲突的问题:
linux 使用ACR122U-A9设备读写M1卡
在 blacklist.conf
加入屏蔽的驱动,重启电脑后果然成功挂载了:
blacklist nfc
blacklist pn533