对于拥有一台无图形界面(Headless)Ubuntu 服务器的折腾党或开发者来说,有时我们不可避免地需要运行一个 Windows 环境来处理特定任务。
提到服务器虚拟化,很多人第一时间会想到 VMware ESXi 或 Proxmox VE (PVE)。但如果你不想重装现有的 Ubuntu 系统,又极度渴望拥有类似 ESXi 那样直观的 Web 管理界面,该怎么办?
今天,我们就来聊聊目前最优雅的解决方案:Ubuntu 原生 KVM + Cockpit 面板,并分享如何让 Windows 在其中长期稳定如狗地运行。
一、 为什么选择 KVM + Cockpit?
在开始动手之前,我们需要理清一个核心概念:
- KVM (Kernel-based Virtual Machine): 这是 Linux 内核自带的顶级虚拟化技术,是真正干活的“引擎”。由于直接嵌在内核中,它的性能损耗极低,是各大云厂商(AWS、阿里云等)的底层标配。
- Cockpit: 这是一个由红帽赞助的轻量级 Web 管理工具,它是我们要用的“遥控器”。
通过组合这两者,我们既保全了现有的 Ubuntu 系统,又获得了强大的底层性能,还拥有了可以用鼠标点点点就能创建和管理虚拟机的 Web 后台,甚至自带网页版 VNC 远程桌面,彻底告别繁琐的命令行操作。
二、 极简安装指南
通过 SSH 登录到你的 Ubuntu 服务器,只需执行以下几条命令即可完成基础环境的搭建。
1. 安装底层虚拟化组件 (KVM)
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
2. 安装 Web 管理面板 (Cockpit) 及其虚拟机插件
sudo apt install cockpit cockpit-machines
3. 启动服务并设置开机自启
sudo systemctl enable --now libvirtd
sudo systemctl enable --now cockpit.socket
三、 开启 Web 可视化管理
安装完成后,你的服务器就已经具备了 Web 管理能力。
- 在本地电脑的浏览器中访问:
https://你的服务器IP地址:9090。 - 遇到浏览器的“不安全”提示时(因为是自签发证书),点击“高级”并继续访问。
- 使用你 Ubuntu 系统的普通用户名和密码登录。
- 在左侧导航栏点击 “虚拟机” (Virtual Machines),你就可以直观地分配 CPU、内存,加载 Windows ISO 镜像并创建虚拟机了。点击新建的虚拟机,还能直接在浏览器里看到 Windows 的安装画面!
四、 进阶:让 Windows 虚拟机长期稳定运行的“武功秘籍”
很多人抱怨 Windows 在 KVM 下运行卡顿、容易死机,往往是因为忽略了后续的优化。要让 Windows 虚拟机胜任长期稳定的生产力工作,你必须做好以下四点:
1. 打满全套 VirtIO 驱动(重中之重)
Windows 原生不支持 KVM 的虚拟化硬件,你需要挂载红帽官方提供的 VirtIO 驱动光盘(virtio-win.iso)。
- 磁盘驱动 (viostor/vioscsi): 解决安装时找不到硬盘的问题,并大幅提升磁盘 I/O 读写速度。
- 网卡驱动 (NetKVM): 抛弃模拟的千兆网卡,解锁万兆级别的虚拟网络性能,极大降低宿主机 CPU 占用。
- 内存气球 (Balloon): 允许 Ubuntu 宿主机动态回收 Windows 未使用的内存,提高整体服务器的内存利用率。
2. 部署 QEMU Guest Agent (访客代理)
这是一个运行在 Windows 内部的后台服务,是连接宿主机和虚拟机的桥梁。
- 优雅关机: 安装后,在 Cockpit 面板点击“关机”才会触发 Windows 的正常关机流程。否则,它等同于直接拔掉虚拟机的电源,极易损坏系统文件。
- 时间同步: 确保虚拟机的时间与宿主机毫秒级同步,防止因时间线错乱导致的各种网络验证错误。
3. 调整 Windows 电源管理设置
作为服务器上的虚拟机,它不需要“休息”。进入 Windows 控制面板,将“关闭显示器”和“使计算机进入睡眠状态”全部设置为“从不”。虚拟机的休眠往往会导致唤醒失败或假死,彻底关闭是保持稳定的关键。
4. 合理分配系统资源
不要把所有的硬件资源都榨干分配给 Windows。底层运行的 KVM 进程和 Ubuntu 宿主机本身也需要资源来进行 I/O 调度。如果你有 16GB 物理内存,分配给 Windows 8GB 到 12GB 即可,务必给宿主机留出充足的“呼吸空间”。
总结: 利用 KVM 的强大性能加上 Cockpit 的易用性,我们在无头 Ubuntu 服务器上完美实现了轻量、高效、可视化的 Windows 虚拟机部署。只要做好了驱动和代理服务的优化,它完全可以作为你长期稳定的生产力工具。
版权属于:soarli
本文链接:https://blog.soarli.top/archives/841.html
转载时须注明出处及本声明。