ubuntu20.04设备启用windows虚拟机

比起君子讷于言而敏于行,我更喜欢君子善于言且敏于行。

目录

[一、virsh 是什么?](#一、virsh 是什么?)

[二、为什么要用 virsh?](#二、为什么要用 virsh?)

三、准备逻辑卷+镜像

四、安装virt-manager

五、准备桥接网络

六、创建windows虚拟机

参数说明

七、windows虚拟机设置IP

八、给windows虚拟机添加D盘


一、virsh 是什么?

virsh 是 libvirt 提供的命令行管理工具,用来管理 KVM/QEMU 虚拟机。

它相当于 VirtualBox/VMware 的图形界面,但全部是命令行操作。

二、为什么要用 virsh?

  • libvirt/KVM 默认不提供 GUI,virsh 是最标准的管理工具

  • 可以通过脚本自动化管理虚拟机

  • 支持远程管理(SSH 连接其他宿主机)

  • 比手动执行 qemu-system 命令更方便、更可控

三、准备逻辑卷+镜像

复制代码
sudo lvcreate -n win-test-lv -L 800G vmsvg
sudo mkfs.ext4 /dev/vmsvg/win-test-lv
sudo mkdir /mnt/win-test
sudo mount /dev/vmsvg/win-test-lv /mnt/win-test
cd /mnt/win-test
ls

#日后扩容的命令
sudo lvextend -L +200G /dev/mapper/vmsvg-win--test--lv
sudo resize2fs /dev/mapper/vmsvg-win--test--lv

#传镜像
sudo scp -r  ubuntu2@10.xxx.xxx.xxx:/data/windows/bj-windows-txy-17.qcow2 /mnt/win-test/

四、安装virt-manager

复制代码
sudo apt update
sudo apt install -y virt-manager libvirt-daemon-system libvirt-clients qemu-kvm virtinst qemu-efi ovmf
sudo systemctl enable --now libvirtd
sudo systemctl status libvirtd
#说明:virt-manager → 图形界面管理工具;libvirt-daemon-system+libvirt-clients → 提供虚拟机管理后台;qemu-kvm → 真正运行虚拟机的引擎
#将当前用户加入 libvirt 组,这一步是为了解决"权限不够导致无法连接"的问题
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG kvm,libvirt $USER  

#在当前 shell 中临时刷新组权限,这条命令会让当前终端立即切换到新的组权限(不需要重启或注销)
newgrp libvirt
sudo systemctl restart libvirtd
virt-manager

五、准备桥接网络

复制代码
sudo vim /etc/netplan/01-bridge.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    eno2:
      dhcp4: no
  bridges:
    br0:
      interfaces: [eno2]                #按照实际网卡填写
      addresses: [10.155.xxx.xxx/24]    # 宿主机 IP
      gateway4: 10.155.xxx.1
      nameservers:
        addresses: [10.4.xxx.27,10.4.xxx.28]
      parameters:
        stp: false
        forward-delay: 0

#应用配置
sudo netplan apply

#检查桥接接口br0,应该显示静态IP 10.155.xxx.xxx,eno2不再有IP,只是桥接接口
ip addr show br0

#测试网络,可以 ping 通,说明配置成功,
ping 10.155.xxx.1    # 网关
ping 8.8.8.8         # 外网

六、创建windows虚拟机

复制代码
sudo virt-install \
  --name win-sign \
  --ram 16384 \
  --vcpus 8 \
  --cpu host \
  --disk /mnt/win-test/bj-windows-txy-17.qcow2,bus=virtio \
  --os-type windows \
  --boot cdrom,hd \
  --network bridge=br0,model=virtio \
  --graphics vnc,port=5900,listen=0.0.0.0 \
  --input type=tablet,bus=usb \
  --input type=keyboard,bus=usb \
  --import \
  --noautoconsole

#查看一下状态
sudo virsh list --all

参数说明

|-----------------------------------------------------------|---------------------------|
| 参数 | 含义 |
| --name win-sign | 虚拟机名称 |
| --ram 16384 | 内存 16GB |
| --vcpus 8 | CPU 核心 8 个 |
| --cpu host | 使用宿主机 CPU 特性 |
| --disk ... | 指定 qcow2 磁盘文件路径,virtio 总线 |
| --os-type windows | 操作系统类型 |
| --boot cdrom,hd | 使用 UEFI / 磁盘启动 |
| --network bridge=br0,model=virtio | 桥接到 br0,实现局域网可访问 |
| --graphics vnc,port=5900,listen=0.0.0.0 | GUI 通过 VNC 访问 |
| --input type=tablet,bus=usb --input type=keyboard,bus=usb | 输入平板鼠标、键盘设备支持 |
| --import | 直接使用已有 qcow2,不重装 |
| --noautoconsole | 不自动打开控制台 |

七、windows虚拟机设置IP

可以使用remmina软件,VNC访问ubuntu物理机IP:5900,这样就可以进入windows页面。设置完windows的ip后,remmina软件就可以使用RDP访问windows虚拟机ip:22

左下角搜索cmd 回车打开页面 ------------> > 输入 ncpa.cpl 回车 ------------> > 找到 Ethernet(或 "本地连接") ------------> > 右键 选择 Properties(属性)

找到 Internet Protocol Version 4 (TCP/IPv4),双击打开设置ip内容

八、给windows虚拟机添加D盘

复制代码
#完整查看卷组信息,最关键的是 Free PE,它决定了能创建多大的新 LV
sudo vgdisplay vmsvg
# 创建 LV
sudo lvcreate -L 400G -n win-test-data vmsvg
# 挂载到虚拟机
sudo virsh attach-disk win-sign /dev/vmsvg/win-test-data vdb --persistent --driver qemu --subdriver raw --targetbus virtio
解释:
attach-disk:为现有 VM 添加磁盘
win-sign:你的虚拟机名称
/dev/vmsvg/win-test-data:刚创建的 LV
vdb:在虚拟机里显示为第二块 virtio 磁盘
--persistent:写入 XML,重启后也存在
--targetbus virtio:Windows 识别为高速 virtio 磁盘

进入windows图形化页面,cmd页面输入diskmgmt.msc 回车,可以看到这个新增的400G未分配

左侧的位置,右键选择"转换成GPT磁盘"

右侧的位置,右键选择"新建简单卷"

按照以下图片进行"下一步"即可

完成之后就可以看到这个D盘了,在此之前是只有C盘的

相关推荐
命里有定数3 小时前
保姆级教程:在 Windows (WSL2) 下本地部署 Qwen3-ASR
windows
lucky67076 小时前
Windows 上彻底卸载 Node.js
windows·node.js
编程小白20267 小时前
从 C++ 基础到效率翻倍:Qt 开发环境搭建与Windows 神级快捷键指南
开发语言·c++·windows·qt·学习
凯子坚持 c8 小时前
CANN 性能剖析实战:从原始事件到交互式火焰图
windows·microsoft
开开心心就好9 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
獨枭9 小时前
PyCharm 跑通 SAM 全流程实战
windows
仙剑魔尊重楼10 小时前
音乐制作电子软件FL Studio2025.2.4.5242中文版新功能介绍
windows·音频·录屏·音乐·fl studio
PHP小志10 小时前
Windows 服务器怎么修改密码和用户名?账户被系统锁定如何解锁
windows
专注VB编程开发20年12 小时前
vb.net datatable新增数据时改用数组缓存
java·linux·windows
仙剑魔尊重楼12 小时前
专业音乐制作软件fl Studio 2025.2.4.5242中文版新功能
windows·音乐·fl studio