Linux与Win共享Steam游戏库
编辑目前我的电脑使用的是Archlinux与win11双系统,但是如果每一个游戏都在两个系统中下载一遍的话,似乎有点太奢侈了。刚好我有多的硬盘,因此我想到了在win和linux之间共享硬盘的操作。使一个游戏得以在两个系统中同时使用。
理论可行,实践开始!
Win系统设置
- 格式化需要共享的硬盘为NTFS文件系统。
- 在Steam游戏库中选择要共享的硬盘作为游戏库。
- 桌面模式设置位置:设置 -> 储存空间 -> 添加驱动器
- 大屏幕模式设置位置:设置 -> 储存空间 -> 点击“+“号
- 完成
Linux系统设置
在Linux中,我们需要完成几个重要操作。
- 挂载硬盘
- 配置游戏库
- 配置强制使用兼容层
1.挂载硬盘
确认位置
使用fdisk
工具确定硬盘在/dev/
下的名称。 sudo fdisk -l
Disk /dev/nvme1n1:1.86 TiB,2048408248320 字节,4000797360 个扇区
磁盘型号:Colorful CN600 2TB DDR
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:647D1143-
设备 起点 末尾 扇区 大小 类型
/dev/nvme1n1p1 34 32767 32734 16M Microsoft 保留
/dev/nvme1n1p2 32768 4000794623 4000761856 1.9T Microsoft 基本数据
创建用于挂载的文件夹
mkdir ~/SteamShare
这样在用户目录下就可以看到用于挂载硬盘的文件夹了。使用pwd命令查看具体位置。
➜ ~ pwd
/home/yu/SteamShare
确认UUID
UUID全称:Universally Unique Identifier,即通用唯一识别码。
使用UUID挂载可以解决后续如更改盘符等操作后,挂载失败的问题。
这里使用blkid
工具获得硬盘UUID
➜ ~ sudo blkid
/dev/nvme1n1p2: LABEL="Share" BLOCK_SIZE="512" UUID="948C9C238C9BFE44" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="e2471546-c4dc-47f0-a44a-ae8b9bb10521"
/dev/nvme1n1p1: PARTLABEL="Microsoft reserved partition" PARTUUID="b8353224-04af-499b-881d-0b51e5f8e40f"
可以得到我需要挂载的硬盘为/dev/nvme1n1p2
,UUID为948C9C238C9BFE44
配置fstab自动挂载
配置/etc/fstab
文件可以在系统启动时自动挂载硬盘到指定的位置。
但是建议不要随意更改这个文件中的配置,可能会直接BOOM。
使用sudo nano /etc/fstab
命令编辑fstab
文件。
在末尾加入
# /dev/nvme1n1p2 LABEL=Share
UUID={你硬盘的UUID} {你的挂载点目录} ntfs defaults,nofail,uid=1000,gid=1000,blksize=4096 0 0
使用sudo mount -a
命令测试配置是否成功,如无报错即可放心使用。
2.配置游戏库
具体流程与Windows系统一致,不过多赘述。
3.配置强制使用兼容层
这一步是为了防止在Linux下下载的游戏无法在win中使用的。因为如果不配置这一步,部分支持Linux的游戏会下载二进制版本,而非windows所支持的exe格式。
具体的方法是在下载游戏之前进行配置
右击游戏 ➜ 属性 ➜ 兼容性 ➜ 强制使用特定 Steam Play 兼容性工具
常见问题
由于挂载权限问题导致无法运行游戏
之前尝试在Linux中运行共享硬盘中游戏时,出现不明原因的无法运行问题。后使用终端运行steam查看日志,发现问题所在:
wineserver: /Share/SteamLibrary/steamapps/compatdata/413150/pfx is not owned by you
wine: '/Share/SteamLibrary/steamapps/compatdata/413150/pfx' is not owned by you
打开文件夹检查权限,发现挂载后的用户与组为root:root。
解决方法:
获取当前使用用户的UID与GID,修改fstab文件的挂载选项添加uid与gid。
UUID={你硬盘的UUID} {你的挂载点目录} ntfs defaults,nofail,uid={你的UID},gid={你的GID},blksize=4096 0 0
部分游戏无法使用兼容层运行
简单配置Steam即可
设置 ➜ 兼容性 ➜ 为所有其他产品启用 Steam Play
- 0
- 0
-
赞助
支付宝微信 -
分享