Rocky Linux:打开 Windows 应用

KVM(Kernel-based Virtual Machine)是 Linux 内核内置的虚拟化解决方案,性能优异且稳定。以下是详细的安装和使用说明:

一、安装 KVM 虚拟化套件

1
2
3
4
5
6
7
8
9
# 1. 安装虚拟化核心组件
# 安装KVM虚拟化
sudo dnf group install "Virtualization Host"

# 2. 安装管理工具
sudo dnf install virt-install virt-viewer libguestfs-tools virt-manager

# 3. 安装额外工具
sudo dnf install bridge-utils qemu-img

二、启动并配置服务

1
2
3
4
5
6
7
8
# 1. 启动 libvirtd 服务
sudo systemctl start libvirtd

# 2. 设置开机自启
sudo systemctl enable libvirtd

# 3. 检查服务状态
sudo systemctl status libvirtd

三、配置网络桥接(推荐)

1. 创建网桥配置文件

1
sudo nmcli connection add type bridge con-name br0 ifname br0

2. 配置网桥 IP

1
2
3
4
sudo nmcli connection modify br0 ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify br0 ipv4.gateway 192.168.1.1
sudo nmcli connection modify br0 ipv4.dns 8.8.8.8
sudo nmcli connection modify br0 ipv4.method manual

3. 将物理网卡加入网桥()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看物理网卡名称(通常为 enpXsY)
ip link show

# 将物理网卡加入网桥
sudo nmcli connection add type ethernet slave-type bridge con-name bridge-br0 ifname enp3s0 master br0

# 激活网桥
sudo nmcli connection down "Wired connection 1"
sudo nmcli connection up br0

#清理操作

sudo nmcli connection down br0 # 停用连接
sudo nmcli connection delete br0 # 删除配置

四、创建虚拟机

方法 1:使用命令行创建虚拟机

1
2
3
4
5
6
7
8
9
10
sudo virt-install \
--name win11 \
--ram 4096 \
--vcpus 4 \
--disk path=/var/lib/libvirt/images/win10.qcow2,size=50 \
--os-type windows \
--os-variant win10 \
--network bridge=br0,model=virtio \
--graphics spice \
--cdrom /path/to/windows10.iso

方法 2:使用图形界面创建虚拟机

1
2
# 启动虚拟机管理器
sudo virt-manager
  1. 点击”创建新虚拟机”按钮
  2. 选择”本地安装介质”
  3. 浏览并选择 Windows ISO 文件
  4. 配置内存和 CPU
  5. 选择”为虚拟机启用存储”
  6. 选择网络为”桥接网络:br0”
  7. 完成向导开始安装

五、优化 Windows 虚拟机性能

1. 安装 virtio 驱动

1
2
3
4
# 下载 virtio 驱动
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

# 在虚拟机中添加 CDROM 设备加载该 ISO

2. 安装驱动步骤:

  1. 在 Windows 安装界面选择”加载驱动程序”
  2. 浏览到 virtio-win ISO 中的 amd64/w10 目录
  3. 选择”Red Hat VirtIO SCSI controller”安装存储驱动
  4. 安装完成后重启,继续安装其他驱动(网络、显示等)

六、虚拟机管理命令

常用命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 列出所有虚拟机
virsh list --all

# 启动虚拟机
virsh start win11

# 关闭虚拟机
virsh shutdown win11

# 强制停止虚拟机
virsh destroy win11

# 删除虚拟机
virsh undefine win11

# 编辑虚拟机配置
virsh edit win11

虚拟机控制台:

1
2
3
4
# 进入虚拟机控制台
virsh console win11

# 退出控制台:Ctrl + ]

七、高级功能配置

1. 配置共享文件夹

1
2
3
4
5
6
7
8
9
10
11
12
13
# 在宿主机创建共享目录
mkdir ~/shared-folder

# 在虚拟机 XML 配置中添加:
<filesystem type='mount' accessmode='passthrough'>
<source dir='/home/user/shared-folder'/>
<target dir='shared'/>
</filesystem>

# 在 Windows 虚拟机中:
1. 安装 virtio-win-guest-tools
2. 打开"此电脑" > 映射网络驱动器
3. 输入 \\Virtio-SCSI\shared

2. 创建虚拟机快照

1
2
3
4
5
6
7
8
9
10
11
# 创建快照
virsh snapshot-create-as win11 --name clean-install

# 列出快照
virsh snapshot-list win11

# 恢复快照
virsh snapshot-revert win11 clean-install

# 删除快照
virsh snapshot-delete win11 clean-install

3. 调整虚拟机资源

1
2
3
4
5
6
7
8
# 动态增加内存
virsh setmem win11 8G --live

# 动态增加 CPU
virsh setvcpus win11 8 --live

# 永久修改配置
virsh edit win11

八、性能优化建议

  1. CPU 优化

    1
    2
    # 在 XML 配置中添加:
    <cpu mode='host-passthrough' check='none'/>
  2. 内存优化

    1
    2
    3
    4
    # 启用内存气球驱动
    <memballoon model='virtio'>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  3. 磁盘优化

    1
    2
    3
    4
    # 使用 virtio 驱动和 writeback 缓存
    <disk type='file' device='disk'>
    <driver name='qemu' type='qcow2' cache='writeback'/>
    </disk>
  4. 网络优化

    1
    2
    3
    4
    # 使用 virtio 网络驱动
    <interface type='bridge'>
    <model type='virtio'/>
    </interface>

九、常见问题解决

1. 虚拟机无法启动

1
2
3
# 查看日志
virsh dumpxml win11 > vm-config.xml
sudo journalctl -u libvirtd -n 100

2. 网络连接问题

1
2
3
# 检查防火墙
sudo firewall-cmd --add-service=vnc-server --permanent
sudo firewall-cmd --reload

3. 性能不佳

1
2
3
4
# 启用嵌套虚拟化
echo "options kvm-intel nested=1" | sudo tee /etc/modprobe.d/kvm.conf
sudo modprobe -r kvm_intel
sudo modprobe kvm_intel nested=1

十、迁移 VirtualBox 虚拟机到 KVM

  1. 导出 VirtualBox 虚拟机

    1
    VBoxManage clonehd "source.vdi" "target.qcow2" --format qcow2
  2. 创建 KVM 虚拟机

    1
    2
    3
    4
    5
    6
    7
    sudo virt-install \
    --name migrated-vm \
    --ram 4096 \
    --vcpus 4 \
    --disk path=/path/to/target.qcow2 \
    --import \
    --network bridge=br0
  3. 修改驱动

    • 启动虚拟机后卸载 VirtualBox 增强功能
    • 安装 virtio 驱动

结论

KVM 作为 Linux 原生虚拟化解决方案,相比 VirtualBox 具有更好的性能和稳定性。虽然初始配置稍复杂,但一旦设置完成,可以提供接近原生性能的虚拟化体验。对于需要高性能虚拟化的场景,特别是生产环境,KVM 是最佳选择。

提示:使用 KVM 时,建议保持系统和内核更新以获得最佳性能和安全性:

1
sudo dnf update