Skip to content

如何 Root

此文档介绍了如何 Root 小米盒子 5 (MOB2MB-5P)。

操作前必读

对设备进行 Root 会导致设备面临各类安全风险,并可能对设备造成不可预估的影响,可能导致:

  • 硬件损坏
  • 设备永久性变砖
  • 失去官方保修资格
  • 无法正常接收或安装 OTA 系统更新
  • 设备被远程入侵
  • 数据被恶意软件清除或盗取
  • 某些应用检测到 Root 状态后拒绝运行
  • DRM 失效 (例如 Widevine 安全等级降级)
  • 某些应用检测到 DRM 失效后拒绝播放受保护内容

在非必要情况下不建议执行此操作,如你选择继续则代表你已经充分了解并可自行承担全部风险,并自愿承担责任,作者对此操作产生的任何后果概不负责。

此文档与小米公司没有任何关联,在阅读相关内容前请自行判断风险

目录

小米盒子信息

项目内容
设备型号小米盒子 5 (MOB2MB-5P)
SoCAmlogic S905X5M
系统版本OS2.0.7.0 (UD2A.240505.001.W1.OS2.0.7.0.UZFAABX)
Android 版本Android 14
安全补丁级别2024-11-01
Bootloader 版本01.01.250317.222939
测试日期2025 年 10 月
购买日期2025 年 10 月
生产日期2025 年 4 月

重要提醒

此文档中的内容仅在上述版本中进行过完整测试。
若你的设备信息与上表存在差异,则部分步骤可能会不适用或导致设备异常,请在充分了解风险后谨慎操作。

此文档中出现的所有命令输出示例仅供参考,请以实际情况为准。

前置要求

  • 小米盒子 5 (MOB2MB-5P) 一台 (已解除 Bootloader 锁定)
  • 一台电脑: Windows / Linux / macOS 均可
  • 一条可靠的 USB 数据线 (请确保线缆为高质量数据线,而非仅支持充电的线缆。)
    • 若盒子与电脑均为 USB-A 接口,请使用 USB-A 公对 USB-A 公数据线。
    • 若电脑拥有 USB-C 接口,也可使用 USB-A 公对 USB-C 公数据线 (即常见的手机数据线) 。
  • 下列 Android 应用安装包:
    • Magisk (用于修补 init_boot 镜像和 Root 完成后的权限管理)
    • 文件管理器+ (用于选择文件,你也可以尝试通过其他文件管理器来进行此操作,但由于 Android TV 14 的特殊性,无法保证其可用性)
  • 电脑已安装下列工具:

工具版本说明:

本文档中使用的 Magisk 版本为 29.0
由于 Magisk 在不同版本间可能调整修补逻辑、UI 界面或镜像打包方式,建议在操作前确保使用 相同或更新的稳定版本
若你使用的版本不同,请注意界面或步骤可能略有差异。

关于"文件管理器"兼容性

在 Android TV 14 上,多数文件管理器 (包括 MT 管理器、ES 文件浏览器、X-plore 等) 在 Magisk 的 "选择并修补一个文件" 环节中,无法正常弹出文件选择界面
经过测试,目前 "文件管理器+" 是已知能在 Android TV 14 上被 Magisk 在此环节中正常调用的文件管理器之一。
你也可以尝试其他具备相同能力的文件管理器,本文提及的应用仅为兼容性说明。

说明

  • 本文档中提到的 "USB-C" 接口,即为日常生活中经常用到的 "Type-C" 接口。
  • 如果你的电视盒子还没有解除 Bootloader 锁定,那么请参阅文档: 解除 Bootloader 锁定
  • 文件管理器+ 为可选应用
    • 你可以尝试使用其他支持选择文件的文件管理器进行相关操作。
    • 如果你通过其他方法得到了兼容的并且已经被修补过的 init_boot 镜像,你也可以直接使用这个镜像,无需执行相关操作。
    • 如果你选择使用通过其他方式获取已修补的 init_boot 镜像,作者无法保证其可用性或与电视盒子的兼容性。请在使用前自行验证镜像兼容性与安全性。
  • Android OTA 镜像解压工具 为可选工具
    • 你可以使用其他支持解包 payload.bin 的类似工具进行相关操作。
    • 如果你通过其他方法得到了兼容的 init_boot 镜像,你也可以直接使用这个镜像,无需从 OTA 包中提取。
    • 如果你选择使用通过其他方式生成或获取的 init_boot 镜像,作者无法保证其可用性或与电视盒子的兼容性。请在使用前自行验证镜像兼容性与安全性。

