📖 本文由 Batocera 官方 Wiki 翻译整理,内容可能随版本更新而变化。
系统故障排除:当“魔法”失灵时
在使用过程中,难免会遇到模拟器打不开或者系统卡顿的情况。别担心,这些问题通常都会留下“蛛丝马迹”。
1. 模拟器无法启动:查找报错日志
如果你点击游戏后,屏幕闪了一下又立即退回到游戏列表,这通常说明模拟器启动失败了。
- 第一步:定位日志文件
系统会将运行时的错误信息记录在特定的日志里。你需要找到以下两个文件:es_launch_stderr.log(错误输出日志)es_launch_stdout.log(标准输出日志)
- 第二步:通过网络访问
如果你的 Batocera 联网了,可以直接在电脑的资源管理器输入以下路径访问:
\Batocera\share\system\logs
或者在机器本地路径查看:
/userdata/system/logs/
生活化类比:这就像是黑匣子。虽然飞机(模拟器)没飞起来,但黑匣子记录了引擎是在哪一秒、因为什么原因熄火的。查看这些日志,技术大牛们就能一眼看出你是缺了固件(BIOS)还是镜像文件坏了。
【提示】:如果只是某个特定的游戏系统(比如只有街机能玩,但 PS1 不能玩)出问题,请优先查看该系统的专属说明页面,那里通常记录了该机种的常见坑点和解决方案。
2. 系统界面(EmulationStation)故障
如果你发现游戏列表菜单(EmulationStation,简称 ES)卡死了,或者某个菜单功能点击没反应,你需要查看 ES 的专属日志。
- 日志位置:
/userdata/system/configs/EmulationStation/es_log.txt - 网络访问路径:
\Batocera\share\system\configs\EmulationStation\es_log.txt
3. 寻求社区帮助
如果你在社区(如 Discord)向开发者或大佬们求助,请务必带上这些日志。
- 操作感建议:
不要只发一句“我的游戏玩不了”,记得把上面提到的日志文件上传。
【注意】:完整的日志能让别人省去反复询问的时间,大大提高你解决问题的效率。
深入诊断:当日志没有直接给出答案时
大多数情况下,日志文件里会直接写明错误原因,比如:缺少固件(BIOS)文件或者游戏镜像(ROM)格式不对。如果你在日志里没看到这些明显的提示,可以带着这些文件去社区频道寻求指点。
尝试自我修复的“急救措施”
如果日志里没有显而易见的错误,但在等待大神回复的期间你坐不住,可以尝试以下几个“排除法”步骤来寻找问题根源:
-
第一步:精简硬件外设
拔掉机器上所有不必要的设备,只保留最基础的电源和手柄,然后重试。
> 生活化类比:这就像是电脑坏了先检查插头一样。有时候多余的 Wi-Fi 网卡、蓝牙接收器或是插了太多的手柄,会导致系统“由于大脑过载”而无法正常启动模拟器。 -
第二步:清理自定义脚本
检查/userdata/system/scripts/文件夹下是否有你自己添加的脚本。- 操作建议:你可以直接把
scripts文件夹重命名为backupscripts,这样就能暂时关掉所有自定义脚本,看看是不是它们搞的鬼。
- 操作建议:你可以直接把
-
第三步:重置系统配置文件
如果你手动修改过系统配置文件es_systems.cfg(比如为了适配自定义主题或覆盖层),请先尝试将其移除或恢复默认。
【提示】:自定义的系统配置往往是导致菜单崩溃或游戏无法识别的“头号嫌疑人”。 -
第四步:回归本地存储
如果你使用了比较特殊的存储方式(比如通过网络附属存储(NAS)远程读取游戏),请先切换回 Batocera 磁盘自带的本地用户数据分区(Userdata)试试。
> 生活化类比:如果外卖(NAS 上的游戏)一直送不到,不如先吃口家里冰箱(本地存储)存的干粮,看看是快递员(网络)的问题,还是你自己根本就没胃口(系统问题)。
硬件与设置的深度排查
如果前面的“软件急救”没起作用,我们可能需要审视一下你的硬件素质以及系统底层的驱动配置。
1. 给存储媒介“测速”
有时候,问题出在你那个不起眼的 U 盘上。如果存储设备的速度太慢,系统就会因“供血不足”而瘫痪。
- 第一步:换个插口
先尝试将 U 盘插到机器的其他 USB 接口上。 - 第二步:排除“劣质”硬件
虽然很少见,但有些低端 U 盘的传输速度甚至不到 1 MB/s。即使它宣称支持 USB 3.0,内部芯片也可能非常糟糕。 - 第三步:更换可靠品牌
如果换接口无效,请尝试将 Batocera 重新刷入另一个 U 盘。
生活化类比:这就像是用一根极细的吸管去喝珍珠奶茶。不管你的吸力(处理器性能)有多大,只要吸管(U 盘速度)被堵住或者太窄,你就永远喝不到奶茶,甚至会把吸管吸扁。
【提示】:闪迪(Sandisk)和三星(Samsung)的 U 盘通常比较靠谱,但请记住,任何电子产品都会随着时间推移而老化降速。
2. 为低性能设备“减负”
如果你使用的是性能较弱的单板计算机(SBCs,如早期树莓派),可以尝试以下设置来释放内存压力:
- 开启界面预加载:
进入 系统设置(SYSTEM SETTINGS) -> 开发者(DEVELOPER) -> 开启 界面预加载(INTERFACE PRELOADING)。 - 后台隐藏主界面:
在同一菜单下,开启 运行游戏时隐藏(HIDE WHEN RUNNING A GAME)。这样系统在玩游戏时会自动把菜单界面“藏起来”,节省资源。
3. 终极绝招:恢复出厂设置
如果折腾了半天还是找不到原因,不如“推倒重来”。
- 操作感建议:
执行恢复出厂设置(Factory Reset),将所有乱掉的参数回归到初始状态,再测试问题是否依然存在。
4. 显卡驱动的抉择
如果你是 PC 用户且配备了 Nvidia 显卡:
- 操作步骤:
如果你正使用官方的 Nvidia 驱动,尝试禁用它并改用系统默认的 Nouveau 开源驱动(Nouveau Drivers)。
游戏或系统“离奇失踪”?进阶选项不见了?
当你发现某些心爱的游戏系统在列表里找不到了,或者高级设置选项消失时,请看下文。
游戏和系统“失踪”?别慌,先排查这些!
有时候你会发现刚拷贝的游戏没出来,或者某个模拟系统根本没出现在列表里。其实,这通常是系统在玩“捉迷藏”。
1. 让系统“刷新”记忆
Batocera 有一个原则:不见兔子不撒鹰。如果你没有放入任何游戏文件,对应的游戏系统(模拟器)就不会在菜单里显示。
- 第一步:确认游戏已拷贝
先把你的游戏镜像放入正确的路径。 - 第二步:更新游戏列表
进入 游戏设置(GAME SETTINGS) -> 更新游戏列表(UPDATE GAME LISTS)。
生活化类比:这就像是你的书架。只有当你把书(游戏)插进格子里,书架才会显示出这个分类。系统默认不会把空位子露出来,免得看着凌乱。
【提示】:你不需要手动安装“核心”(Cores),Batocera 已经内置了所有可用的模拟核心。如果你想了解哪个核心最稳,可以去官网查看兼容性对照表。
2. 深度排查“失踪”原因
如果更新了列表还是看不到游戏或高级选项,请按以下步骤自检:
- 第一步:检查文件格式
确认你的游戏后缀名是否正确。每个游戏文件夹里都有一个_info.txt说明文件,它会告诉你这个系统到底支持哪些格式。 - 第二步:清理自定义配置文件
如果你之前折腾过/userdata/system/configs/EmulationStation/下的es_systems.cfg(系统定义文件)或es_features.cfg(功能定义文件),请先移除或重置它们。
【注意】:这也包括你设置过的任何自定义覆盖层(Overlays)。 - 第三步:暂时关闭自定义脚本
某些脚本可能会干扰系统的正常显示。尝试删除或重命名以下路径的脚本:/userdata/system/scripts/(建议重命名为backupscripts暂时停用)/boot/boot-custom.sh/userdata/system/custom.sh
- 第四步:回归本地存储测试
如果你使用了网络存储(NAS)等外部方案,建议先切回 Batocera 本地的用户数据分区(Userdata)试试。
3. 关于网络存储(NAS)的兼容性警示
虽然 NAS 很方便,但有些系统天生和它“不对付”。
- 受影响的系统:Flatpak
无论你的 NAS 使用的是哪种文件系统,Flatpak 架构的游戏或应用都无法在 NAS 环境下正常运行。
生活化类比:NAS 就像是远程的云端仓库。虽然大部分货物都能远程调运,但像 Flatpak 这种“生鲜”(对读写机制有特殊要求的软件),必须放在本地的冰箱里才能跑得起来。
NAS 联机/运行问题的进阶方案:本地绕行法
正如上文提到的,某些系统和 网络存储(NAS) 并不完全兼容。如果你发现以下系统在 NAS 环境下无法正常运行,那是因为它们对读写机制有着极其“挑剔”的要求:
- Steam
- Windows
- Wii U(适用于 Batocera v36 及更低版本)
- Model 2
- Future Pinball
- Jaguar (BigPEmu)
- xash3d_fwgs
灵活配置:让 NAS 与本地存储“并肩作战”
如果你希望大部分游戏依然存在 NAS 上,但让这些“挑剔”的系统改用本地内部存储运行,我们可以通过创建一个小服务来实现。
生活化类比:这就像是你的大部分行李(大体积游戏)都寄存在远程仓库里,但为了方便随手取用,你把最常用的那几件衣服(上述系统)拿了出来,塞进了家里的“门厅柜”(本地目录)。虽然你还是住在同一间房子里,但这些东西现在是“触手可及”的。
-
第一步:创建服务脚本
在/userdata/system/services/目录下创建一个名为nas_workaround的文件(【注意】:不要加任何后缀名,如 .txt 或 .sh)。 -
第二步:写入修复代码
将以下脚本内容复制并保存到该文件中:
#!/bin/bash
# 即使在使用 NAS 的情况下,也能正常运行 Windows 或 Flatpaks 的修复脚本
case "$1" in
start)
mkdir -p /media/SHARE/saves/flatpak
mount --bind /media/SHARE/saves/flatpak /userdata/saves/flatpak
mkdir -p /media/SHARE/saves/windows
mount --bind /media/SHARE/saves/windows /userdata/saves/windows
mkdir -p /media/SHARE/roms/windows
mount --bind /media/SHARE/roms/windows /userdata/roms/windows
;;
esac
exit $?
-
第三步:激活服务
文件创建完成后,输入以下指令让该服务在每次开机时自动启动:
batocera-services enable nas_workaround -
第四步:立即生效
你可以选择重启系统,或者直接运行以下命令手动开启服务:
batocera-services start nas_workaround【提示】:一旦启动,系统会自动在
/media/目录下创建所有必要的挂载点(Mountpoints)。
版本差异说明
【注意】:如果你使用的是 Batocera v36 或更低版本,在脚本中执行 mount 命令时,不需要添加 --bind 这一参数选项。
游戏运行卡顿排查:为什么我的游戏像在“放幻灯片”?
如果你发现游戏运行速度极慢,或者画面一顿一顿的,先别急着怀疑系统坏了,咱们按部就班地来排查。
1. 建立一个“参照标准”
在动手修理之前,我们要先弄清楚:是你的设备真的出问题了,还是这款游戏本身就是个“硬件杀手”。
生活化类比:这就像是你打算用一辆老旧的小轿车去拉一卡车的砖头。虽然车子没坏,但它的马力(硬件性能)上限就在那,再怎么踩油门也跑不快。
- 了解模拟成本:由于模拟器需要用软件去模拟另一台机器的完整硬件,这非常消耗资源。比如,虽然 PS2 是二十多年前的老古董了,但要流畅模拟它,依然需要一台性能相当不错的现代电脑。
- 进行对比测试:你可以尝试在同一台电脑的 Windows 系统下运行该模拟器,或者在网上搜索其他玩家使用同款设备的运行视频。通过调研,确认你的设备是否真的能跑动这款游戏。
2. 异常卡顿的抢救措施
如果你确定自己的设备原本性能很强,但游戏表现却异常拉胯,可以尝试以下操作:
- 第一步:将所有设置恢复为“自动(AUTO)”
进入游戏设置,把之前乱动过的参数全部改回“AUTO”。这些是系统经过测试后的默认配置(Sane Defaults),在绝大多数情况下都能提供最稳健的性能。 - 第二步:切换图形接口(Graphics API)
每种显卡硬件对不同的图形接口偏好不同。你可以在系统的“高级设置”中尝试切换。
【提示】:模拟器通常支持多种图形接口,性能表现从新到旧的排序大致为:Vulkan(最新、效率最高) > GLCore > OpenGL(最老、兼容性最强)。并非所有模拟器都支持全部接口,建议优先尝试 Vulkan,如果黑屏或崩溃再退回到 OpenGL。
游戏性能深度调优:让画面更顺滑
如果你的游戏依然感觉“力不从心”,除了调节图形接口,还可以尝试以下几个更深层的优化方案。
1. 给音频处理留点“呼吸空间”
有时候游戏卡顿并不是显卡不给力,而是音频处理跟不上,反过来拖累了整个系统的节奏。
- 操作步骤: 进入系统的“高级选项”,尝试调高音频延迟(Audio Latency)的数值。
生活化类比:这就像是一个管弦乐团。如果鼓手(音频)累得跟不上节拍,指挥家(系统)为了保持整齐,不得不让所有的提琴手和管风琴师(性能)都慢下来等他。调高延迟就像是给鼓手一个更长的预备时间,让他能喘口气跟上大部队。
2. 清理后台的“干扰项”
某些自定义的脚本可能会偷偷占用系统资源,导致游戏运行不畅。
- 第一步:禁用自定义脚本
检查并暂时移除以下路径的文件(你可以通过重命名文件夹来快速停用):/userdata/system/scripts/(建议改名为backupscripts)/boot/boot-custom.sh/userdata/system/custom.sh
3. 降低分辨率:回归本真
很多老游戏在高清大屏上跑不起来,往往是因为我们“强人所难”地开启了高倍缩放。
- 操作步骤:
在游戏的高级设置里降低运行分辨率。
【注意】:对于第五代主机(如 PS1、SS、N64)及更早的机种,它们的设计初衷并不是为了在超高分辨率下运行。强行开启画面拉伸/提升(Upscaling)会消耗巨大的系统资源。
4. 显卡驱动的针对性检查
根据你使用的 Batocera 版本和显卡型号,驱动的处理方式也不同:
- Nvidia 显卡用户:
- 如果你使用的是 Batocera v33 或更低版本,请务必手动激活官方 Nvidia 驱动(Official Nvidia Drivers)。
- 如果你使用的是 Batocera v34 或更高版本,系统会自动处理,无需任何操作。
- AMD 或其他显卡用户:
无论什么版本,系统都会自动识别并驱动,你不需要担心这个问题。
依然无法解决?寻求社区支援
如果你尝试了以上所有方案,游戏性能还是像蜗牛爬:
- 建议操作: 带上你的系统日志(Logs),最好能录一段展示卡顿实况的视频,前往 Discord 社区频道寻求帮助。有了视频和日志,技术大佬们能更快帮你定位到病根。
音频故障排查
当你的耳朵听到破音、杂音或者干脆没声音时,请参考以下步骤:
音频故障排除:找回消失的声音
如果你的游戏画面流畅但却是一场“哑剧”,别担心,这通常只是声音信号在“走迷宫”时迷路了。
1. 检查显卡与驱动设置
在调整系统菜单之前,先确保硬件层面的“管道”是通畅的:
- 如果你使用的是 AMD (Radeon) 显卡:
首先检查引导命令行(Boot line)中是否已经开启了 HDMI 音频支持。 - 如果你使用的是 Nvidia 显卡:
请务必确认已经激活了官方驱动(Official Drivers)。
2. 玩转音频配置文件
Batocera 系统内置了多种音频方案,我们可以通过切换这些方案来寻找最匹配你硬件的那一个。
生活化类比:这就像是电视机背后的插孔。音频配置文件(Audio Profile)相当于决定使用哪一组插孔(HDMI、耳机孔或光纤),而音频输出设备(Audio Output)则是决定在这个插孔上接哪台音响。
-
第一步:尝试不同的配置文件
进入 主菜单(MAIN MENU) -> 系统设置(SYSTEM SETTINGS) -> 音频配置文件(AUDIO PROFILE)。
尝试切换不同的配置。当你退回到主菜单时,如果听到了默认的背景音乐,说明设置成功了。 -
第二步:手动锁定输出设备
如果切换配置文件后还是没声音,可以尝试手动指定输出设备。
【提示】:输出列表会随着配置文件的改变而更新。每切换一次配置文件,都需要退回到主菜单,然后再重新进入设置,才能看到更新后的设备清单。
3. 终极测试:地毯式排查法
如果上述操作都无效,请拿出耐心,按照以下步骤对硬件所有可能的输出模式进行一次彻底测试(虽然麻烦,但一次搞定,终身受用):
- 第一步:选定配置文件
进入 主菜单 -> 系统设置 -> 音频配置文件,选择列表中的第一个配置文件,然后退回到主菜单。 - 第二步:遍历输出设备
再次进入 系统设置 -> 音频输出(AUDIO OUTPUT),依次尝试列表中的每一个输出选项。
【注意】:每更换一个选项,都必须退回到主菜单测试是否有声音,然后再进入设置尝试下一个。 -
第三步:循环尝试
如果第一个配置文件的所有输出都试过了还没声音,请回到第一步,选择第二个配置文件,并重复第二步的操作。以此类推,直到找回声音。 -
循环尝试: 如果当前音频输出(AUDIO OUTPUT)中的所有选项都哑火了,请重复上述的第一步和第二步,换一个音频配置文件(AUDIO PROFILE)再试。
【提示】:你的音频输出选项是会随着配置文件的切换而改变的。
版本小贴士:Batocera 从 v32 版本开始重构了音频处理机制。现在大部分声音问题,只要在设置菜单里选对设备和配置就能迎刃而解。如果你用的是老版本或者依然搞不定,可以参考专门的“音频故障处理”页面。
我的磁盘空间都去哪儿了?
有时候你会发现,明明没装几个游戏,硬盘空间却莫名其妙地告急。
生活化类比:这就像是你虽然没买大件家具,但家里堆满了各种家电的包装纸箱、说明书和备用零件。虽然它们不是“主角”,但占起地儿来一点不含糊。
在 Batocera 中,很多体积巨大的“虚拟文件系统”文件,比如虚拟硬盘镜像(Hard Drive Images)、游戏安装包(Game Package Installation Files)以及预编译着色器(Compiled Shaders),都会悄悄躲进以下路径:
* saves/ 子文件夹
* system/<模拟器名称>/ 子文件夹
【注意】:当你运行第七代主机及以上的游戏(如 GameCube/Wii、PS3、3DS 等)时,这些文件会迅速膨胀到几 GB 甚至更多。如果磁盘空间离奇失踪,建议优先检查这些文件夹的大小。
“明明刚删了文件,系统还是提示空间不足!”
如果你刚清理了磁盘却依然收到空间报警,请看接下来的处理方法。
彻底清理:让被占用的磁盘空间“起死回生”
如果你明明已经删除了大量文件,系统却依然固执地提示“空间不足”,那通常是因为这些文件只是换了个地方躲起来了。
1. 别忘了清空“回收站”
当你点击删除时,Batocera 并不会立刻将文件灰飞烟灭,而是把它们移到了回收站里。
- 第一步:进入文件管理器(File Manager)
在系统列表界面按下键盘上的 [F1] 键。 - 第二步:清理回收站
点击左侧侧边栏的 回收站(Trash Can),选择清空它。
生活化类比:这就像是你打扫卫生,把垃圾收进了垃圾桶,但只要你还没把垃圾桶提到门口的垃圾堆场(清空回收站),这些垃圾依然待在你的屋子里,占据着空间。
2. 深度强制清理
有时候,文件管理器里的“清空回收站”可能会因为某些系统原因而失效,导致文件虽然看不见了,但空间依然被霸占着。这时我们需要动用“暴力手段”。
-
方案 A:手动强制删除
- 在文件管理器中导航至以下路径:
/userdata/system/.local/share/Trash/files - 全选里面的所有内容。
- 按下键盘的 [Shift] + [Del] 组合键进行永久删除。
- 在文件管理器中导航至以下路径:
-
方案 B:使用命令行清理(高手进阶)
如果你熟悉 SSH 远程连接,可以运行以下命令:
rm -rf /userdata/system/.local/share/Trash/*
【注意】:rm -rf 是一个极具破坏力的命令,它能瞬间抹除指定路径下的所有内容且无法撤销。请务必仔细检查你的拼写和空格,写错一个字符都可能导致你的硬盘数据彻底损毁,一定要慎之又慎!
【提示】:如果你觉得文字描述不够直观,可以参考“Batocera Nation”频道制作的演示视频,里面详细展示了这一清理过程。
磁盘清理进阶:告别“伪满员”状态
如果你想彻底杜绝“删了文件空间却没回来”的烦恼,可以尝试以下进阶操作。
1. 开启“一删到底”模式
你可以设置文件管理器,跳过回收站阶段,直接永久删除文件。
- 第一步:进入设置菜单
在文件管理器(File Manager)窗口顶部的菜单栏中,点击 编辑(Edit)。 - 第二步:修改偏好设置
进入 偏好设置(Preferences),取消勾选“将删除的文件移至回收站,而不是从磁盘擦除(Move deleted files to ‘trash can’ instead of erasing from disk)”。 - 第三步:保存退出
点击 关闭(Close),设置即刻生效。
【提示】:通过网络共享(Network Share)远程删除的文件通常不会进入回收站,而是直接删除。
2. 清理外部系统的“垃圾残留”
如果你曾把 Batocera 的驱动器插到另一台电脑(如 Windows 或 Mac)上管理文件,那台电脑可能会在你的 U 盘里偷偷创建一个隐藏的垃圾桶文件夹。
生活化类比:这就像是你把家里的抽屉(外置驱动器)借给邻居用,邻居往里面塞了一堆废纸(隐藏垃圾),即便你把抽屉拿回家,如果不彻底翻一遍那个“隐形夹层”,空间依然是被占用的。
- 操作感建议:
在驱动器连接到其他电脑时,请务必也清空该电脑系统的回收站。你也可以尝试在驱动器根目录搜索隐藏的“Trash”文件夹并手动将其彻底删除。
【注意】:虽然大多数操作系统默认会对可移动驱动器禁用回收站功能,但仍建议在系统设置中确认一下。
3. 磁盘空间“人间蒸发”?用指令看破真相
如果你翻遍了文件夹都找不到到底是谁占用了空间,我们可以动用终端指令来一次“深度体检”。
- 第一步:进入终端
打开系统内置的 xTerminal,或者通过 SSH 远程连接 访问 Batocera。 - 第二步:运行磁盘查询指令
输入以下命令并回车,它会以人类易读的格式(GB/MB)列出所有磁盘的剩余空间:
df -h
通过返回的列表,你可以清晰地看到各个分区(如 userdata)真实的占用百分比。
实战演练:揪出吃掉空间的“元凶”
当你输入查询指令后,系统会返回类似下面的数据表格。我们来一起看看如何解读这些“天书”:
[root@Batocera /userdata/system]# df -h
Filesystem Size Used Available Use% Mounted on
/dev/sdb2 22.0G 20.6G 1.4G 94% /userdata
/dev/sdb2 22.0G 20.6G 1.4G 94% /media/SHARE
/dev/sda1 1.8T 1.7T 0 100% /media/2TB
在这个例子中,你可以清晰地看到那块 2TB 的外置硬盘(/media/2TB)可用空间(Available)显示为 0,使用率(Use%)已经达到了 100%。这就是典型的“撑爆了”。
1. 使用可视化工具精准“排雷”
光知道磁盘满了还不够,我们得知道到底是哪些文件夹在“暴饮暴食”。
- 第一步:启动分析工具
在终端输入以下命令并回车,调用 磁盘占用分析器(ncdu):
ncdu /userdata - 第二步:扫描与分析
ncdu 会扫描你的整个用户数据分区。你会看到一个按文件大小排序的列表,占用空间最多的文件夹会排在最上面。
生活化类比:ncdu 就像是一台“X光机”,它能穿透复杂的文件夹结构,帮你一眼看清到底是哪个超大日志文件或缓存文件夹堵塞了你的“肠道”。
2. 现场“清理门户”
发现可疑的大文件后,你不需要退出程序,直接在 ncdu 界面里就能操作:
- 操作步骤:
使用方向键选中想要删除的文件或文件夹,然后按下键盘上的 [D] 键。确认后,该文件将被永久粉碎。
3. 验证清理成果
清理完毕后,再次运行 df -h 命令。你会惊喜地发现,原本满载的硬盘终于重新出现了宝贵的“余粮”:
/dev/sda1 1.8T 1.7T 19.2G 99% /media/2TB
看!原本为 0 的可用空间,现在已经腾出了 19.2G。
进阶疑难:游戏加载特别慢?开机甚至要等好几分钟?
如果你的存储空间充足,但系统却像没睡醒一样慢吞吞的,接下来的内容将帮你解决这个棘手的问题。
性能瓶颈排查:为什么系统加载慢如蜗牛?
如果你的游戏加载时间长得离谱,或者 Batocera 开机需要好几分钟,通常是因为数据传输的“管道”被堵住了。
1. 检查你的硬件“体质”
首先,我们要排除那些先天不足的硬件因素:
- 过时的 U 盘:你可能正在使用极其缓慢的老旧 U 盘(比如 USB 1.0,虽然这种老古董现在基本都坏得差不多了)。
- 劣质内存卡:SD 卡可能已经老化或本身存在质量问题(Faulty SD card)。
- 廉价的转接线:如果你用的是外置移动硬盘,可能是那个廉价的 SATA 转 USB 数据线(SATA-to-USB cable) 拖了后腿。很多廉价线并不支持 USB 附加 SCSI 协议(UAS,USB Attached SCSI protocol)。
生活化类比:这就像是你虽然买了一台动力强劲的抽水机(高性能处理器),但你连接水管的接口(转接线)却是漏水的或者内径极细,导致水流(数据)死活快不起来。
2. 使用指令侦测驱动协议
我们可以通过终端指令来精准识别你的移动硬盘是否运行在高效的 UAS 模式下。
- 操作步骤:
在终端输入lsusb -t并回车。你会看到类似下面的输出内容:
[root@Batocera /userdata/system]# lsusb -t
...
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
|__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=uas, 5000M
|__ Port 4: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
...
- 如何看懂结果:
- 设备 3 的驱动显示为
Driver=uas,这说明它支持高速协议,性能表现优秀。 - 设备 5 的驱动显示为
Driver=usb-storage,这说明它不支持 UAS 协议。
- 设备 3 的驱动显示为
【注意】:如果你的转接线不支持 UAS 协议,在使用移动硬盘时可能会遇到间歇性的访问故障或严重的性能下滑。
启动故障排除
PC 平台(x86/x86_64)
如果你无法正常启动系统,请先参考“Batocera 安装页面”确认你的 BIOS 设置(基本输入输出系统)是否正确。
在确认 BIOS 无误后,请按照以下步骤进一步检查:
启动攻坚:让 Batocera 顺利“点火”
如果你的电脑在开机时死活进不去系统,通常是主板的“安保系统”或者 Windows 的“赖床习惯”在作怪。
1. 调整 BIOS/UEFI 设置
主板的 基本输入输出系统(BIOS) 是硬件的最高指挥部,你需要在这里给 Batocera “开绿灯”。
- 第一步:允许传统模式启动
有些主板默认只允许带有数字签名的系统启动。你可能需要将 BIOS 设置改为允许 传统启动(Legacy Boot) 或 非安全启动(Unsecured Boot),否则主板可能只认 Windows。 - 第二步:处理安全启动(Secure Boot)
如果你的主板只有 统一可扩展固件接口(UEFI) 模式,且无法关闭 安全启动(Secure Boot),也找不到传统模式选项,请参考专门的“安全启动配置页面”进行操作。 - 第三步:应对受信任平台模块(TPM)
如果你的系统开启了 TPM 模块,Batocera v39 及更高版本会显示“启动项恢复(Boot Option Restoration)”并在 5 秒后重启。这会陷入死循环,直到你完成必要的 TPM 配置。
2. 多系统引导的路径检查
如果你是在同一台机器上使用 Grub 启动加载程序(Grub Bootloader) 来链式加载(Chainload)Batocera,请务必核对路径是否正确:
| Batocera 版本 | 引导文件正确路径 |
|---|---|
| v39 及更高版本 | /EFI/Batocera/bootx86.efi |
| v38 及更低版本 | /EFI/BOOT/bootx86.efi |
3. 解决 Windows 的“赖床”问题
如果你在同一台电脑上安装了 Windows,它可能会为了下次快速启动而霸占硬件控制权,导致 Batocera 无法介入。
生活化类比:这就像是 Windows 睡觉时总是“睁一只眼闭一只眼”(处于休眠状态),还把房门(硬件访问权)锁死并把钥匙揣在怀里。要想让 Batocera 进屋,你必须让 Windows 彻底“睡死”过去。
- 如何彻底关机:
Windows 8 及更高版本默认的“关机”其实是快速启动(Fast Startup)。- 操作感建议: 在点击开始菜单的“关机”按钮时,按住键盘上的 SHIFT 键。这会强迫 Windows 执行一次真正的彻底关机。
- 一劳永逸:
你也可以在 Windows 的电源设置中永久关闭这个所谓的“快速启动”功能。
【提示】:确保 Windows 没有处于休眠或快速启动状态,是解决双系统启动故障的关键。
启动故障排除:最后的“通关”排查
如果调整了 BIOS 依然无法点亮系统,可能是一些细微的硬件冲突或刷机过程中的小瑕疵在作怪。请尝试按照以下步骤进行最后的排查:
1. 硬件“大扫除”
- 第一步:精简连接
拔掉机器上所有不必要的存储设备(比如装有其他系统的内置硬盘)和多余的手柄,只保留最基础的启动盘。
2. 确保系统镜像“完美入驻”
- 第一步:重新刷写镜像
有可能之前的刷机过程并不完整。建议使用 Etcher 重新刷写,并务必确保最后一步的校验(Validation)显示为“成功(Successful)”。 - 第二步:彻底清除旧分区
【注意】:如果你是在 Windows 下给 U 盘刷镜像,Windows 的一个原生 Bug 可能会阻止它识别硬盘底层的其他分区。如果你的 U 盘原本被分成了好几个区,刷机前可能需要完全抹除(Wipe)整个磁盘。
【提示】:如果 Windows 实在搞不定,换一台装有其他操作系统(如 Linux 或 macOS)的电脑进行刷机通常会有奇效。
3. 线缆与接口的“脾气”检查
- 第一步:检查 SATA 转 USB 数据线
如果你使用的是外置硬盘或固态硬盘,请注意你的连接线。某些廉价线材不支持 TRIM 指令(TRIM),而这是正常引导所必需的。
> 生活化类比:这就像是一条老旧的输油管,虽然能流水,但不支持某些高级的调压指令,导致发动机(系统)无法正常点火。如果不行,请换一根线或换个驱动器试试。 - 第二步:尝试不同的 USB 接口
有些高速 U 盘(尤其是 USB 3.0 及以上)可能与你主板的芯片组(Chipset)存在兼容性问题。换一个接口(比如从蓝色的 USB 3.0 换到黑色的 USB 2.0 接口)有时就能解决问题。
4. BIOS 的进阶微调
- 操作步骤:尝试开关 IOMMU
在 BIOS 设置中,找到 输入输出内存管理单元(IOMMU) 选项,尝试将其开启或关闭。 - 操作步骤:切换硬盘工作模式
针对有问题的硬盘,在 BIOS 中尝试切换 AHCI / SATA / NVMe 等模式设置。
【提示】:有些主板的这个设置是“全局”的,修改后会影响所有连接的硬盘。
启动进阶排查:针对 Mac 与启动日志
如果基础设置还是没能让你的系统跑起来,我们可能需要动用一些进阶工具,或者让系统“开口说话”告诉你哪里出了错。
1. 解决 Mac 硬件或 EFI 分区识别难题
有些电脑(尤其是 Mac 硬件)的自带引导程序可能比较“挑食”,无法正确识别或加载 Batocera 的 EFI 分区(EFI Partition)。
- 解决方案: 考虑使用更通用的 rEFInd 引导管理器(rEFInd Boot Manager) 来替代原有的引导方式。
生活化类比:这就像是你家大门的钥匙(原厂引导)打不开锁,我们就给大门换一个万能锁芯(rEFInd)。这个新锁芯不仅能识别 Batocera,还能更好地管理你电脑上的其他系统。
【注意】:在动手操作之前,请务必阅读并理解 rEFInd 的完整说明页面。
2. 开启“详细启动模式”(Verbose Boot)
默认情况下,Batocera 在启动时会把那些复杂的系统指令隐藏起来。但如果系统卡住了,我们需要开启“详细启动模式”,让它把每一步运行过程都打印在屏幕上。
生活化类比:平时开机就像是在看电影封面,如果电影放不出来,我们就需要切换到“导演模式”,看看后台每一行剧本到底是在哪句台词卡住的。
对于 Batocera v36 及更高版本:
- 第一步:触发启动菜单
在按下开机键后,连续不断地按键盘上的 向下方向键(Down Arrow)。 - 第二步:选择详细模式
在出现的菜单中选择 verbose boot mode。 - 第三步:确认进入
选中后,可能需要按住 Enter 键 约半秒钟。
【提示】:因为启动菜单扫描按键信号的速度较慢,稍微长按才能确保系统“接收”到你的指令。
对于 Batocera v35 及更低版本:
你需要手动修改配置文件来开启这个模式。
-
第一步:找到配置文件
根据你的启动方式定位文件:- 传统启动(Legacy boot):
/boot/boot/syslinux/syslinux.cfg(如果是 v5.24 或更低版本,路径为/boot/boot/syslinux.cfg) - EFI/UEFI 启动:
/boot/EFI/BOOT/syslinux.cfg(如果是 v5.24 或更低版本,路径为/boot/EFI/syslinux.cfg)
- 传统启动(Legacy boot):
-
第二步:修改代码内容
在文件中找到下面这一行:
MENU SHIFTKEY
将其替换为:
MENU HIDDEN
启动调试:让系统“吐露心声”
在完成配置文件的修改后,你就可以在下次开机时看到详细的启动日志了。
- 第一步:触发菜单
重新启动 Batocera,在出现引导画面时,迅速连续按下键盘上的 向下方向键(Down Arrow)。这样就能中断自动加载,进入 Syslinux 菜单(Syslinux Menu)。 - 第二步:选择详细模式
在菜单中选中详细模式选项(或者直接按键盘上的快捷键 [V])来启动。
生活化类比:普通启动模式就像是快进看电影,你只能看到开头和结尾;而详细模式(Verbose Mode)就像是逐帧检查胶片,系统会把每加载一个驱动、每检测一个硬件的过程都写在屏幕上。如果哪里出了错,它就会停在那个画面,告诉你“剧本”演不下去了。
【注意】:在编辑配置文件时请务必小心。启动指令对语法(Syntax)的要求极其严苛,编辑器在粘贴时若多加了一个空格或换行,都可能导致开机失败。操作前请务必备份原文件!
【提示】:如果你是通过 SSH 远程连接 或终端进行操作,别忘了在修改前先将 /boot/ 挂载点设置为可读写模式(Write Mode),否则无法保存修改。
传统启动模式下的故障恢复
在基于 x86_64 架构的 传统启动(Legacy Boot) 系统上,存在一个潜在的“地雷”:
如果 /boot/boot/syslinux/ldlinux.sys 文件遭到了任何形式的改动,都可能导致后续对 /boot 分区的修改(包括系统升降级)彻底崩盘。届时,开机后你只会看到一个写着 “Boot error” 的黑屏。
如何从“Boot error”中死里逃生:
如果你不幸遇到了这个问题,可以按照以下步骤尝试修复:
- 第一步:准备外部救援工具
使用另一块硬盘或 U 盘启动一个 Linux 发行版(Linux Distribution) 环境(本操作已在ubuntu-23.10.1-desktop-amd64.iso的安装镜像下测试通过)。 - 第二步:进入最高权限环境
在 Linux 桌面选择“尝试 Ubuntu(Try Ubuntu)”,打开终端,输入sudo -i进入 Root 权限 Shell(Root Shell)。 - 第三步:连接设备
如果还没连接,请接上那块出问题的 Batocera 硬盘。
深度救砖:修复传统启动引导
在进入 Linux 救援系统并识别出驱动器后,请按照以下指令精确操作,让你的引导程序重新“各就各位”:
- 第一步:卸载分区
确保 Batocera 的引导分区处于非挂载(Not mounted)状态,输入:
umount $(blkid -L Batocera) - 第二步:准备工具
确保系统中已安装syslinux工具包。如果你使用的是 Debian 或 Ubuntu 系统,请执行:
apt install syslinux - 第三步:重新安装引导程序
执行核心修复命令:
syslinux -i $(blkid -L Batocera) -d /boot/syslinux
【注意】:执行时如果出现类似“Hidden (2048) does not match sectors (63)”的警告提示,请忽略它,这是正常现象。
单板计算机(RPi、Odroid 等)启动故障
如果你使用的是单板计算机(SBCs,如树莓派、Odroid 等)却无法启动,这通常非常罕见(因为这类设备不像台式机那样模块化,配置比较固定),大多是由硬件故障或外部环境引起的。
你可以尝试以下排查步骤:
-
排查“供血不足”:
开机是处理器(CPU)最累的时刻,如果电压不足(Undervoltage),系统就会启动失败。- 第一步:减轻负载
拔掉所有不必要的外部 USB 设备,包括移动硬盘、鼠标、键盘、游戏手柄甚至网线。 - 第二步:确认电源
确保你使用的是该单板计算机官方推荐的标准电源适配器。
生活化类比:这就像是给一辆电瓶车加了太多的重物。在平路开(待机)可能没问题,但一旦遇到陡坡(开机),电机就会因为瞬间电流不够而直接熄火。
- 第一步:减轻负载
-
停用网络共享:
关闭你正在尝试连接的所有网络共享(Network Shares),防止系统在启动时因为寻找远程资源而“卡死”。 -
清理游戏数据:
有时候过大的媒体库会导致加载崩溃。尝试删除roms/<对应系统>/目录下的游戏元数据文件(如gamelist.xml)以及图片(Images)和视频(Videos)文件夹。 -
终极手段:重刷镜像
如果上述方法都不管用,请尝试重新刷写 SD 卡。
【提示】:部分用户反馈,在某些情况下,必须先将 SD 卡完全格式化(Reformat)回空白状态,Batocera 才能成功在卡上启动。
解决开机启动视频(Splash Video)卡顿
如果你发现开机视频像“幻灯片”一样卡顿,别担心,这通常不是系统坏了。
生活化类比:在系统正式启动前,显卡驱动还没“起床”,所有的画面渲染全靠处理器(CPU)一个人硬扛。这就像是用纯人力拉一辆沉重的大货车,如果坡度太陡(分辨率太高)或者人力太弱(CPU性能低),自然会走不动。
这种现象通常发生在以下两种情况:
1. 你连接了一个超高分辨率的显示设备(比如 4K 电视)。
2. 你的 CPU 性能本身比较弱。
操作步骤:强制降低渲染分辨率
你可以通过修改配置文件,强行让启动视频以较低的分辨率(如 1920×1080 或 1280×720)运行:
- 第一步:打开配置文件
你可以编辑batocera-boot.conf或者batocera.conf。 - 第二步:加入代码
在文件中添加或修改以下内容:
text
splash.video.resize=1280x720
视频/显示问题
该部分内容已移至专门的独立页面。
AMD 显卡驱动选错:Radeon 还是 AMDGPU?
这个问题较少见,通常出现在 AMD 的 RX 200 和 RX 300 系列显卡(代号为 南方群岛 SI 和 海岛 CIK)上。系统有时会错误地选择旧款的 Radeon 驱动,而不是较新的 AMDGPU 驱动。
- 为什么要改?
旧的 Radeon 驱动不支持 Vulkan 图形接口(Vulkan),而更新的 AMDGPU 驱动则完美支持。
【提示】:如果你发现自己的 AMD 显卡无法开启 Vulkan,可能就是驱动选错了。
如果你觉得系统自动选择的 Radeon 驱动性能已经达标,那就完全不需要进行任何改动!接下来的高级操作仅适用于你有极特殊的需求,且手头没有更新型号显卡的情况。
强制切换显卡驱动:让老兵焕发第二春
我们要做的操作是在内核(Kernel)层面强制 Batocera 使用特定的驱动,而不是让系统自动选择。
生活化类比:这就像是给一位老兵(显卡)换了一套现代化的作战装备(AMDGPU 驱动)。虽然装备更强了,但因为老兵的身体可能不太适应新装备,偶尔会出现动作不协调(花屏或爆音)的情况。
【注意】:强制干预驱动可能会导致画面、声音出现故障或功能缺失。对于大多数用户,我们不推荐这样做。
【警告】:如果你的显卡是比 R7 240 更老的 RX 或 R 系列,它们压根不支持 AMDGPU 驱动。强制切换会导致系统完全无法识别你的显卡。
操作步骤:手动修改引导配置
- 第一步:定位并编辑文件
按照之前开启“Radeon HDMI 音频”的教程,找到并编辑syslinux.cfg配置文件。 - 第二步:添加驱动指令
不要添加radeon.audio=1,而是将下面这段代码追加到配置行末尾:
text
radeon.cik_support=0 amdgpu.cik_support=1 radeon.si_support=0 amdgpu.si_support=1 - 第三步:解决 HDMI 声音失踪(可选)
如果在切换驱动后,你发现 HDMI 没有声音输出了,请尝试在末尾继续追加这段代码:
text
amdgpu.dc=1
网络问题排查
有关网络连接、Wi-Fi 或网速等问题的解决方案,目前已移至专门的独立页面。
蓝牙连接排查:为什么我的手柄连不上?
如果你遇到了手柄搜不到、连不上或者经常掉线的问题,可以按照以下步骤“对症下药”。
1. 确认兼容性与系统配置
首先,请去官网查看受支持的手柄列表(Supported Controllers)。虽然未列出的手柄通常也能用,但可能存在一些还没被发现的小毛病。
- 第一步:检查系统开关
打开你的system/Batocera.conf配置文件,确保controllers.bluetooth.enabled=1这行代码存在,且前面没有#号(即未被注释掉)。 - 第二步:激活配对模式
确保你的手柄已经进入了配对模式(Pairing Mode)。
【提示】:每个手柄的操作不同,通常是开机时按住特定的组合键。
2. 环境与干扰因素排查
蓝牙信号其实非常“脆弱”,很容易被周围的电子环境干扰。
生活化类比:蓝牙连接就像是在嘈杂的派对上隔空喊话。如果你身边有功率巨大的音响(USB 3.0 硬盘)、一群人都在大声聊天(Wi-Fi 路由器),或者中间隔着一堵厚墙,对方就很难听清你在说什么。
- 第三步:扫除物理干扰
检查附近是否有这些干扰源:- 正在传输数据的 USB 3.0 设备(如移动硬盘)。
- 离得太近的 Wi-Fi 路由器。
- 正在工作的微波炉。
- 大面积的金属板。
- 甚至……一只叫声特别大的狗(原文如此,虽然这听起来更像是个幽默)。
- 第四步:关闭多余的无线干扰
尝试暂时关掉 Wi-Fi 等其他无线接口,给蓝牙腾出干净的“频道”。
3. 硬件冲突解决
如果你的设备同时拥有多个蓝牙接口(Bluetooth Interfaces),它们可能会产生内耗。
- 避免“双头管理”:
如果你既有主板内置的蓝牙模块,又插了一个 USB 蓝牙适配器(Dongle),它们可能会打架。 - 树莓派专属技巧:
如果你使用的是树莓派(Raspberry Pi)3 或 4 代,想要彻底禁用主板自带的蓝牙,可以在/boot/config.txt文件中添加一行:dtoverlay=disable-bt。
4. 彻底重置
- 第五步:清除记忆
如果你之前连过这个手柄但现在连不上了,请先在系统中清除掉之前保存的蓝牙配对记录,然后重新开始配对流程。
蓝牙适配器(Dongle)专项排查
如果你使用的是外接的蓝牙适配器(俗称“蓝牙狗”),可能会遇到一些更具体的硬件脾气。
1. 适配器的“玄学”急救
蓝牙适配器有时会因为供电或兼容性问题陷入“假死”状态。
- 第一步:重新拔插
有些电脑在关机后仍会给 USB 接口供电。这会让部分适配器产生误判,导致它们“死机”,直到你重新拔插一次才能恢复正常。 - 第二步:更换低速接口
尝试将蓝牙适配器插在 USB 2.0 接口(黑色)而不是 USB 3.0 接口(蓝色)上。
【提示】:部分适配器在高速 3.0 接口下会产生严重的兼容性问题。 - 第三步:手动命令行连接
如果图形界面死活搜不到设备,你可以尝试通过 SSH 远程连接(Secure Shell)或系统的 终端(xterm)手动运行连接指令。
生活化类比:这就像是有些老式的声控灯,如果环境光一直半亮不暗,它可能就“懵”了。最简单的办法就是断一下电(重新拔插),让它重新初始化。
【注意】:Batocera 并不支持市面上所有的适配器,如果你的型号太新,可能还没被系统收录。建议参考官方的“已确认兼容列表”。
2. 空间占满引发的“后遗症”
这是一个比较离奇但确实存在的 Bug:
- 警惕空间溢出:
有些用户反映,如果你的用户数据分区(Userdata Partition)曾经被完全占满过(比如因为自动抓取游戏封面图导致空间耗尽),蓝牙功能可能会永久失效。 - 终极解决方法:
即使你后来清理了空间,蓝牙可能依然无法工作。目前已知的唯一解决办法是重新刷写(Reflash) Batocera 系统。
3. 手动安装蓝牙固件
如果你的蓝牙设备在启动时报错,提示缺少特定的二进制固件文件,你可以手动为其“补全”。
- 第一步:确认缺失文件
运行dmesg命令查看系统日志,确认报错信息中提到的固件名称。 - 第二步:放置固件
将缺失的固件文件放入/lib/firmware/rtl_bt/路径下。 - 第三步:永久保存
测试确认蓝牙恢复正常后,运行以下命令保存更改,防止重启后丢失:
batocera-save-overlay
生活化类比:这就像是给一台新买的进口家电配上缺失的中文说明书。没有这份“固件”,系统虽然认得出硬件,却不知道该如何指挥它工作。
固件补丁与手柄异常排查
如果你的蓝牙硬件已经插好,但系统依然“闹脾气”,通常是因为它缺少了一份关键的“操作指南”。
1. 识别固件缺失信号
当蓝牙设备缺少二进制固件文件(Binary Firmware Files)时,它会在系统日志中留下记录。你可以通过运行 dmesg 命令来捕捉这些信号。
报错示例:
[ 1.797311] Bluetooth: hci0: RTL: firmware file rtl_bt/rtl8761b_fw.bin not found
如果你根据上一节的教程手动添加固件并成功修复了问题,请务必告诉开发者!这样他们就能在下一个版本的 Batocera 中直接内置这些文件,造福更多玩家。
2. 手柄已连接但没反应?
有时候,手柄虽然显示连接成功,但按键却像“失灵”了一样,或者行为逻辑非常怪异。
- 第一步:查阅兼容性列表
首先,请核对受支持的手柄页面(Supported Controllers)。如果你的型号不在列表内,虽然通常也能用,但可能会遇到一些未被记录的奇怪问题。 - 第二步:改用有线连接(推荐)
如果条件允许,请优先使用有线连接。
> 生活化类比:无线连接就像是“对讲机”,中间可能因为隔墙、干扰或没电导致信号断断续续;而有线连接就像是“实体电话线”,直接且稳定。如果手柄在有线状态下表现完美,那问题多半出在蓝牙设置上(请回头查看蓝牙排查章节)。 - 第三步:切换手柄工作模式
很多第三方手柄(非原厂)都自带多种“身份”。请尝试切换它们,每切换一次模式,记得重新拔插一次设备。- 优先尝试:X-input 模式(这是目前兼容性最好的模式)。
- 备选方案:D-input 模式。
【提示】:很多第三方手柄是通过长按某个组合键(如 Home 键 + A/X)来切换模式的,具体请查阅你的手柄说明书。
如果你想尝试更深入的调试,通过 SSH远程连接(Secure Shell) 使用 evtest(输入事件测试工具),可以参考专门的“摇杆故障诊断”页面。
为什么在 Batocera 里读不到我的 Windows 硬盘?
你可能会遇到这种怪事:明明电脑里装了 Windows 的硬盘是好的,但在 Batocera 的文件管理器里却怎么也打不开。
生活化类比:这就像是你和室友合租。Windows 就像是一个有点“霸道”的室友,他出门(关机)的时候,为了下次回来能快点进屋,故意把房门反锁并把钥匙拔走了。这样一来,你想进去(Batocera 读取数据)就完全没门。
这是因为 Windows 在关机时有一种“锁定”硬盘的习惯,导致其他操作系统无法访问。
快速测试:彻底关机
你可以先做一个简单的测试:在 Windows 的开始菜单点击“关机”时,按住键盘上的 Shift 键。这会强制 Windows 进行一次“真关机”,交出硬盘的控制权。
永久解决:关闭“快速启动”功能
如果你不想每次关机都按住 Shift 键,可以永久关闭 Windows 的快速启动(Fast Startup,又称混合启动)功能。
- 第一步:进入电源选项
在 Windows 开始菜单搜索并打开控制面板(Control Panel)(切换到图标视图),点击电源选项(Power Options)图标。 - 第二步:更改电源按钮功能
点击左侧列表中的“选择电源按钮的功能(Choose what the power buttons do)”。 - 第三步:解锁管理员权限
点击页面上方带有盾牌图标的“更改当前不可用的设置(Change settings that are currently unavailable)”(这需要管理员权限)。 - 第四步:取消勾选快速启动
在下方的“关机设置”栏目中,取消勾选“启用快速启动(Turn on fast startup)”复选框。 - 第五步:保存并生效
点击底部的“保存修改(Save changes)”按钮。
【提示】:关于此操作的更多技术细节,你可以参考 Windows 8 论坛(eightforums)或 Windows 10 论坛(tenforums)的相关说明。
除了 Windows 系统内部的设置,你的主板硬件层面可能也存在类似的“拦路虎”。
- 操作建议:检查 BIOS 设置
在主板的 BIOS 配置(BIOS Configuration) 中,可能也需要关闭相关的快速启动选项。这些选项的名称在不同品牌的主板上叫法不一,常见的有“快速启动(Fast Boot)”、“Windows 8.1/10/11 启动特性(Windows 8.1/10/11 boot/feature)”或“混合睡眠(Hybrid Sleep)”等。
【提示】:由于每款主板的菜单设计都不同,具体操作请查阅你的主板说明书。
我能看到硬盘,但还是打不开!
如果你在文件管理器中能看到硬盘的图标,但点击时却提示无法访问,那可能是撞上了 Windows 的“防盗锁”。
1. 检查 BitLocker 硬盘加密
BitLocker 硬盘加密(BitLocker Drive Encryption) 是 Windows 的一项安全功能,它会对硬盘数据进行加密,使得除了原本的 Windows 系统外,其他系统(如 Batocera)都无法读取。
【注意】:从 2024 年左右开始,这项功能在很多电脑上是默认开启的。
- 第一步:搜索加密设置
在 Windows 开始菜单中输入“bitlocker drive encryption”,并选择同名的设置选项。 - 第二步:确认关闭状态
在弹出的窗口中,确保你想要访问的硬盘状态显示为“关闭(Off)”。如果显示为开启,你需要先将其解密。
2. 检查单个文件或文件夹的加密
有时候,虽然整个硬盘没加密,但个别文件夹可能被锁住了。
- 第一步:定位问题文件夹
在 Windows 中找到那个“无法访问”的文件夹或文件,点击鼠标右键,选择属性(Properties)。 - 第二步:进入高级设置
在“常规”选项卡下点击高级(Advanced..)按钮。 - 第三步:取消加密
取消勾选“加密内容以便保护数据(Encrypt contents to secure data)”,然后点击确定。
生活化类比:这就像是你虽然进了屋子(硬盘),但屋里有些保险箱(文件夹)被额外上了锁。即便你有房门钥匙,不把保险箱的锁打开,还是拿不到里面的东西。
MacOS 环境:那些以 ._ 开头的奇怪文件
如果你是在 Mac 系统下管理游戏文件,可能会发现多出了许多奇怪的小文件。
如果你是一名 Mac 用户,当你通过网络连接到 Batocera 时,可能会发现游戏文件夹里多出了许多以 ._ 开头、且文件名与你的游戏文件一一对应的“幽灵文件”。比如,你原本有一个 1943.zip,旁边却冒出一个 ._1943.zip。
生活化类比:这就像是你在 Mac 上给每个包裹(游戏文件)都贴了一张只有 Mac 才能看懂的“备注标签”。当你把包裹搬到 Batocera(Linux 系统)时,虽然这些标签对运行游戏毫无用处,但它们却像是一地碎纸屑,被系统当成普通文件展示在你的游戏清单里。
这些文件在 Linux 系统中默认是隐藏的(因为以点开头),但在 EmulationStation 游戏前端(EmulationStation) 中,它们可能会干扰你的视线。
如何清理这些“垃圾”文件
- 第一步:查看这些文件
通过 SSH 远程连接(Secure Shell) 登录你的 Batocera 系统,输入以下命令来列出所有这类文件:
find /userdata/ -name "._*" - 第二步:彻底删除
确认列表无误后,输入以下命令将它们一键清除:
find /userdata/ -name "._*" -exec rm {} ;
创建 Batocera 支持文件(诊断快照)
如果你遇到了难以解决的故障,想要把系统的运行日志发送给开发者进行远程诊断,你可以生成一个包含系统状态的快照包。
- 方法 A:通过菜单生成(推荐)
进入 主菜单(MAIN MENU) -> 系统设置(SYSTEM SETTINGS) -> 前端开发选项(FRONTEND DEVELOPER OPTIONS) -> 创建支持文件(CREATE A SUPPORT FILE)。 - 方法 B:通过命令行生成
你也可以通过 SSH 远程连接运行命令:batocera-support。
文件去向:
生成的快照包(tarball)会保存在 /userdata/saves/ 目录下,文件名格式类似于 batocera-support-年月日时分秒.tar.gz。
【警告】:这个压缩包内可能包含敏感隐私数据,例如你的 Wi-Fi 密码或 RetroAchievements 奖杯账号密码。这些信息是以明文形式存储的,因此在向他人或公开平台分享该文件前,请务必保持谨慎!
在这些生成的支持文件中,以下位置可能会包含你的敏感信息:
| 敏感信息类型 | 存储位置 |
|---|---|
| Wi-Fi 名称(SSID)及密码 | system/batocera.conf 和 system/batocera-boot.conf |
| RetroAchievements 用户名及密码 | system/batocera.conf |
| ScreenScraper 用户名及密码 | system/es_settings.cfg |
【提示】:为了保护隐私,你也可以使用一个刚安装好、尚未填写任何个人信息的 Batocera 系统来生成支持文件。
从 Batocera v39 或更高版本开始,系统会自动从支持文件中擦除大部分敏感数据。如果你在后续版本的支持文件中仍然发现了隐私信息,请前往 Github 提交问题报告(Issue Report)。
恢复出厂设置(Factory Reset)
当系统被搞得一团糟,你想“一键还原”但又不想丢失宝贵的游戏镜像(ROMs)、存档以及辛苦抓取的游戏元数据时,你可以尝试“恢复出厂设置”。
生活化类比:这就像是给你的房子重新装修。我们要拆掉所有旧的家具和墙纸(系统设置),但保留你存放在仓库里的宝贝(游戏和存档)。
以下是几种操作方法,按安全等级从高到低排序:
方案一:通过命令行重置(最推荐、最安全)
这种方法会把旧的系统文件夹重命名备份,而不是直接抹除,给你留了“后悔药”。
- 第一步:远程登录
通过 SSH 远程连接(Secure Shell) 登录到你的 Batocera。 - 第二步:停止前端运行
输入以下命令停止 EmulationStation 游戏前端(EmulationStation),确保配置文件不在被占用状态:
/etc/init.d/S31emulationstation stop - 第三步:备份并重置系统目录
将旧的系统设置文件夹改名为system.old:
mv /userdata/system /userdata/system.old - 第四步:重启系统
输入命令重启设备:
reboot
重启后,系统会发现没有 system 文件夹,从而自动创建一个全新的默认配置文件夹。
方案二:通过另一台电脑重置
如果你无法通过网络连接到设备,可以直接对硬盘“动手术”。
- 第一步:拆下硬盘
关闭 Batocera 设备,拔下启动盘(U 盘或硬盘)。 - 第二步:在另一台电脑上操作
将该盘插入另一台正在运行的电脑。在文件管理器中找到名为 SHARE 的分区,进入userdata文件夹。 - 第三步:重命名系统目录
找到名为system的目录,将其改名为system.old。 - 第四步:重新开机
将硬盘插回原机,再次启动 Batocera 即可完成重置。
方案三:直接在系统内操作(文件管理器法)
这种方法最直观,适合能正常开机进入桌面的用户。
- 第一步:打开文件管理器
在 Batocera 界面中进入文件管理器(File Manager)。 - 第二步:修改文件夹名称
找到system文件夹,右键将其重命名为system.old。
方案四:通过网络共享重置
如果你习惯在另一台电脑上管理 Batocera 的文件,可以尝试这种方式。
- 第一步:释放文件占用
先确保 EmulationStation 游戏前端 没有占用系统文件(你可以先打开文件管理器窗口,或者通过 SSH 输入命令/etc/init.d/S31emulationstation stop来停止它)。 - 第二步:远程访问
在另一台电脑上通过网络共享(Network Share)访问 Batocera 的userdata分区。 - 第三步:更名并重启
将system目录重命名为system.old,然后立即重启设备。
生活化类比:这几种方法其实本质上都是在玩“掉包计”。Batocera 启动时会寻找名为
system的“保险箱”来读取你的设置。我们把它偷偷改名,系统找不到它,就会原地重新建一个装满初始配置的新保险箱。你的游戏和存档(放在其他文件夹里)则毫发无伤。
完成重启后,你的所有设置都将恢复到出厂时的默认状态。这意味着你需要重新输入一些参数,比如 Wi-Fi 密码等。
1. 逐步找回旧设置
如果你不想手动输入所有内容(尤其是 Batocera.conf 里可能有很多复杂的配置),可以利用刚才备份的“后悔药”。
- 第一步:对比参考
查看/userdata/system.old/batocera.conf文件以及/userdata/system.old/configs/文件夹中的旧文件。 - 第二步:逐条恢复
将旧设置一项一项地移回新系统中。
生活化类比:这就像是你把家里所有可能导致跳闸的旧电器都搬到了走廊(system.old)。现在你先把新家具摆好,再把旧电器一件件搬回来试。如果搬到某个旧微波炉时又跳闸了,你就知道“元凶”是谁了,直接把它扔掉即可,其他的电器还能接着用。
2. “撤销”重置操作
如果你发现重置了系统也解决不了问题,或者想念原来的配置,可以通过将 system.old 文件夹中的内容重新覆盖回当前的 system 文件夹,从而“撤销”这次出厂重置。
最后的绝招:重新刷机
如果连恢复出厂设置都救不了你的系统,作为最后的手段,你可以尝试重新刷写(Re-flashing) Batocera 镜像。
【注意】:重新刷机是一个破坏性的操作。如果你的游戏(ROMs)、存档等数据和系统存储在同一个驱动器上,刷机过程会清空所有用户数据。请在操作前务必做好备份!
其他常见问题排查
这里还有一些大家经常遇到的问题,可以跳转到对应的专项页面查看:
- 系统无法更新(Batocera can’t update):如果自动更新卡住,请尝试手动更新。
- 系统时钟总是重置(Batocera keeps resetting my clock):这通常是因为你安装了双系统,请去修复你电脑里的另一个操作系统(比如 Windows)的时间同步设置。
原文: 常见问题综合排查 • 翻译: DIY8 Bot


暂无评论内容