尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

hekate 引导加载器配置完全指南:hekate_ipl.ini 启动项、Payload 存储与 Nyx 界面详解

发布时间:2026/9/25 2:19:04

资讯中心
01
ARTICLE

hekate 引导加载器配置完全指南:hekate_ipl.ini 启动项、Payload 存储与 Nyx 界面详解

hekate 引导加载器配置完全指南:hekate_ipl.ini 启动项、Payload 存储与 Nyx 界面详解
嵌入式固件系统编程【免费下载链接】hekatehekate - A GUI based Nintendo Switch Bootloader项目地址https://gitcode.com/gh_mirrors/he/hekate点击查看免费下载hekate 是一款基于图形界面的 Nintendo Switch 自定义引导加载器Bootloader集成了固件补丁firmware patcher、工具集与 Nyx 图形界面。本文以仓库 README.md 为核心系统讲解其启动目录布局、hekate_ipl.ini全局配置与启动条目语法、Exosphère 相关键值、Payload 存储布局以及nyx.ini界面配置并结合仓库源码bootloader/config.c、bootloader/main.c、nyx/nyx_gui/config.h 等验证默认值与底层行为。读完本文你将能独立编写一份可运行的 hekate 启动配置并为 CFW Sys/Emu、OFW、Android/Linux、Payload 工具等场景规划引导方案。功能总览根据 README.mdhekate 的核心能力包括完全可配置的图形界面支持触摸屏与 Joycon 输入启动器风格、背景与颜色主题HOSSwitch OS引导覆盖 CFW Sys/Emu、OFW Sys 与 Stock SysAndroid 与 Linux 引导L4TPayload 启动器eMMC/emuMMC 备份/还原工具SD 卡分区管理器为 HOSSys/emuMMC、Android、Linux 任意组合准备并格式化 SD 卡emuMMC 创建与管理支持迁移和修复已有 emuMMCSwitch Android Linux 刷写器USB 大容量存储UMS将 Switch 变为 SD 卡读卡器支持 SD/eMMC/emuMMCUSB 手柄Gamepad把 Switch Joycon 变为 USB HID 手柄硬件与外设信息SoC、Fuses、RAM、Display、Touch、eMMC、SD、Battery、PSU、Charger其他工具Archive Bit Fixer、触摸校准、SD/eMMC 基准测试、AutoRCM 启用等。其中与本文配置主题直接相关的“Payload 启动”“L4T 引导”“emuMMC 管理”“UMS”等能力正是通过后续的 ini 配置与 Payload 存储位实现的。引导加载器目录与文件布局正确的目录布局是配置生效的前提。以下结构来自 README.md路径均以 SD 卡根目录为基准文件夹/文件说明bootloader主文件夹bootloader/bootlogo.bmp未指定logopath键时使用的全局启动 logo用户提供可省略bootloader/hekate_ipl.ini主引导配置与Launch菜单中的启动条目bootloader/nyx.iniNyx 图形界面配置bootloader/patches.ini外部补丁可省略模板见 res/patches_template.inibootloader/update.bin若版本更新则在启动时加载通常用于 modchip首次启动时自动生成bootloader/ini/存放独立 ini 文件对应More configs菜单支持 autobootbootloader/res/Nyx 用户资源图标等background.bmp自定义背景、icon_switch.bmpCFW 默认图标、icon_payload.bmpPayload 默认图标bootloader/sys/hekate 与 Nyx 系统模块文件夹重要emummc.kipmemuMMC KIP1 模块、libsys_lp0.bsoLP0 睡眠模块、libsys_minerva.bsoMinerva Training Cell用于 DRAM 频率训练、nyx.binNyx 图形界面、res.pakNyx 资源包、thk.binAtmosphère Tsec Hovi Keygen、/l4t/L4T 相关固件bootloader/screenshots/Nyx 截图保存目录bootloader/payloads/Payloads菜单支持所有 CFW 引导加载器、工具、Linux payloadautoboot 仅能通过将其纳入 ini 实现bootloader/libtools/保留注意bootloader/sys/下的libsys_lp0.bso睡眠模块与libsys_minerva.bsoDRAM 频率训练对应仓库中的 modules/hekate_libsys_lp0 与 modules/hekate_libsys_minerva 两个模块源码。引导加载器配置体系引导加载器可通过Nyx - Options或直接编辑bootloader/hekate_ipl.ini配置。特殊段[config]控制全局配置ini 中其他任意段代表一个启动条目只能手动编辑 ini 添加。ini 中存在四种条目类型[ ]启动条目、{ }标题Caption、#注释、空行为装饰性换行。完整模板见 res/hekate_ipl_template.ini。全局配置键值[config] 段以下键值可通过 Nyx 的Options编辑数据来自 README.md配置项说明autoboot00禁用数字自动启动的启动条目编号autoboot_list00从hekate_ipl.ini读取autoboot的启动条目1从 ini 文件夹读取ini 按 ASCII 排序bootwait30禁用同时禁用 bootlogo注入后一直按住VOL-会直接进菜单数字等待VOL-进入菜单的秒数最大 20sautohosoff10禁用1若由 HOS 通过 RTC 闹钟唤醒显示 logo 后完全关机2不显示 logo立即关机autonogc10禁用1发现未烧毁的 fuses 且启动 4.0.0 HOS 时自动应用 nogc 补丁updater2p00禁用1强制如需将 reboot2payload 二进制更新为 hekatebacklight100屏幕背光等级范围 0-255noticker00自定义 bootlogo 期间绘制动画线条标示剩余可跳过进菜单的时间1禁用仅 ini 可编辑bootprotect00禁用1保护 bootloader 文件夹在 HOS 中禁止读取/编辑防止其被破坏仅 ini 可编辑源码佐证默认值与这些键一一对应见 bootloader/config.c 的set_default_configuration()h_cfg.autoboot 0; h_cfg.autoboot_list 0; h_cfg.bootwait 3; h_cfg.noticker 0; //! TODO: Add GUI option. h_cfg.backlight 100; h_cfg.autohosoff h_cfg.t210b01 ? 1 : 0; // T210B01 (Mariko) 默认 1 h_cfg.autonogc 1; h_cfg.updater2p 0; h_cfg.bootprotect 0;可以看到autohosoff的默认值随芯片而异T210B01/Mariko 默认 1Erista 默认 0这一细节说明即使 [config] 段缺失hekate 也会用这套默认值自动生成配置——正如 res/hekate_ipl_template.ini 注释所说If [config] is not copied, hekate will create one with defaults. 全局配置对应的运行时结构体定义于 bootloader/config.h。启动条目键值组合启动条目需用户手动添加并选择键值组合键值表来自 README.md配置项说明warmboot{文件路径}替换 warmboot 二进制secmon{文件路径}替换 security monitor安全监控二进制kernel{文件路径}替换内核二进制kip1{文件路径}替换/添加内核初始进程KIP可设置多个kip1{文件夹路径}/*加载文件夹内所有.kip/.kip1可与单个kip1键兼容混用pkg3{文件路径}传入 Atmosphère 的package3二进制并从中“提取”全部所需部分kips、exosphere、warmboot、mesopherefss0{文件路径}同pkg3已弃用Deprecatedpkg3ex1启用从 PKG3/FSS0 存储加载实验性内容pkg3kip1skip{KIP 名}从pkg3/fss0跳过某 KIP 的加载可多个用,分隔名称必须与PKG3内完全一致exofatal{文件路径}为 Mariko 替换 exosphere fatal 二进制kip1patch补丁名启用某 kip1 补丁可多个用,分隔若实际补丁未找到会显示警告emupath{文件夹路径}强制使用指定的 emuMMC如emuMMC/RAW1、emuMMC/SD00emuMMC 必须由 hekate 创建因其使用 raw_based/file_based 文件emummcforce1强制使用 emuMMC若 emummc.ini 被禁用或缺失则报错emummc_force_disable1即使 emuMMC 已启用也强制禁用stock1通过 hekate 引导 OFW运行 stock 时禁用多余内核补丁与 CFW KIP。若 emuMMC 已启用必须配emummc_force_disable1stock 不支持 emuMMC。如需额外 KIP 可用kip1键定义不应使用依赖 Atmosphère 补丁的 KIP会挂起如需要 NOGC 用kip1patchnogcfullsvcperm1禁用 SVC 校验完整服务权限Mesosphere 作为内核时不生效debugmode1启用调试模式使用 exosphere 作为 secmon 时已过时kernelprocid1启用 stock 内核进程 id 收发补丁使用pkg3/fss0时无需payload{文件路径}Payload 启动工具、Android/Linux、CFW 引导加载器等与其搭配时上面任何键都不生效l4t1L4T Linux/Android 原生启动boot_prefixes{文件夹路径}L4T bootstack 目录ram_oc0L4T RAM 超频详见 README_CONFIG.txtram_oc_vdd21100L4T RAM VDD2 电压设置 VDD2T210B01或 VDD2/VDDQT210电压范围 1050-1175ram_oc_vddq600L4T RAM VDDQ 电压设置 VDDQT210B01范围 550-650uart_port0为 L4T uboot/kernel 在串口启用日志sld_type0x31444C53控制无缝显示seamless display支持类型0x0 禁用0x31444C53 为 L4T 无缝显示附加键各发行版支持更多键详见 README_CONFIG.txtbootwait3覆盖 [config] 中的全局bootwaitidIDNAME为启动条目设置 id用于强制按 id 启动最长 7 字符logopath{文件路径}若存在则加载指定位图否则使用bootloader/bootlogo.bmp若存在icon{文件路径}强制 Nyx 使用此处定义的图标若未找到则查找与启动条目同名的 bmp如[Test 2]-bootloader/res/Test 2.bmp否则用默认图标Note1使用kip1通配符/*后仍可在其后使用普通kip1键额外加载单个 KIP。Note2使用 PKG3/FSS0 时会解析 exosphere、warmboot 与全部核心 kips在定义pkg3/fss0之后可用secmon/warmboot覆盖前两者也可用kip1或通配符/*加载额外 KIP。Warning用kip1覆盖pkg3/fss 核心KIP 时需谨慎避免 KIP 之间不兼容若兼容则可在pkg3/fss0行之后定义kip1覆盖适合测试中间版本 KIP 变更。源码佐证emupath、emummcforce等键在 bootloader/main.c 与 bootloader/main.c 中被解析并直接调用emummc_set_path()切换 emuMMC 路径启动流程中对pkg3、secmon、warmboot、kip1等键的顺序解析也印证了模板中“键按顺序解析覆盖顺序很重要”的说明见 res/hekate_ipl_template.ini。Exosphère 相关配置键值以下键可与 HOS 启动条目搭配使用来自 README.md配置项说明nouserexceptions1与 Exosphère 搭配时禁用用户态异常处理器userpmu1与 Exosphère 搭配时启用用户对 PMU 的访问cal0blank1覆盖 Exosphère 配置blank_prodinfo_{sys/emu}mmc若该键不存在则使用exosphere.inical0writesys1覆盖 Exosphère 配置allow_writing_to_cal_sysmmc若该键不存在则使用exosphere.iniusb3force1覆盖 system settings mitm 配置usb30_force_enabled若该键不存在则使用system_settings.inimemmode1为零售机启用启动配置内存模式默认最大 RAM 限制 4GB启用后自动选择容量Notecal0blank、cal0writesys、usb3force分别覆盖exosphere.ini或system_settings.ini。取值语义0 禁用1 启用键缺失时使用原值。Note2blank_prodinfo_{sys/emu}mmc、allow_writing_to_cal_sysmmc、usb30_force_enabled分别是exosphere.ini与system_settings.ini中唯一能外部影响 hekate 启动配置的 Atmosphère 配置键——前提是 hekate 配置中对应的等价键缺失。Payload 存储boot_cfg 引导存储布局hekate 的二进制内包含一块引导存储区用于在 BPMP 环境之外配置自身行为表来自 README.md偏移 / 名称说明0x94boot_cfgbit0Force AutoBootbit1Show launch logbit2Boot from IDbit3Boot to emuMMC0x95autoboot若Force AutoBoot0 强制进菜单否则启动该条目0x96autoboot_list若Force AutoBoot且autoboot已设则从 ini 文件夹启动0x97extra_cfg菜单被强制时bit5Run UMS0x98xt_str[128]取决于设置的 cfg 位0x98ums[1]Run UMS设置时启动所选 UMS0 为 SD1/2/3 为 eMMC BOOT0/BOOT1/GPP4/5/6 为 emuMMC BOOT0/BOOT1/GPP0x98id[8]Boot from ID设置时自动搜索所有 ini 并启动带该 id 的条目必须以 NULL 结尾0xA0emummc_path[120]Boot to emuMMC设置时覆盖当前 emuMMC启动条目或 emummc.ini必须以 NULL 结尾源码佐证boot_cfg 的位定义位于 bdk/utils/types.h#define BOOT_CFG_AUTOBOOT_EN BIT(0) // Force AutoBoot #define BOOT_CFG_FROM_LAUNCH BIT(1) // Show launch log #define BOOT_CFG_FROM_ID BIT(2) // Boot from ID #define BOOT_CFG_TO_EMUMMC BIT(3) // Boot to emuMMC在 bootloader/main.c 中boot_cfg_t b_cfg被置于._boot_cfg链接段并在 RCM payload 传输时通过memcpy与重定位缓冲区同步bootloader/main.c、bootloader/main.c确保配置能跨环境传递。启动时 bootloader/main.c 使用(b_cfg.boot_cfg BOOT_CFG_FROM_ID) (b_cfg.boot_cfg BOOT_CFG_AUTOBOOT_EN)判断“按 id 强制启动”而BOOT_CFG_TO_EMUMMC位则在 bootloader/main.c 触发emummc_set_path(b_cfg.emummc_path)覆盖当前 emuMMC——与 README 的偏移表完全对应。Nyx 配置键值nyx.iniNyx 界面配置通过Nyx Settings编辑表来自 README.md配置项说明themebg2d2d2d设置 Nyx 背景颜色HEX范围 0x0B0B0B 至 0xC7C7C7themecolor167设置 Nyx 文本高亮颜色entries5col01将 Launch 条目列数从每行 4 列改为 5 列共 10 个条目timeoffset0设置时间偏移HEX须为 epoch 格式timedst1启用自动夏令时调整homescreen0设置主屏0 主菜单1 全部配置合并 Launch 与 More configs2 仅 Launch3 仅 More Configsverification10禁用备份/还原校验1稀疏校验基于块快速且多数可靠2完整校验基于 sha256慢但 100% 可靠umsemmcwr01eMMC/emuMMC UMS 默认以可写方式挂载仅 nyx.ini 可编辑jcdisable01完全禁用 Joycon 驱动仅 nyx.ini 可编辑jcforceright01强制右 Joycon 作为主鼠标控制仅 nyx.ini 可编辑bpmpclock10自动1589 MHz2576 MHz3563 MHz4544 MHz5408 MHz。若 Nyx 卡死或 UMS/备份校验等功能失败使用 2 至 5仅 nyx.ini 可编辑源码佐证Nyx 配置结构体定义于 nyx/nyx_gui/config.h包含theme_bg、theme_color、entries_5_col、timeoffset、timedst、home_screen、verification、ums_emmc_rw、jc_disable、jc_force_right、bpmp_clock字段。默认值在 nyx/nyx_gui/config.c 中theme_bg 0x2D2D2D对应默认themebg2d2d2d、timeoffset 0nyx/nyx_gui/config.c 展示了这些键写入nyx.ini的实际输出逻辑如thembg以 16 进制写出。实战模板解析res/hekate_ipl_template.ini 提供了可直接参考的完整示例。以下结合模板注释逐一解读典型场景StockOFW{-------- Stock -------} [Stock] pkg3atmosphere/package3 stock1 emummc_force_disable1stock1禁用内核补丁与 CFW KIPpkg3仅在 7.0.0 且为 Erista 时包含 exosphere 与 warmbootMariko 上包含 exosphere——这是最接近 OFW 的方案尤其适合需要 AutoRCM 时。CFW Sys/Emu 双入口[Atmo Vanilla] pkg3atmosphere/package3 kip1atmosphere/kips/* [Atmo EMU] pkg3atmosphere/package3 emummcforce1 [Atmo SYS] pkg3atmosphere/package3 emummc_force_disable1[Atmo Vanilla]遵循 emummc.iniemuMMC 启用则进 emuMMC否则进 sysMMCkip1行可省略示例中是模拟 fusee 行为。emummcforce1确保 emuMMC 已启用否则报错防止用户误启动 SYSemummc_force_disable1在 emuMMC 已启用时也强制启动 SYS CFW。启动时动态切换 emuMMC[Atmo EMU2] pkg3atmosphere/package3 emupathemuMMC/SD02 emummcforce1emupath定义的是 emuMMC 文件夹主路径如emuMMC/RAW1、emuMMC/SD00、emuMMC/TEST等仅对由 hekate 创建/迁移的 emuMMC 生效。额外 KIP 与通配符[Atmo with extra kips] pkg3atmosphere/package3 kip1cfw/mods/mods_extra/* kip1cfw/mods/mods_extra/single/extra.kip通配符加载目录内全部 kips之后还可追加单个 kip1 键甚至可用其覆盖 atmospherepkg3kips。旧式全 KIP 方法[CFW KIPs method] secmoncfw/mods/exosphere.bin warmbootcfw/mods/lp0fw.bin kip1cfw/mods/loader.kip kip1cfw/mods/boot.kip ... atmosphere1当未定义 PKG3/FSS0 时atmosphere1键很重要res/hekate_ipl_template.ini 明确强调。Payload 工具{------- Tools -------} [Lockpick RCM] payloadbootloader/payloads/Lockpick_RCM.bin模板同时给出关键书写规范条目内的键按顺序解析覆盖顺序敏感禁用某个键用行首;不要用#会破坏解析键名/值与之间不要留空格键间不要换行该模板不可直接照搬应只保留[config]与所需条目且[config]缺省时 hekate 会自动按默认值补全。patches.ini 外部补丁res/patches_template.ini 展示了补丁文件语法——KIP 段格式为[kip1_name:sha256_hex_8bytes]补丁集格式为.patch_namekip_section_dec:offset_hex_0x:length_hex_0x:src_data_hex,dst_data_hex其中 section 十进制TEXT0、RODATA1、DATA2_dec为 1 位十进制、_hex_0x为带0x前缀的 u32、_hex为十六进制数组。模板中的 FS 补丁为过时方法如今标题覆盖title override或自定义 qlaunch 是更合适的方案但文件本身是理解补丁语法的权威示例。常见问题与注意事项启动条目键顺序敏感pkg3/fss0之后的secmon/warmboot/kip1才会覆盖/追加对应组件覆盖核心 KIP 前务必确认兼容性README.md。stock 与 emuMMC 互斥stock 条目必须搭配emummc_force_disable1且不得使用依赖 Atmosphère 补丁的 KIP。配置解析失败排查模板注释明确指出hekate 始终按用户的指令执行——若启动报错几乎都是hekate_ipl.ini写错或文件缺失/损坏所致排查时应先检查键名拼写、路径大小写与目录结构res/hekate_ipl_template.ini。kip1patch与 patches.ini 的关系若补丁位于 patches.ini且该文件或当前 HOS 版本对应的补丁不存在会直接报错。系统模块完整性bootloader/sys/下的emummc.kipm、libsys_lp0.bso、libsys_minerva.bso、nyx.bin等属于系统级模块误删可能导致 emuMMC、睡眠恢复或界面异常升级/替换时应整体维护。结语hekate 的配置体系以hekate_ipl.ini全局[config] 启动条目与nyx.ini界面为两大核心配合 Payload 存储区boot_cfg位域实现 BPMP 环境外的自动启动、按 id 启动、UMS 与 emuMMC 切换。通过本文的键值表与 res/hekate_ipl_template.ini 示例读者应能独立编排从 Stock 到 CFW Sys/Emu、再到 Payload 工具的完整启动菜单更深入的 L4T 参数与源码级细节可继续阅读仓库中的 bootloader/main.c、bootloader/config.c、bootloader/config.h 与 nyx/nyx_gui/config.c 实现。赞分享嵌入式固件系统编程【免费下载链接】hekatehekate - A GUI based Nintendo Switch Bootloader项目地址https://gitcode.com/gh_mirrors/he/hekate点击查看免费下载相关推荐hekate配置文件完全指南hekate_ipl.ini参数详解与高级技巧hekate配置文件完全指南hekate_ipl.ini参数详解与高级技巧 hekate作为Nintendo Switch的图形化引导程序Bootloade嵌入式固件系统编程Hekate引导选项图标定制完全指南打造个性化Switch启动界面Hekate引导选项图标定制完全指南打造个性化Switch启动界面 想要让你的Nintendo Switch启动界面与众不同吗Hekate作为一款基于GUI嵌入式固件系统编程hekate payload管理全攻略自定义引导选项与多系统启动hekate payload管理全攻略自定义引导选项与多系统启动 你是否还在为Switch的多系统启动配置感到困惑是否想一键切换官方系统与自定义固件环境本嵌入式固件系统编程上一篇【亲测免费】 Chrome开发者工具中文手册教程下一篇探索CSS高级技巧CSS Protips库的全面解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。