提取 init_boot 镜像

注意

目前一共有三种方法可以获得 init_boot 镜像,请根据实际情况来选择一个最适合自己的方法

方法一: 通过 DSU 来进行提取

详细信息请参阅文档: 通过 DSU 来备份分区

方法二: 从全量 OTA 更新包中提取

注意

要使用此方法,你需要拥有匹配当前设备并且与设备系统版本一致的完整 OTA 更新包。
解包可能需要一些时间,视文件大小与存储介质读写速度而定,请耐心等待。
开始前,请先确认电脑上是否拥有足够的存储空间。

使用 Android OTA 镜像解压工具 解包你获得的完整 OTA 更新包中的 payload.bin (点击此处来查看使用方法)
解包完成后,你应该会获得以下文件:

shell
boot.img        init_boot.img  odm.img      system_dlkm.img  vbmeta.img         vendor_dlkm.img
bootloader.img  odm_dlkm.img   oem.img      system_ext.img   vbmeta_system.img  vendor.img
dtbo.img        odm_ext.img    product.img  system.img       vendor_boot.img
点击查看示例图片 (文件列表截取于 Windows)

其中就有 Root 所需的 init_boot.img ,请妥善保管此镜像,以便于在后续操作的时候可以轻松的找到此镜像。

说明

列出的文件仅供参考,请以实际情况为准。

方法三: 从公开社区中寻找他人分享的 init_boot 镜像 不推荐

注意

在网络上找到的镜像可能是损坏的,又或者是不兼容你设备的,甚至可能包含恶意软件,因此在常规情况下不建议使用通过这种方法获得的镜像。
如果确实要通过这种方法来获得镜像,那么请选择相对可靠的来源,并在下载前自行确认其兼容性与安全性。

若你选择继续,则代表你已经充分了解并可自行承担全部风险,并自愿承担责任,作者对此操作产生的任何后果概不负责。

你可以尝试在网络上寻找其他用户分享的 init_boot 镜像。
比如尝试在下列论坛中进行寻找:

说明

  • 本文仅为方便访问而列出这些论坛。
  • 作者不为这些论坛中的任何内容提供担保。

解决文件管理器的调用问题

注意

开始前,请确保电脑已正确安装并配置了 ADB 工具。

如需确认 adb 是否可用,请运行以下命令:

shell
adb --version

如果能正常显示版本号,即表示 ADB 已正确安装。如果没看到版本号,请确保 ADB 已正确安装。
如果你还不知道如何将电视盒子连接至电脑并授权 ADB,那么请参阅文档: 解除 Bootloader 锁定 中的 启用 ADB 调试 功能连接电脑并授权 ADB 章节。

首先,请安装一个支持文件选择功能的文件管理器
本文档中使用的文件管理器为 文件管理器+

你可以使用下列 ADB 命令进行安装:

shell
adb install <本地安装包文件路> 
# 使用示例: 安装电脑 D 盘 MiBox5 文件夹中的 File_Manager.apk
$ adb install "D:\MiBox5\File_Manager.apk"
# 期望返回的信息
Performing Streamed Install
Success

说明

安装完成后建议先运行一次该应用,以便应用申请必要权限。

安装完成后你可以通过以下两种方法来尝试解决文件管理器的调用问题
请根据实际情况来选择一个最适合自己的方法

方法一: 通过 ADB 来设置默认应用

你可以使用下列 ADB 命令来打开设置对话框:

