一直很希望尝试一下平铺式桌面,在虚拟机中跟着up主Reaper_6的视频Fedora 颜值拉满:Niri+ Dank Material Shell 一步到位体验了一下,感觉窗口管理确实要比堆叠桌面高效得多了。终究还是不满足于仅在VM中使用,最终决定把个人的主力环境部署成这个组合。中间遇到了很多坑,也借助LLM解决了不少的问题,这里做一个大概完成后的复盘。由于整个过程较为分散,跌跌撞撞,基本没有留下太多截图,总体通过个人印象与bash命令历史等来记录一下过程中的问题与大概的解决方案,已经尽量详实。
环境
笔记本:联想小新Pro 14 2023款
- CPU: AMD锐龙7 7840HS(核显)
- 内存: 32GB
- 系统:Win11(为运行wsl已开启Hyper-V虚拟化)
Fedora 43系统安装
环境配置
由于我是最小化安装,不带有桌面环境,进入后为命令行界面
Android on Linux?Waydroid!
虚拟机?脱离VMware生态,拥抱KVM+QEMU
-
Linux下的虚拟化,最出名的尤属KVM+QEMU这个原生级方案,通过LLM了解到Incus这个容器/虚拟机管理器,可以通过命令行的形式非常便捷地进行容器与虚拟机管理
-
安装Incus(可参考官方安装文档)
virt-viewer是一个用于显示虚拟机图形界面的轻量级客户端。通过SPICE或VNC协议连接到由QEMU/KVM启动的虚拟机窗口,后续的incus console命令就是对virt-viewer的调用封装
sudo dnf install incus virt-viewer
newgrp incus-admin
sudo usermod -aG incus-admin $USER
sudo systemctl start --now incus.socket incus.service
incus admin init
-
配置防火墙规则
sudo firewall-cmd --zone=trusted --add-interface=incusbr0 --permanent
-
配置并启动一个带桌面环境的Ubuntu虚拟机
# 虚拟机初始化
incus init images:ubuntu/24.04/desktop my-ubuntu --vm
incus config set my-ubuntu limits.cpu 4
incus config set my-ubuntu limits.memory 4GiB
# 安装音频驱动(如果启动后出现了音频设备报错)
sudo dnf install qemu-audio-spice qemu-ui-spice-core
# 启动虚拟机(start是让虚拟机跑起来,但不会弹出虚拟机的桌面)
incus start my-ubuntu
# 连接虚拟机桌面(在另一个终端运行)
incus console my-ubuntu --type=vga
# 关闭虚拟机
incus stop my-ubuntu
Windows
在incus中配置Windows虚拟机比Linux虚拟机略复杂一些,主要原因是Windows不自带KVM的VirtIO驱动,会导致进入安装程序后看不到硬盘,网络可能也会有问题。
(本段内容由AI提供,本人还未实践)这个问题最佳的解决方案应该是使用Distrobuilder重新封装Windows的iso镜像文件,这种方法会自动将VirtIO驱动注入到Windows的安装程序(WinPE)和系统镜像中,进入安装界面后能直接看到incus分配的虚拟硬盘,无需再手动加载驱动。这种方式生成的镜像会预置好incus-agent的基础环境,方便后续通过命令行管理,且在重封装时会针对虚拟化环境做优化。
本人在Gemini的“误导”下使用的是手动加载驱动的方法注入VirtIO驱动。
-
安装virtio-win
sudo wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
sudo dnf install virtio-win
-
配置Win11虚拟机
incus init win11 --empty --vm
incus config set win11 limits.cpu 4
incus config set win11 limits.memory 8GiB
incus config device override win11 root size=64GiB
incus config set win11 security.secureboot true
incus config set win11 security.csm false # 使用UEFI模式启动
# 解决权限问题?不知道是否必要这样做
sudo mkdir -p /var/lib/incus/iso
sudo mv ~/Downloads/win11.iso /var/lib/incus/iso/
sudo chmod 644 /var/lib/incus/iso/win11.iso
sudo chcon -t svirt_home_t /var/lib/incus/iso/win11.iso
# 添加安装介质与VirtIO驱动
incus config device add win11 install-media disk source=/var/lib/incus/iso/win11.iso boot.priority=10
# 其实有一个直接的命令(如下),但使用这条命令我实操的时候没找到对应驱动
## incus config device add win11 virtio-drivers disk source=/usr/share/virtio-win/virtio-win.iso
incus config set win11 raw.qemu -- "-drive file=/usr/share/virtio-win/virtio-win.iso,index=3,media=cdrom,if=ide"
-
安装Win11虚拟机
-
在Win11虚拟机中安装VirtIO驱动支持(否则鼠标会被困在里面!)
# 先把虚拟机关机
incus config unset win11 raw.qemu
incus config device remove win11 install-media
incus config device add win11 virtio-drivers disk source=/usr/share/virtio-win/virtio-win.iso
# 随后开机、连接进入Win后像安装VMware Tool一样安装VirtIO驱动
来源:https://www.cnblogs.com/lentikr/p/19820568/260403_fedora_setup |