前言

使用Linux作为自己的主力系统无疑是每个开源Nerd的梦想。然而现实是,部分国产软件厂商(说的就是你,TX)它压根就没有提供Linux下的软件,而这些软件又基本上的日常中必须使用的。为了解决上面的痛点,我们有以下几种常用的方法来解决这个问题:

  • Wine。好处是和当前系统无缝衔接,坏处是有时候有兼容性问题,并且很难排查。
  • 虚拟机。好处是兼容性完美,并且可以做到应用隔离。坏处是资源占用多。
  • 实体机 + 远程桌面(或控制)。好处同上,坏处是你要有另一台电脑,并且很难做到共享文件和剪贴板。

这三种方法我都用过,最早使用的是 Wine。Wine 的坏处如上所述,它偶尔会有兼容性的问题,在我装了800个野包还修不好某些功能之后我就放弃了。我第二个使用的方法是实体机+KVM软件,KVM软件用于在不同的电脑之间共享鼠标和键盘。在这里我用的KVM软件是 Barrier,这个软件是个开源软件,其带有剪贴板共享功能。这个软件的剪贴板共享功能只能说是能用,它经常性的停止工作,且不能共享剪贴板里面的图片。这个方法的缺点是,两边剪贴板(有时候)不互通,文件共享还得借助其他方法(如SMB等),所以我之后也放弃了。

究极扭曲的虚拟机

在我购买了现在这台办公机(Deskmini X300 + 5600G)后,我想到了一个非常扭曲的办法:
– 安装 Windows 和 Linux 双系统,这样在部分需要用到高性能 Windows 应用的时候(如打游戏),还能切回去用;
– 在 Linux 上安装 Windows 虚拟机,这样就可以同时使用 Windows 和 Linux 了
– 虚拟机和物理机上的 Windows 共享同一块磁盘,这样就可以实现无缝切换
– Linux 下的 Spice 协议可以共享剪贴板、共享目录,以及挂载USB设备,实现两个系统的准无缝衔接
– 在 Linux 上安装 Moonlight,并在老笔记本上安装对应客户端,使其变成副屏,专门用于显示 Windows 虚拟机的内容

听着就非常扭曲对吧,不过这套东西整下来还是挺好用的。得益于 Spice 协议,我可以在两个系统之间共享剪贴板的图片(重点)和文件了。同时,我也可以在两个系统间共享声音;如果需要的话,甚至可以接一个外置的摄像头,实现音视频通话功能。这套系统基本上能够满足我的办公需求了。

那么,要怎么做呢

  1. 首先当然是在物理机上安装 Windows 和 Linux 了,安装完毕后你就应该能够正常启动两个系统了。
  2. 进入 Linux,创建一台虚拟机,然后把你安装了 Windows 的物理磁盘完整的映射进你的虚拟机。
  3. 调整虚拟机的配置,你可以在这里克隆你的主板配置,以免 Windows 认为你的硬件变更过大
  4. 启动,你现在应该就可以看到你的 windows 了。
  5. 安装各种VM的驱动,例如 virt-io驱动, Spice驱动

根据论坛的这个帖子,我们知道接下来会遇到两个问题:
1. 激活问题。Windows 会认为你的硬件有了较大改动,会让你重新激活。由于我这边都是直接白嫖KMS的,所以我就不用解决这个问题。
2. 切换系统的时候出现 INACCESSIBLE_BOOT_DEVICE 的问题。这个问题是因为 Windows 在第二次启动之后,就不会加载其他磁盘驱动了。由于我们在虚拟机和物理机下的磁盘驱动不一样,所以切换之后windows就无法正常的启动了。如果遇到了这个问题,你可以尝试进入安全模式再退出。这个时候它就能正常的启动了。

解决第二个问题的方法也很简单。根据Reddit的这个帖子,我们设置在启动时自动执行一个脚本,调整注册表,使其能够在下次启动时依旧加载某些驱动即可。


1 条评论

hacktor · 2024 年 8 月 22 日 下午 4:05

能否给一些参考资料?我也想这么做,但是关键词太难搜了

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注