shell
adb shell "am start -a android.intent.action.OPEN_DOCUMENT -c android.intent.category.OPENABLE -t '*/*'"
# 期望返回的信息
Starting: Intent { act=android.intent.action.OPEN_DOCUMENT cat=[android.intent.category.OPENABLE] typ=*/* }

命令执行完成后,你将看到如下图所示的默认应用选择对话框

请务必在对话框中选择 文件管理器+ 并点击 始终 选项

完成后你将进入到文件管理器的文件选择界面中
在当前步骤中,你不需要选择任何文件直接退出文件选择界面即可

提示

如果你发现系统提示"您没有可执行此操作的应用"
请阅读章节: 常见问题

方法二: 禁用系统应用 Activity Stub 不推荐

注意,此方法治标不治本

如果要使用此方法,请保证你的盒子系统中只有一个拥有文件选择功能的应用
如果你安装了多个拥有文件选择功能的应用,那么请将其他具有此能力的应用全部禁用或卸载掉
Activity Stub 也被系统算作拥有文件选择功能的应用,因此也需要禁用
如果不禁用,在后续选择 init_boot 镜像的过程中系统会因为某种原因陷入到某个无限循环中,导致无法正常调用正确的文件管理器

你可以使用下列 ADB 命令进行禁用:

shell
adb shell pm disable-user --user 0 com.android.tv.frameworkpackagestubs
# 期望返回的信息
Package com.android.tv.frameworkpackagestubs new state: disabled-user

为什么要禁用 Activity Stub ?

在 Android TV 14 中,系统没有提供 DocumentUI 来让你执行相关操作,取而代之的是 Activity Stub
但问题是 Activity Stub 本身并不提供任何文件选择相关的功能
因此,为了确保 Magisk 修补镜像时能够正常调用安装的第三方文件管理器,需要暂时禁用 Activity Stub 来保证 Magisk 能够正常调用安装的第三方文件管理器

修补并刷入 init_boot 镜像

注意

本文档中使用的 Magisk 版本为 29.0
由于 Magisk 在不同版本间可能调整修补逻辑、UI 界面或镜像打包方式,建议在操作前确保使用 相同或更新的稳定版本
若你使用的版本不同,请注意界面或步骤可能略有差异。

  1. 在电视盒子上安装Magisk 应用

    你可以使用下列 ADB 命令进行安装:

    • 安装 Magisk 应用
      shell
      adb install <本地安装包文件路> 
      # 使用示例: 安装电脑 D 盘 MiBox5 文件夹中的 Magisk.apk
      $ adb install "D:\MiBox5\Magisk.apk"
      # 期望返回的信息
      Performing Streamed Install
      Success
  2. 将 init_boot 镜像上传至设备

    你可以使用下列 ADB 命令进行上传:

    shell
    adb push <本地镜像文件路> <电视盒子上的路>
    # 使用示例: 将电脑 D 盘 \MiBox5\backups 文件夹中的 init_boot.img 上传到盒子的 /sdcard 目录
    $ adb push "D:\MiBox5\backups\init_boot.img" /sdcard
    # 期望返回的信息
    D:\MiBox5\backups\init_boot.img: 1...ile pushed, 0 skipped. 98.6 MB/s (8388608 bytes in 0.081s)
  3. 打开 Magisk 应用来修补 init_boot 镜像

    使用下列命令来打开 Magisk 应用:

    shell
    adb shell am start com.topjohnwu.magisk/com.topjohnwu.magisk.ui.MainActivity

    或是在应用列表中找到名称为 Magisk 的应用并打开

    进入 Magisk 应用主界面后点击 安装 > 选择并修补一个文件

    在打开的文件选择界面中找到并选择你上传的 init_boot 镜像

    文件选择页面没有出现?

    请阅读章节: 常见问题

    选择完成后点击"开始"

    当修补过程完成后,你可以在修补界面提供的日志中找到已修补镜像的输出位置。
    通常情况下,镜像会输出在/storage/emulated/0/Download目录中,镜像名为 magisk_patched-[Magisk版本]_[随机字符串].img

    在本次操作中,输出的日志如下 (仅供参考) :

    log
    - Device platform: armeabi-v7a
    - Installing: 29.0 (29000)
    - Copying image to cache
    - Unpacking boot image
    - Checking ramdisk status
    - Stock boot image detected
    - Patching ramdisk
    - Pre-init storage partition: userdata
    - Repacking boot image
    
    ****************************
     Output file is written to 
     /storage/emulated/0/Download/magisk_patched-29000_exeo8.img 
    ****************************
    - All done!

    通过日志我们可以得知,修补过的镜像被输出到了/storage/emulated/0/Download目录中,镜像名为 magisk_patched-29000_exeo8.img

  4. 使用 adb pull 命令将修补过的镜像导出至电脑

    shell
    adb pull <镜像在盒子上的位> <镜像在你电脑上的导出位>
    # 使用示例: 将盒子 /sdcard/Download 目录中的 magisk_patched-29000_exeo8.img 导出到电脑 D 盘 \MiBox5 目录中
    $ adb pull /sdcard/Download/magisk_patched-29000_exeo8.img D:\MiBox5
    # 期望返回的信息
    /sdcard/Download/magisk_patched-29000_exeo8.img: 1 file pulled, 0 skipped. 35.9 MB/s (8388608 bytes in 0.223s)
  5. 使用下列命令将电视盒子重启到 Fastboot 模式中:

    shell
    adb shell reboot bootloader
  6. 使用下列命令来刷入修补过的 init_boot 镜像:

    shell
    fastboot flash init_boot <镜像在你电脑上的位>
    # 使用示例: 将电脑 D 盘 \MiBox5 文件夹中的 magisk_patched-29000_exeo8.img 刷入到盒子的 init_boot 分区中
    $ fastboot flash init_boot "D:\MiBox5\magisk_patched-29000_exeo8.img"
    # 期望返回的信息
    Sending 'init_boot_a' (8192 KB)                    OKAY [  2.049s]
    Writing 'init_boot_a'                              OKAY [  0.102s]
    Finished. Total time: 2.166s
  7. 刷入完成后使用下列命令来重启设备

    shell
    fastboot reboot
  8. 进入系统后,打开 Magisk 应用来确认安装状态

    如果提示需要修复环境,请点击确认,点击确认后系统将在 5 秒后自动重启。

  9. 重新启用之前禁用的系统应用: Activity Stub 可选操作

    你可以使用下列 ADB 命令进行启用:

    shell
    adb shell pm enable --user 0 com.android.tv.frameworkpackagestubs
    # 期望返回的信息
    Package com.android.tv.frameworkpackagestubs new state: enabled

至此,你已经完成所有安装过程

下图为正常安装的 Magisk 应用主界面

常见问题

如何保留 Root 来安装 OTA 更新

注意

经测试,小米电视在 OTA 安装完成后会直接自动重启,用户无法在重启前打开 Magisk 并执行"安装到未使用的槽位 (OTA 后)"操作。
鉴于小米盒子与小米电视运行的都是 HyperOS 系统,因此可以合理推断该限制同样适用于小米盒子 5。

说明

小米盒子 5 使用了 虚拟 A/B 系统更新 机制
在正常情况下,安装更新前需要进行一些额外操作才能保证 Root 在更新后也能够正常使用
但 小米盒子 5 的更新流程与常规 Android TV 设备的更新流程存在明显差异,比如:

  • update_engine 完成系统更新后设备会立即重启
  • 不给你任何通过操作 Magisk 应用来向未使用槽位安装修补过镜像的机会

因此在当前系统版本中,理论上不存在安全的保留 Root 来安装 OTA 更新的方法

如果你的确要更新,那么请按照以下步骤来准备:

  1. 使用 ADB 连接设备,以便通过日志查看 OTA 包下载 URL
  2. 成功获取 OTA 包后对其进行解包来获得 Root 所需的 init_boot 镜像
    (解包过程请参考章节: 提取 init_boot 镜像-从全量 OTA 更新包中提取)
  3. 成功更新并获取可用的 init_boot 后请重新阅读章节: 修补并刷入 init_boot 镜像

当然你也可以通过之前提过的 DSU 备份法 在系统完成更新后来重新备份你需要的镜像
请根据实际情况选择最适合的方法

如需查看已被存档并被证明为无效的"如何保留 Root 来安装 OTA 更新"章节,请点击此处

系统提示"您没有可执行此操作的应用"

该问题可能在以下场景中出现:

  • 正通过 ADB 来设置默认的文件应用
  • 正在 Magisk 应用中选择要修补的镜像

解决方法:

  • 检查是否安装了支持文件选择功能的文件管理器
  • 检查 Activity Stub 是否被错误的设置成了默认应用

检查完成后请根据情况来重新阅读章节: 解决文件管理器的调用问题

不小心把 Activity Stub 设置成默认应用了,如何取消

重要提醒

此解决方案依赖系统中的原生设置
如果原生设置不可用,那么将无法使用此解决方案。
目前尚不清楚是否存在可以对某个应用执行 清除默认操作 的 ADB 命令

你可以使用下列 ADB 命令来打开 Activity Stub 在原生设置中的应用信息页面

shell
adb shell am start -a android.settings.APPLICATION_DETAILS_SETTINGS -d package:com.android.tv.frameworkpackagestubs

应用信息页面打开后,请点击 清除默认操作 选项

操作完成后请根据情况来重新阅读章节: 解决文件管理器的调用问题

在 Magisk 中选择要修补的镜像时应用卡死

出现这个问题则代表你使用了 方法二: 禁用系统应用 Activity Stub 来解决文件管理器无法被调用的情况

解决方法:

  • 检查是否安装了多个支持文件选择功能的文件管理器,如果安装了,请将多余的全部禁用或卸载掉
  • 检查系统应用 Activity Stub 是否被成功禁用
  • 改用 方法一: 通过 ADB 来设置默认应用

此文档与小米公司没有任何关联