vault backup: 2026-11-07 16:33:44

This commit is contained in:
cheney
2026-11-07 16:33:55 +08:00
commit 7015312702
1208 changed files with 132432 additions and 0 deletions
+202
View File
@@ -0,0 +1,202 @@
在无图形界面的服务器上,全程通过命令行操作是标准做法。核心思路是使用 `virt-install` 命令创建虚拟机,并通过 **VNC** 远程连接来完成 Windows 的图形化安装。
以下是完整的命令行操作手册:
---
### 📋 一、前提条件
在开始之前,请确保:
1. **CPU 支持虚拟化**:你的 E5-2673 支持,但需在 BIOS 中确认 **Intel VT-x** 已启用。
2. **拥有 sudo 权限**。
### 🛠️ 二、安装 KVM 及相关工具
1. **更新软件包列表**:
```bash
sudo apt update
```
2. **安装 KVM、QEMU、libvirt 和 virt-install**(无需图形界面工具 `virt-manager`):
```bash
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst ovmf
```
3. **将当前用户加入 `libvirt` 和 `kvm` 组**:
```bash
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
```
4. **启动 `libvirtd` 服务并设置开机自启**:
```bash
sudo systemctl enable --now libvirtd
```
5. **验证服务状态**:
```bash
sudo systemctl status libvirtd
```
确保状态为 `active (running)`。
### 🌐 三、(可选)配置桥接网络
默认的 `NAT` 网络(`default`)可以让虚拟机访问互联网,但如果需要虚拟机与宿主机在同一个局域网,并拥有独立 IP,则需要配置桥接网络。
> **注意**:以下操作通过 SSH 连接服务器时请格外小心,错误的网络配置可能导致连接中断。建议通过服务器控制台(如 IPMI、iDRAC)操作。
1. **查看网卡名称**:
```bash
ip link show
```
找到你的物理网卡,如 `enp3s0` 或 `eth0`。
2. **备份当前 Netplan 配置**:
```bash
sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak
```
你的配置文件可能叫别的名字,以 `/etc/netplan/` 目录下的实际文件名为准。
3. **编辑 Netplan 配置文件**:
```bash
sudo nano /etc/netplan/50-cloud-init.yaml
```
4. **修改为以下内容**(请将 `enp3s0`、IP 地址等替换为你自己的信息):
```yaml
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`。
5. **应用配置**:
```bash
sudo netplan apply
```
6. **验证网桥**:
```bash
ip addr show br0
```
### 💾 四、准备 ISO 镜像文件
创建目录存放 ISO 文件:
```bash
mkdir -p ~/iso
```
将以下两个 ISO 文件放入 `~/iso` 目录:
* **Windows 10 LTSC ISO 镜像**
* **VirtIO 驱动 ISO**:从 [Fedora 官方仓库](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso) 下载。
### 🚀 五、使用 virt-install 创建虚拟机
执行以下命令创建虚拟机:
```bash
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 安装
1. **确认 VNC 端口**:
```bash
sudo virsh vncdisplay win10-ltsc
```
输出类似 `127.0.0.1:0`,表示 VNC 服务在 **5900** 端口(`:0` 对应 5900,`:1` 对应 5901)。
2. **连接 VNC**:在本地电脑上用 VNC 客户端连接:
```
你的服务器IP:5900
```
> **安全提醒**:上述配置中 VNC 未设密码,任何人都可连接。建议通过 SSH 隧道转发 VNC 端口,或使用 `--graphics vnc,password=你的密码` 设置密码。
3. **在 VNC 窗口中安装 Windows**:
* 正常进入安装界面。
* 当提示 **“未找到任何驱动器”** 时,点击 **“加载驱动程序”**。
* 点击 **“浏览”**,找到 VirtIO 驱动 ISO 中的 `viostor\w10\amd64` 文件夹,加载 **“Red Hat VirtIO SCSI Controller”** 驱动。
* 磁盘识别后,继续完成 Windows 安装。
### 🚀 七、安装完成后的优化
1. **安装 VirtIO 网卡驱动**:
* Windows 安装完成后,进入“此电脑”,打开 VirtIO 驱动光盘。
* 运行 `virtio-win-gt-x64.exe` 安装所有驱动。
2. **启用远程桌面(RDP)**:
* 在 Windows 中:设置 → 系统 → 远程桌面 → 开启远程桌面。
* 之后可通过 RDP 客户端直接连接,比 VNC 更流畅。
3. **常用虚拟机管理命令**:
```bash
# 启动虚拟机
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
```
### 💎 总结
整个流程可概括为:
1. **安装** KVM 相关软件包。
2. **(可选)配置**桥接网络。
3. **准备** Windows ISO 和 VirtIO 驱动 ISO。
4. **执行** `virt-install` 命令创建虚拟机。
5. **通过 VNC 连接**,在 Windows 安装过程中加载 VirtIO 驱动。
6. **安装 VirtIO 驱动**并启用 RDP,完成优化。
如果在 VNC 连接或驱动加载环节遇到问题,可以随时再来问我。