Skip to content

虚拟机二:Virtualbox 安装 Arch 遇到的一些问题

Virtualbox 似乎对我而言比 VMWare 更好一点,来看看吧~

Virtualbox 比 VMware 的好处

1. Thinkpad 中键和 windows 宿主机行为一样。
windows 里面如果安装 tpmiddle,这样会让 thinkpad 的中键和鼠标中键效果一样,但是发现这招在 VMware 里面就失效了,但是在 Virtualbox 中竟然是 OK 的!

2. Virtualbox 支持自定义热键。
这样有什么好处呢。主要方便切换虚拟桌面,我一般定义热键为 Ctrl+Alt,然后改变 Windows 虚拟桌面快捷键,改变为 Ctrl+Alt+h/l。此时我就可以在虚拟机中按一次 Ctrl+Alt,紧接着按一次 Ctrl+Alt+h/l 就可以切换到下一个虚拟桌面了~

导入 ovf

导入 ovf 之后,如果立刻启动,会发现有错误: no bootable ...,需要对虚拟机设置做如下调整(参考1)
1. General > Basic: Set Type to Linux
2. General > Basic: Set Version to Arch Linux (64-bit)
3. System > Motherboard: Check Enable I/O APIC
4. System > Motherboard: Check Enable EFI (special OSes only)
5. Storage > Controller: SCSI: Set Type to AHCI
6. Storage > Controller: SCSI: Set Name to SATA

其中最后两步可能会不知道怎么弄,最终结果如下图所示。首先通过红圈所标注地方添加 SATA 硬盘,然后把我们原来的硬盘移到那里就可以了。

change_storage

这些做完之后,再次打开就会出现 UEFI Interactive Shell,并且此时硬盘是映射成功的,只是 Virtualbox 没有找到我们的启动项文件,所以要进行接下来的调整。

设置启动项

一般来说,启动项在 FS:0,不在那就看看是不是 FS:1。

进入 FS:0,找到 grubx64.efi 这个文件,比如我这个位置就在 FS:0\EFI\grub\grubx64.efi,然后把它复制到 FS:0\EFI\boot\bootx64.efi 中,注意是 \ 不是 /。(参考2)

change_grub

安装增强功能

sudo pacman -S virtualbox-guest-utils
systemctl enable vboxservice.service
systemctl start  vboxservice.service
# 把下面这条命令添加到自启动中,比如我使用 i3wm 就在 i3 配置文件中加入这条语句
VBoxClient-all

2021/05/17 更新
安装 Centos 发现运行增强功能那个安装脚本不太行,详情看 《CentOS 安装 Virtualbox 增强功能》 这篇文章。

全屏和无缝

全屏功能在 i3wm 这个图形环境中会发现显示是透明的,解决方法为: Settings -> User Interface -> Disable (show in full-screen/semaless)
无缝功能在 i3wm 下也是有问题的,设置方法同上。

剪切板,文件夹

剪切板没什么说的,设备->共享剪切板->双向。
文件夹没什么说的,设备->共享文件夹,设定一个文件夹,固定分配、自动挂载。

2021/09/07 更新
剪切板出了问题。如果从 Chromium 类的浏览器地址栏复制 URL,那么就会使得共享剪切板 Crash,换个浏览器吧..
参考: https://forums.virtualbox.org/viewtopic.php?f=7&t=91093#p438689

参考链接

[1] https://blog.amanshortly.com/importing-ovf-templates-of-vms-that-use-uefi-boot-mode/
[2] https://parrotsec-cn.org/t/topic/1397
[3] https://www.virtualbox.org/ticket/15092

Comments