Batocera 43.1 .roms_base 重大問題

個人 5 月初開始更新到 Batocera 43 到 6 月中更新至版本 43.1 。一般使用有時會遇到一些惱人問題。雖然有些可重開機解百病,但是這個 MergerFS 的問題是無法重開機解決而且解決還要有一些電腦專門能力的人才能回復。這點就真的問題有點頭大。我這邊記錄一下我自已本身的解決方式。如果其它人也遇到也可試著本身自救一下。

問題症狀

當你以一般開機正要玩時你會發覺所有的遊戲被清空。從 EmulationStation 上不管那個遊戲系列全部變空。但實際你的遊戲 ROM 還存在。被 Batocera 搬到 userdata 目錄下的 .roms_base 的目錄裡。但由於 EmulationStation 設定是讀 ROMS 的目錄,故你會發覺 EmulationStation 完全沒有找到任何一個遊戲的 ROM。目錄會長的像下方的圖。

Batocera rom_base folder

可能發生原因

首次安裝 Batocera 系統時把 /boot 開機跟遊戲 ROMS 各分別在不同的實體硬碟或 SSD 。此時當你插入一個有 ROM 的目錄的隨身碟/外接硬碟時 Batocera 會自動跳出是否把遊戲合併。此時選擇 NO 。但實際上 /boot/batocera.conf 已被寫上 MergerFS 的相關設定。所以當下次開機時 Batocera 的程式 Bug 就會自動觸發 rom 的搬移跟合併。

解決方式

一:降回 Batocera 42 版。

二:如不想降版可依底下的操作方式回復。但因為這是 Batocera OS 上的程式錯誤。當你又插入一個有 ROM 的目錄的隨身碟/外接硬碟很有可能又發生。

1.SSH 到 Batocera 的系統。
 #把 /boot 的目錄改成可讀寫
2.下 mount -o remount,rw /boot 
#修改檔案把 batocea.conf 在最底下的一行會有 MergerFS 那一行刪掉
3. vi /boot/batocea.conf 
#切到 userdata 的目錄
4. cd ~/../
#檢查 roms 的目錄是不是預設且無任何自已放的 rom 在裡頭
# 如 FC/NES
5. cd ~/../roms/nes; ls -al
#檢查 roms_base 的目錄是不是原本的遊戲目前都放這邊
# 如 FC/NES
6. cd ~/../.roms_base /nes ; ls -al
# 5 跟 6 都確認後,作目錄搬移。下方指令會把 roms 的目錄刪掉
# 並更名 .roms_base 成 roms
7.
 cd ~/../ ;
pwd ;

下了 pwd 指令後確認當下目錄是不是如下圖。以免刪除指令出錯

image 16
#pwd 指令確認目錄無誤後。下刪除及更名指令
rm -rf roms;
mv .roms_base roms;
# 重開機
8. reboot

正常重開機後就會回復至正常狀況。如未回復請再檢查一下步驟是不是作錯或漏了。

blog.ocam.live
blog.ocam.live

關注科技新聞、SEO、人工智慧、電玩模擬器、程式設言、與 IT 日常等議題,深入簡出文章的說明並持續追蹤相關新聞的發展與報導。