PS2 SCPH-50006 + Matrix Infinity 直读 + 无光驱 + 无 FMCB 记忆卡 → HDD 启动方案。
ps2/
├── scripts/ 所有脚本
│ ├── baidu_pan_dl.py 百度网盘批量转存 + 下载 + 解压
│ ├── convert_images.sh mdf/bin/cue/chd → ISO 批量转换
│ ├── inject_all.sh hdl_dump 批量灌盘 (断点续灌)
│ ├── fix_failed.sh 修复灌盘失败的游戏
│ ├── download_art.py OPL 封面批量下载 (xlenore/ps2-covers)
│ ├── fix-mbr.sh 写 MBR + 建 APA 分区 + 灌 FHDB
│ └── restore-mbr.sh 一键写回 uLaunchELF 引导
├── docs/
│ ├── manifest.md 90 款游戏清单 (含 redump.org 精确大小)
│ └── links.example.txt 分享链接文件模板
├── tools/ 第三方工具 (gitignored)
│ └── FMCB/ FMCB 安装器
├── LICENSE
└── README.md
所有脚本通过环境变量配置路径,不硬编码任何机器特定值:
# 必须
export ISO_DIR=/run/media/hxue/XXXXX/PS2 # ISO 存放目录
export PS2_DEV=/dev/sdb # PS2 硬盘设备
# baidu_pan_dl.py 必须
export BAIDU_BDUSS='你的BDUSS'
export BAIDU_STOKEN='你的STOKEN'
export ARCHIVE_PASSWORD='解压密码'
# 可选 (有默认值)
export HDL_DUMP=/tmp/hdl_dump/hdl_dump # 默认从 PATH 找 hdl_dump
export PFSSHELL=/tmp/pfsshell # 默认从 PATH 找 pfsshell
export LOG_DIR=/tmp # 日志输出目录sudo apt install aria2 unrar p7zip-full bchunk mame-tools mdf2iso genisoimage
pip install requests工具从源码编译:
hdl_dump—git clone https://github.com/ps2homebrew/hdl-dump && makepfsshell— PS2 APA/PFS 分区管理
export PS2_DEV=/dev/sdb
export MBR_IMG=/path/to/__mbr.raw
export FHDB_DIR=/path/to/fhdb-files
export PFSSHELL=/path/to/pfsshell
sudo bash scripts/fix-mbr.sh硬盘装回 PS2,用 FMCBInstaller 安装 FHDB,再装回电脑继续灌游戏。
export BAIDU_BDUSS='xxx'
export BAIDU_STOKEN='yyy'
export ARCHIVE_PASSWORD='oldmanemu.net'
export ISO_DIR=/run/media/hxue/XXXXX/PS2
python3 scripts/baidu_pan_dl.py \
--share-url 'https://pan.baidu.com/s/xxxx' \
--share-pwd 'abcd' \
--manifest docs/manifest.md \
--phase download下载到 tmpfs (/tmp/ps2_tmp) → 解压到 ISO_DIR → 自动删压缩包,不会写 NVMe。
export ISO_DIR=/run/media/hxue/XXXXX/PS2
bash scripts/convert_images.sh自动转换 mdf/bin/cue/chd → ISO。
export PS2_DEV=/dev/sdb
export ISO_DIR=/run/media/hxue/XXXXX/PS2
export HDL_DUMP=/tmp/hdl_dump/hdl_dump
sudo bash scripts/inject_all.sh自动检测 CD/DVD,断点续灌,失败的记录到日志。
export ISO_DIR=/run/media/hxue/XXXXX/PS2
# 可选: 直接输出到 U 盘
# export ART_DIR=/run/media/hxue/U盘/ART
# export ART_3D=1 # 3D 封面 (默认 2D)
python3 scripts/download_art.py扫描每个 ISO 的 startup ID → 从 xlenore/ps2-covers 批量下载封面。
传到 PS2:
ART/目录拷到 FAT32 U 盘- uLaunchELF →
mass:选 ART → R1 Copy →hdd0:+OPL→ Paste - OPL Settings → Art → HDD
| 症状 | 原因 | 解决 |
|---|---|---|
| 开机黑屏 | FHDB 1.9xx 与直读内核补丁冲突 | 按住 START 禁用直读 → reset |
| 反复读盘 | MBR 扇区 0 指针未更新 | bash scripts/restore-mbr.sh |
| 安装器黑屏退出 | 缺 lang/ 目录 |
检查 FMCBInstaller 目录结构 |
.7z 解压失败 |
文件实为 RAR5 (后缀不可信) | 脚本已按 magic bytes 自动判断 |
| 灌盘 "no startup" | ISO 损坏或非标准格式 | 用 bchunk 转换后重灌 |
| OPL 封面不显示 | 文件名与 startup ID 不匹配 | 脚本自动从 SYSTEM.CNF 提取 ID |