proton(wine) 和 windows 虚拟机共用同一个 AppData
目的是在 linux(proton/wine) 和 windows 虚拟机之间共享一些东西。例如:游戏存档和,好吧,游戏存档。
1.This is a title
说一下这个想法是如何产生的,以及如何失败的。
虽然,我的 arch 上装了 vmware workstation,大部分时间都存在不止一个 windows 虚拟机,但是,一直都是非必要不开机的。必要情况大概也只有使用 microsoft office 套件了,你可能会说,我们已经有 wps for linux 了,一开始我也是这么想的,直到某一次使用 wps for linux 编辑了一个报告,我望着预览图陷入了沉思,当然,也有可能是我编辑方式不对。总之,从那以后就再也没有用过 wps for linux 了。另外,某些计算机课程需要用到某些只适配了 windows 的软件,具体哪些软件就不说了(其实还挺多的)。
我的笔记本电脑配置比较低,所以平常也就只玩一下实用性比较高的视觉小说游戏 and so on 而已。直到有一次,辛辛苦苦玩了大半天才通关的游戏,存档被我删了(本人有强烈的赛博洁癖,会经常性地删除/清理文件),才开始善用 linux 下的软链接。
发明软链接的人真是个天才。自从利用起了软链接,再也不用担心误删存档的问题了,新开一个 wine 容器,创建软链接指向备份好的 AppData 就好了。
proton 和 wine 的区别在于(对于我来说),proton 自带或者说捆绑了一些依赖,对于某些含有 CG 动画、OP 和 ED 的游戏支持更好(实测可以播放千原万神中的视频,即使终端会报 gstreamer 的 WARNING)。另外,据说对于大型游戏,proton 的帧数更高。我装的proton-ge-custom-bin这个包。
2.This is also a title
在实际开始之前,我以为 windows 的快捷方式就对应于 linux 下的软链接。实际上,终端 dir
输出的结果是 *.lnk,这很明显就不对了,问了一下 gpt,windows 创建软链接的格式是这样的 mklink [选项] <链接> <目标>
,使用 /D 选项创建目录的软链接。
有意思的部分开始了。我想着虚拟机里也没啥有价值的东西,索性直接把原有的 AppData 删了,直接创建软链接。但是,windows 运行中需要 AppData 文件夹,直接删删不掉,改名呢?又不让改。
一不做二不休,我进了 PE,备份了 AppData,创建了软链接。重启,结果直接来到了 Temp 用户。
事后一想,这个结果也确实很合理,windows 开机的时候就需要 AppData 这个文件夹,而这时候,vmware tools 还没有启动,共享文件夹没生效,软链接指向为空,自然就加载不了用户的 AppData 文件夹,就使用 Temp 用户登录了。