打开/关闭搜索
搜索
打开/关闭菜单
通知
打开/关闭个人菜单
查看“刷入任意单独镜像”的源代码
来自Uotan Wiki · 刷机百科
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
刷入任意单独镜像
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
'''提示:刷入镜像到设备是一项具有一定危险性的操作,需要小心谨慎地执行,错误的操作可能导致设备无法正常运行。''' === 概述 === 在刷机中我们经常看到的镜像是一种原始(raw)镜像,通常具有.img 扩展名,并包含一个或多个原始二进制格式的文件系统。它是即原始二进制存储介质的转储。换句话说,我们可以向给定的分区或整个存储介质中逐位复制数据。因此,我们也可以逐位地向手机的内部存储刷入这些原始镜像。 === 方法一:使用 Fastboot 及 FastbootD 刷入 === Fastboot是一个硬件通信协议,主要用于由一台计算机(GNU/Linux或Windows的PC以及使用Termux的手机)通过USB连接Android智能手机,修改其闪存的文件系统。它是Android Debug Bridge库的一部分。在Fastboot协议下,刷入镜像的操作是十分简单的。我们仅需要用到以下命令: fastboot flash [分区名称] [镜像文件名] 在较新的设备上刷入镜像时,这些设备没有'''system''','''vendor''','''odm'''等分区,你会遇到无法找到 '''system''' , '''vendor''','''odm'''等分区的问题,取而代之的是'''super'''分区,在命令行中输入 fastboot reboot fastboot 进入[[Fastbootd|用户空间fastboot]],随后即可进行刷入。 对于A/B分区的设备,我们需要正确选择镜像被刷入的槽位,在出厂时搭载'''Android 11'''及以上版本的设备中,虚拟A/B是GMS要求。搭载虚拟A/B分区的设备,一定拥有动态分区及A/B双槽在命令行输入 fastboot getvar current-slot 以查看当前处于A槽位或B槽位 若处于A槽位,刷入system命令则在分区名后添加 '''_a''' fastboot flash system_a [镜像文件名] B槽位的分区刷入也同理,刷入system命令则在分区名后添加 '''_b''' fastboot flash system_b [镜像文件名] PS:如不指定槽位则会自行刷入至当前槽位的对应分区。 === 方法二:使用dd命令刷入 === 类UNIX操作系统将存储在文件系统上的任何内容都视为文件,甚至是块设备(包括手机上的UFS存储)。dd 可用于转换和复制终端中的文件、备份磁盘或擦除数据,这意味着dd在许多情况下都非常方便。事实上 dd 还被用来制作GNU/Linux启动盘,以及修复GNU/Linux权限错误等多种用途。Magisk或者爱玩机工具箱刷写分区,以及市面上的恶意格机脚本用的都是dd命令,参见:[https://m.womi.ltd/zh-CN/flash.html 格机中心]。我们可以使用dd命令由分区创建原始(raw)镜像,也可以把原始(raw)镜像逐一刷入系统的各分区。 Android 手机的分区是有名字的,而且有两套。以UFS存储(下同)为例,这两套都是分区一套是/dev/block/sd*(在eMMC存储设备中是mmcblk*p*)这些名字是由内核分配的;而另一些是分区名(boot_a,dtbo_b,super,......),在Android中,同一个块设备对应两个文件。比如说笔者的boot_a就既对应/dev/block/sde43,又对应 /dev/block/by-name/boot_a。可以看出 /dev/block/by-name/ 这一目录下对应的是分区的具体名称。 Android是类UNIX系统,有不完整的shell指令集toybox,尽管不如GNU/Linux 上的 Coeutils那样强大,但是也提供了dd的二进制实现。而Android上的命令行工具Termux则提供了一套完整的 GNU Coreutils 实现。这意味着你可以通过adb shell、TWRP上的命令行shell或者Termux便捷地刷入一些分区(除了动态分区)。 * 你不需要打断工作,大费周章重启到Fastboot; * * 不需要电脑、数据线或其它设备即可刷写分区。 dd命令使用方式如下: 导出镜像 # dd if = /dev/block/by-name/[要刷入的分区名字] of= [镜像文件名] [选项] 刷入镜像 # dd if = [镜像文件名] of= /dev/block/by-name/[要刷入的分区名字] [选项] === 方法三:使用高通9008或MTK深刷刷入 === 最复杂、最底层的刷机方式。 参见:[[9008深度刷机]]及[[MTK Flashtool深度刷机]] === 方法四:使用柚坛工具箱 === 柚坛工具箱提供了一个GUI界面。在柚坛工具箱的自定义刷入页面中,可以在预制刷入中快捷的选择需要刷入对于分区的文件,随后点击刷入即可,也可以在自定义分区刷入中选择镜像文件并填写对应的分区,随后即可完成刷入。 [[文件:自定义刷入.png|居中|缩略图|785x785像素]]
返回
刷入任意单独镜像
。