快轉到主要內容

Linux與Windows共享Steam遊戲收藏庫的硬碟

分類   Linux系統 Linux玩遊戲
標籤   Steam Libvirt Windows Linux
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

Sharing the same Steam game library between Linux and Windows.

我有一顆大容量的HDD,專門用來下載遊戲。

現在希望讓Linux與Windows系統共享該硬碟的遊戲,節省下載時間與空間。

因為從我在Linux玩遊戲的經驗來看,知道即使用Proton還是有遊戲怎麼樣也跑不起來,依然需要Windows環境執行那些不乖的遊戲。

這有兩種解法:

  1. Linux與Windows實體雙重開機,掛載裝遊戲的硬碟。 Ubuntu與Windows雙重開機

  2. 將Windows虛擬化,在一個宿主機上跑二個作業系統,將GPU直通給要玩遊戲的虛擬機,再將裝遊戲的硬碟給虛擬機掛載。 Ubuntu Nvidia GPU直通

Steam可以指定遊戲收藏庫存放的位置,那麼,能否在Linux與Windows之間共享Steam收藏庫?其實是可以的。

假設下載的都是Windows版的遊戲,Linux系統的Steam執行遊戲的時候,除了下載exe外還會建立Proton prefix環境。換到Windows系統的Steam執行,同樣的檔案不用再下載一次,可以直接啟動下載好的exe。

1. 硬碟格式化的檔案系統選擇
#

木已成舟的、沒地方備份遊戲檔案的就別考慮了,沿用現有檔案系統即可。

想知道目前硬碟格式的請裝 Gparted查看。

用來裝Steam遊戲的硬碟,格式化為NTFS或BTRFS都可以。雖然有人認為BTRFS會降低HDD效能,但我用起來覺得沒差。

就相容性而言,前者是側重Windows,後者是側重Linux。

彼此都有開源驅動能讀取對方的檔案系統,例如Windows透過 WinBtrfs讀BTRFS;Linux透過 NTFS-3G讀NTFS,大致上是沒bug。

如果要我選的話,BTRFS,因為NTFS是專有格式,在Linux出問題的機率更大。


Windows使用磁碟管理員格式化之後,硬碟就能在檔案總管看到。至於如何在Linux格式化並掛載硬碟,請看這篇: Linux新增硬碟與格式化教學

2. Steam遊戲下載技巧
#

  1. 在Linux和Windows安裝Steam客戶端。

  2. 開啟Steam設定,儲存空間,指定收藏庫位置為外部磁碟機。這樣遊戲程式和Proton Prefix都會放到這個硬碟。

  3. 然後下載遊戲。不要一個遊戲下載兩次。因為我喜歡測試遊戲在Linux和Windows下的執行情況,所以我會從Linux版Steam下載遊戲。

  4. 在Linux版Steam收藏庫,對遊戲按右鍵,點選內容,勾選強制啟用相容性工具(Proton),即可強迫Steam下載Windows版的遊戲。

  5. 如果該遊戲本身就有原生Linux版呢?你可以自行測試用Proton能不能跑,或者同時下載Linux版和Windows版。

  6. 這得看遊戲開發者如何設計,有的遊戲開啟相容性工具選項後,只需要再下載一些小檔案就能從Linux轉換成Windows版本,且Windows版與Linux版檔案能共存。反之,把相容性工具選項關掉就會切換為Linux版。

最糟糕的情況就是全部重新下載。

3. Virt Manager新增實體硬碟給虛擬機
#

本節內容是給GPU直通虛擬機的方案用的。

可不可以兩個系統同時存取硬碟?不行,即使是在虛擬機的情況下,不能讓兩個系統同時掛載硬碟,除非你改用 VirtIO-FS。可我就是因為VirtIO-FS不穩定才用這個方案的!

  1. Linux需要先取消掛載硬碟:
lsblk

sudo umount "掛載點"
  1. 接著使用ls -l /dev/disks/by-id/指令找出硬碟代號

  2. Virt Mavnager點選新增硬體,點選新增硬碟,在方框輸入/dev/disks/by-id/ata-硬碟代號,匯流排選VirtIO

相關文章

Linux系統玩Windows遊戲:Steam Proton V.S. VFIO虛擬機,孰勝孰負?
分類   Linux系統 Linux玩遊戲
標籤   GPU Passthrough QEMU-KVM Linux Windows Steam
Steam Link + Linux版Steam遠端玩遊戲 ~ 效能測試
分類   Linux系統 Linux玩遊戲
標籤   Cloud Gaming Steam Linux Remote Desktop
Sunshine:Linux版Moonlight教學,自架免費雲端串流遊戲服務+遠端桌面
分類   Linux系統 Self-hosting自架 Linux玩遊戲
標籤   Moonlight Game Streaming Cloud Gaming Remote Desktop Steam Linux

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。