6.8 KiB
在无图形界面的服务器上,全程通过命令行操作是标准做法。核心思路是使用 virt-install 命令创建虚拟机,并通过 VNC 远程连接来完成 Windows 的图形化安装。
以下是完整的命令行操作手册:
📋 一、前提条件
在开始之前,请确保:
- CPU 支持虚拟化:你的 E5-2673 支持,但需在 BIOS 中确认 Intel VT-x 已启用。
- 拥有 sudo 权限。
🛠️ 二、安装 KVM 及相关工具
-
更新软件包列表:
sudo apt update -
安装 KVM、QEMU、libvirt 和 virt-install(无需图形界面工具
virt-manager):sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst ovmf -
将当前用户加入
libvirt和kvm组:sudo usermod -aG libvirt $USER sudo usermod -aG kvm $USER -
启动
libvirtd服务并设置开机自启:sudo systemctl enable --now libvirtd -
验证服务状态:
sudo systemctl status libvirtd确保状态为
active (running)。
🌐 三、(可选)配置桥接网络
默认的 NAT 网络(default)可以让虚拟机访问互联网,但如果需要虚拟机与宿主机在同一个局域网,并拥有独立 IP,则需要配置桥接网络。
注意:以下操作通过 SSH 连接服务器时请格外小心,错误的网络配置可能导致连接中断。建议通过服务器控制台(如 IPMI、iDRAC)操作。
-
查看网卡名称:
ip link show找到你的物理网卡,如
enp3s0或eth0。 -
备份当前 Netplan 配置:
sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak你的配置文件可能叫别的名字,以
/etc/netplan/目录下的实际文件名为准。 -
编辑 Netplan 配置文件:
sudo nano /etc/netplan/50-cloud-init.yaml -
修改为以下内容(请将
enp3s0、IP 地址等替换为你自己的信息):network: version: 2 renderer: networkd ethernets: enp3s0: dhcp4: false bridges: br0: interfaces: [enp3s0] addresses: [192.168.1.100/24] # 替换为你的静态IP routes: - to: default via: 192.168.1.1 # 替换为你的网关 nameservers: addresses: [8.8.8.8, 8.8.4.4] parameters: stp: false forward-delay: 0如果希望网桥通过 DHCP 自动获取 IP,可将
addresses、routes、nameservers替换为dhcp4: true。 -
应用配置:
sudo netplan apply -
验证网桥:
ip addr show br0
💾 四、准备 ISO 镜像文件
创建目录存放 ISO 文件:
mkdir -p ~/iso
将以下两个 ISO 文件放入 ~/iso 目录:
- Windows 10 LTSC ISO 镜像
- VirtIO 驱动 ISO:从 Fedora 官方仓库 下载。
🚀 五、使用 virt-install 创建虚拟机
执行以下命令创建虚拟机:
sudo virt-install \
--name win10-ltsc \
--memory 8192 \
--vcpus sockets=1,cores=4,threads=1 \
--disk path=/vm/disk/win10-ltsc.qcow2,size=60,bus=virtio \
--disk path=/vm/iso/virtio-win.iso,device=cdrom \
--cdrom /vm/iso/zh-cn_windows_10_enterprise_ltsc_2021_x64_dvd_033b7312.iso \
--os-variant win10 \
--network network=default,model=virtio \
--graphics vnc,listen=0.0.0.0 \
--console pty,target_type=serial \
--boot uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no \
--check path_in_use=off
各参数说明
| 参数 | 说明 |
|---|---|
--name |
虚拟机名称 |
--memory |
分配的内存大小(MB),此处为 8GB |
--vcpus |
CPU 配置:1 个 CPU 插槽,4 个核心,每个核心 1 个线程 |
--disk |
磁盘路径、大小(GB)和总线类型(virtio 性能最佳) |
--cdrom |
Windows ISO 镜像路径 |
--os-variant |
操作系统类型,win10 适用于 Windows 10/11 |
--network |
网桥名称(如用 NAT 则填 default)和网卡型号(virtio) |
--graphics |
关键:启用 VNC,并监听所有网络接口 |
--console |
开启串行控制台,便于故障排查 |
--boot |
使用 UEFI 固件(ovmf)启动 |
关于
--os-variant:执行osinfo-query os | grep win可查看所有支持的 Windows 版本。
🖥️ 六、通过 VNC 完成 Windows 安装
-
确认 VNC 端口:
sudo virsh vncdisplay win10-ltsc输出类似
127.0.0.1:0,表示 VNC 服务在 5900 端口(:0对应 5900,:1对应 5901)。 -
连接 VNC:在本地电脑上用 VNC 客户端连接:
你的服务器IP:5900安全提醒:上述配置中 VNC 未设密码,任何人都可连接。建议通过 SSH 隧道转发 VNC 端口,或使用
--graphics vnc,password=你的密码设置密码。 -
在 VNC 窗口中安装 Windows:
- 正常进入安装界面。
- 当提示 “未找到任何驱动器” 时,点击 “加载驱动程序”。
- 点击 “浏览”,找到 VirtIO 驱动 ISO 中的
viostor\w10\amd64文件夹,加载 “Red Hat VirtIO SCSI Controller” 驱动。 - 磁盘识别后,继续完成 Windows 安装。
🚀 七、安装完成后的优化
-
安装 VirtIO 网卡驱动:
- Windows 安装完成后,进入“此电脑”,打开 VirtIO 驱动光盘。
- 运行
virtio-win-gt-x64.exe安装所有驱动。
-
启用远程桌面(RDP):
- 在 Windows 中:设置 → 系统 → 远程桌面 → 开启远程桌面。
- 之后可通过 RDP 客户端直接连接,比 VNC 更流畅。
-
常用虚拟机管理命令:
# 启动虚拟机 sudo virsh start win10-ltsc # 关闭虚拟机(需在 Windows 内关机) sudo virsh shutdown win10-ltsc # 强制关闭 sudo virsh destroy win10-ltsc # 查看所有虚拟机状态 sudo virsh list --all # 删除虚拟机 sudo virsh undefine win10-ltsc
💎 总结
整个流程可概括为:
- 安装 KVM 相关软件包。
- (可选)配置桥接网络。
- 准备 Windows ISO 和 VirtIO 驱动 ISO。
- 执行
virt-install命令创建虚拟机。 - 通过 VNC 连接,在 Windows 安装过程中加载 VirtIO 驱动。
- 安装 VirtIO 驱动并启用 RDP,完成优化。
如果在 VNC 连接或驱动加载环节遇到问题,可以随时再来问我。