无忧启动论坛

标题: 简陋的 Win on Linux 兼容方案(以及磁盘镜像成品) [打印本页]

作者: kkocdko    时间: 2022-9-4 16:40
标题: 简陋的 Win on Linux 兼容方案(以及磁盘镜像成品)
本帖最后由 kkocdko 于 2022-10-8 19:47 编辑
本人博客原文: https://kkocdko.site/post/202208221154
此处内容可能不会及时更新,请到原文查看最新版本。

大致上就是 QEMU KVM + 精简版 Win10。



对比 Wine:
• Wine 性能几乎无损失,甚至可通过 Proton 运行大型游戏;本方案图形性能较弱。
• 本方案较为通用,可在各种硬件、内核、发行版下运行;Wine 对环境要求较多。
• 本方案几乎无需维护,一劳永逸;Wine 有时需为特定应用作出调整,存在紧急情况下新应用无法运行的尴尬。

对比其他虚拟机:
• VitrualBox 图形性能略好,需额外加载内核模块,可能在内核升级后崩溃;本方案使用 KVM,无需额外内核模块,更稳定。
• ESXi 综合性能较好,安装繁琐,收费;本方案安装简便,除 Windows 本身外完全开源。
• 本方案中 QCOW2 磁盘镜像支持 ZSTD 压缩,可大幅减小体积(当前为 1.33 GiB)。

成品
下载链接: OneDrive | 123 云盘 | 百度网盘 。若无特殊需求,建议直接使用成品镜像。其中,win10_xxx.qcow2 是磁盘镜像主体,文件名后半段为 CRC32 校验值。win10_share.iso 是外置光盘镜像,包含 WebDav 服务端。当然,你也可以添加其他内容。

安装 QEMU KVM:
  1. # Fedora
  2. sudo dnf install qemu-kvm qemu-img
  3. # Ubuntu
  4. sudo apt install qemu-kvm qemu-utils
复制代码
接下来写入并运行 ./win10(.sh)
  1. #!/bin/sh
  2. base_img=win10_xxx.qcow2
  3. snapshot_img=win10_snapshot.qcow2 # 可以考虑放进 /tmp
  4. share_img=win10_share.iso
  5. [ -f $snapshot_img ] || qemu-img create -q -F qcow2 -b $base_img -f qcow2 $snapshot_img
  6. # 使用 sudo,规避鼠标捕获异常等问题
  7. sudo qemu-kvm \
  8.   -machine q35 -device qemu-xhci -device usb-tablet -cpu host,hv-relaxed,hv-vapic,hv-spinlocks=0x1fff,hv-vpindex,hv-time,hv-synic,hv-stimer \
  9.   -smp 2 -m 1.5G \
  10.   -hda $snapshot_img -cdrom $share_img \
  11.   -nic hostfwd=tcp:127.0.0.1:9121-:5000
  12. # 若需要更高分辨率
  13. # -vga qxl
  14. # 若需要音频支持
  15. # -audiodev pa,id=pa,server=unix:${XDG_RUNTIME_DIR}/pulse/native -device usb-audio,audiodev=pa
复制代码
启动后使用任意 WebDAV 客户端连接 dav://127.0.0.1:9121/,实现文件共享。nautilus 内置的那个就行,左侧栏 Other Locations > 底部 Connect to Server。
作者: kkocdko    时间: 2022-9-4 16:47
本帖最后由 kkocdko 于 2022-10-2 17:33 编辑

需注意,1.33 GiB 的成品镜像是包含各种运行库且 已经安装完成虚拟机磁盘镜像,可别拿还没部署的 ESD 来比。说实话这个体积真的已经算是很极限了。

• 此镜像的用途是作为兼容方案,所以集成常用运行库和精简版输入法。不加入额外内容,建议将自定义内容写入外置光盘镜像。
• 未激活。个人认为不影响使用,且 KMS 激活存在过期的麻烦。
• 默认 Administrator 用户,禁用 UAC 等几乎所有安全功能。
• 注销后立刻自动登录,便于在外置光盘镜像中修改缩放设置。
• 在 QEMU 6.2 上制作,经测试 7.1 可用,之后应该也没问题。
• 为什么使用中文版系统:因为国内许多软件在非中文系统下会卡 Bug。也许你可以换用 Tiny10。
• 为什么不使用 virt-manager:因为 QEMU 命令行更简短可控。想用 virt-manager 也行,依上文填入参数即可。

磁盘镜像更新日志:
20221002(a58fd75e):进一步提升 ZSTD 压缩等级,减小体积。
20221001(8b8db6b9):统一资源管理器列布局;消除开始菜单最近添加提示;恢复系统属性信息到原版。
20220904(d936163a):修复输入法无法输入全角符号(原帖 84 楼);消除 IE 主页破坏提示。

鸣谢:
Windows 10 三杰版 LTSB 2016 SE ...
搜狗五笔输入法 v5.2 正式版 ...
sigoden / dufs - GitHub
Improving the Performance ... QEMU
作者: htmlc4    时间: 2022-9-4 18:06
先码再看,难道看到Linux区有技术性帖子而不是那种嘴炮帖子
作者: zhanglefu333    时间: 2022-9-4 18:15
没有看懂,下载学习。
作者: 旁观者清    时间: 2022-9-4 19:19
支持创作。
作者: 2012andyle113    时间: 2022-9-4 19:35
反过来搞这个啊,先做个记号
作者: 9527sss    时间: 2022-9-4 20:23
感谢分享
作者: iyg429    时间: 2022-9-4 21:19

感谢分享
作者: 进士小站    时间: 2022-9-5 09:07
下载玩玩
谢谢分享
作者: smartcowboy    时间: 2022-9-5 10:32
支持  
不错的一条路子,但愿能越走越宽
作者: 2012sinkr    时间: 2022-9-5 22:59
感谢楼主分享
作者: 1EtOS3ywJu    时间: 2022-9-10 21:32
我来支持一下
作者: niucaidi    时间: 2022-9-10 21:44
看不太明白,很厉害的样子,linux下不用wine没法用qq和微信是痛点
作者: 友联电脑    时间: 2022-9-11 08:04
完全可以,之前移动硬盘上我就是这样跑的,不过用的是vmware,再跑windows版本,。用固态的是,体验肯定好多了
作者: 小布丁    时间: 2022-9-20 19:50
来学习一下。
作者: jh198354    时间: 2022-9-20 20:00
学习一下,感谢分享
作者: 假大空    时间: 2022-9-20 21:50
virt-manager实现的?
作者: 402018807    时间: 2022-10-27 09:25
很厉害的样子
作者: 超逸绝尘    时间: 2022-10-27 09:48
这个看起来,机厞不一般。
作者: ppmjb2005    时间: 2022-12-19 18:16
多谢分享,学习一下。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3