Manjaro + Hyprland 安装使用VirtualBox

Manjaro 安装Virtualbox

查看当前的Linux 内核版本

1
uname -a

安装Virtualbox

1
sudo pacman -S virtualbox

首次安装会要求选依赖, 选择 virtualbox-host-dkms, 除了这个选项, 其它都是根内核版本相关的,
virtualbox-host-dkms 的意思是会自动适配当前内核版本, 以后升级内核版本也会自动适配

reload Virtualbox

1
sudo vboxreload

装好后只有执行了 vboxreload 之后 virtualbox 才能正常使用

安装扩展

查看当前安装的Virtualbox 的版本

1
vboxmanage -v | cut -dr -f1

下载扩展包

virtualbox 下载对应版本的 vbox-extpack
如当前版本是 7.0.12 则下载

安装扩展包

1
sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack

Virtualbox 适配高分辨率( 最高只能适配2K 屏幕 )

下载增强包

virtualbox 下载对应版本的 VBoxGuestAdditions

在虚拟机中安装增强包

Devices => Optical Drivers => Choose a disk file

选择 VBoxGuestAdditions_7.0.12.iso
这会在虚拟机中挂载这个光盘, 通过文件管理器打开这个光盘来进行安装

以Windows 为例双击安装 VBoxWindowsAdditions 即可

调整分辨率

Virtualbox 安装Win11

主要关键点有以下两个

勾选 Skip Unattended Installation

不勾这个, 在最后一步点Finish 都点不了

选上 EFI 和 TPM

让Virtualbox 不捕捉主机的功能键( 如 Win 键 )

这样可以不影响主机使用Win + Num 来切换应用程序
Virtualbox => Input => Keyboard => Keyboard Settings…

把 Auto Capture Keyboard 这个选项的勾去掉

解决Virtualbox Win11占用CPU 高的问题

据网上说, 假如分配了4 个CPU, 那么Virtualbox 就要等真的有4 个CPU 都空闲时, 再运行Virtualbox,
如果主机使用的CPU 多的话, 这就会引起Virtualbox 卡顿, 所以不是分配越多CPU 就越好

减少分配的CPU 个数

原则上从1 个CPU 开始, 觉得卡再往上加, 一般2 个就不卡了

去掉 Secure Boot Chipset 选 PIX3

干掉WIN11 的没用的自启动应用 ( 这个才是最关键的 )

把那些无关的全部关掉之后, Virtualbox 就很快让CPU 风扇狂转了

复制拷贝移动VirtualBox 虚拟机到别的电脑

直接复制一份到另外一台电脑上运行是不行的, 因为 .vbox 文件中有物理硬盘的描述 uuid

使用拷贝的 vdi 文件创建虚拟机

只能通过拷贝 .vdi 文件, 然后在另外的电脑上使用.vdi 文件来创建新的虚拟机

不需要选ISO

选择vdi 的路径

把vdi 文件拷贝到虚拟机的安装目录并修改 .vbox 文件

关闭虚拟机

拷贝vdi

1
cp xxx.vdi "~/home/wcq/VirtualBox VMs/win11/win11.vdi"

修改 vbox

修改 ~/home/wcq/VirtualBox VMs/win11/win11.vbox 文件, 把有关vdi 的路径都修改成 win11.vdi

VirtualBox 与主机共享剪切板 (clipboard)

可能是由于 wayland 的原因, 即使VirtualBox 设置了双向共享剪切板, 也只有从Guest 到 Host 的有效

解决办法

要想实现从Host 到Guest 的共享, 需要以下几步

  1. 确保安装了rofi 如果没有安装则使用以下命令安装

    1
    
       sudo pacman -S rofi
    
  2. 把以下命令绑定到快捷键 SUPER + SHIFT + V

    1
    
       bind = SUPER SHIFT, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
    
  3. 在 Host 复制

  4. 切到 Guest 中, 重新复制文本
    按快捷键 SUPER + SHIFT + V, 然后选中( 可以用 C-n C-p 或者方向键选择 )要粘贴的文本, 按回车
    这会把选中的文本复制到当前的剪切板

  5. 在Guest 中粘贴即可