远程Ubuntu 20.04.5主机部署Windows虚拟机并实现本地MacBook直接GUI接入方案咨询
远程Ubuntu 20.04.5主机部署Windows虚拟机并实现本地MacBook直接GUI接入方案咨询
嘿,我来给你梳理一套清晰的步骤,帮你搞定这个需求——完全不用每次先登录Linux再中转到Windows!
第一步:在Ubuntu主机上搭建虚拟化环境
咱们用KVM来做虚拟化,这是Ubuntu官方推荐的方案,性能拉满还稳定:
- 先检查你的主机CPU是否支持虚拟化,执行命令:
如果输出数字大于0,说明支持,放心往下走。egrep -c '(vmx|svm)' /proc/cpuinfo - 安装KVM及配套工具(顺便把Windows需要的virtio驱动也装上):
sudo apt update && sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager virtio-win - 把当前用户加入虚拟化管理组,避免每次操作都要加sudo:
执行完后注销再重新登录,让权限生效。sudo usermod -aG libvirt $USER
第二步:创建Windows虚拟机
这里分两种方式,推荐用命令行(不用临时折腾Ubuntu的GUI),也可以临时用图形界面辅助:
命令行创建(首选)
- 先把Windows镜像(比如Win10/Win11的ISO文件)传到Ubuntu主机的某个目录,比如
/home/your-username/windows.iso。 - 执行创建命令(参数根据你的主机配置调整,比如内存、CPU、磁盘大小):
关键参数说明:sudo virt-install --name win-vm --memory 8192 --vcpus 4 --disk size=60 --cdrom /home/your-username/windows.iso --os-variant win10 --network bridge=virbr0,model=virtio --graphics vnc,listen=0.0.0.0 --noautoconsole--memory 8192:给VM分配8G内存,按需调整--vcpus 4:分配4核CPU--disk size=60:60G磁盘空间--network bridge=virbr0:先用默认NAT网络,后面再配置端口转发或改成桥接--graphics vnc:临时用VNC完成Windows安装,安装完就可以改用更适合Mac的RDP
临时图形界面创建(可选)
如果想可视化操作,先通过SSH转发X到你的Mac:
ssh -X your-ubuntu-user@ubuntu-host-ip
然后打开virt-manager:
virt-manager
跟着向导一步步来就行,记得选virtio磁盘和网卡,安装Windows时加载/usr/share/virtio-win/virtio-win.iso里的驱动,不然Windows认不到磁盘和网卡。
第三步:配置Windows虚拟机的远程桌面(核心!)
等Windows安装完成后,咱们配置RDP,这样Mac就能直接连:
- 进入Windows系统,打开「设置」→「系统」→「远程桌面」,开启「允许远程连接到此计算机」,一定要设置一个复杂的登录密码。
- 获取Windows VM的IP:在Windows里按Win+R,输入
cmd,执行ipconfig,记下IPv4地址。
网络配置两种方案
方案1:桥接模式(推荐,VM和主机同网段)
如果你的Ubuntu主机在局域网里,把VM改成桥接网络,这样VM会拿到和主机同一网段的IP,Mac直接输这个IP就能连:
- 打开virt-manager(或者用命令行),编辑VM的网络配置,把原来的NAT改成桥接,选择主机的物理网卡(比如
eth0或ens33)。 - 重启VM,重新获取IP,之后Mac直接用这个IP连RDP。
方案2:NAT+端口转发(适合主机是公网IP或不在同一局域网)
如果没法用桥接,就在Ubuntu上做端口转发,把主机的3389端口(RDP默认端口)转发到VM的3389:
# 临时生效,重启后消失 sudo iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination <VM_IP>:3389 sudo echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward # 永久生效,保存iptables规则 sudo apt install iptables-persistent sudo netfilter-persistent save # 开启永久IP转发 sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf sudo sysctl -p
第四步:本地Mac直接连接Windows VM
Mac上直接用官方的「Microsoft Remote Desktop」(去App Store免费下载):
- 打开软件,点击「+」→「添加PC」
- 在「PC名称」里填:
- 如果是桥接模式:填Windows VM的局域网IP
- 如果是端口转发:填Ubuntu主机的IP(公网或局域网IP)
- 输入Windows的用户名和密码,点击连接,直接就能进入Windows GUI,完全不用先登Ubuntu!
额外小贴士
- 安全方面:如果公网暴露RDP端口,建议改个非默认端口(比如33890),或者用VPN连接到主机所在网络后再连RDP,避免被暴力破解。
- 性能优化:Windows里开启「远程桌面设置」里的「体验」选项,根据网络情况调整画质,让连接更流畅。
备注:内容来源于stack exchange,提问作者Varun Desai
相关产品推荐
相关产品推荐

