<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.uotan.cn/index.php?action=history&amp;feed=atom&amp;title=Magiskboot</id>
	<title>Magiskboot - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.uotan.cn/index.php?action=history&amp;feed=atom&amp;title=Magiskboot"/>
	<link rel="alternate" type="text/html" href="https://wiki.uotan.cn/index.php?title=Magiskboot&amp;action=history"/>
	<updated>2026-06-27T12:07:06Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.uotan.cn/index.php?title=Magiskboot&amp;diff=858&amp;oldid=prev</id>
		<title>InnoSofts-Bit：​补全词条 magiskboot</title>
		<link rel="alternate" type="text/html" href="https://wiki.uotan.cn/index.php?title=Magiskboot&amp;diff=858&amp;oldid=prev"/>
		<updated>2024-08-18T13:40:59Z</updated>

		<summary type="html">&lt;p&gt;补全词条 magiskboot&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 什么是Magiskboot ==&lt;br /&gt;
magiskboot是magisk提供的一个解包boot/recovery的工具，magisk通过magiskboot来解包boot&lt;br /&gt;
&lt;br /&gt;
相对于其他解包工具（如AIK）而言，magiskboot的拆分较为简单&lt;br /&gt;
&lt;br /&gt;
你可以从[https://mrzzoxo.lanzoui.com/b02r7q0dg 来自KernelSU中文网的链接]下载magiskboot&lt;br /&gt;
&lt;br /&gt;
== 用法 ==&lt;br /&gt;
输入magiskboot可直接查看用法&lt;br /&gt;
&lt;br /&gt;
'''注意，下文用法中，带&amp;lt;尖括号&amp;gt;的为必需参数，带[中括号]的为可选参数，传入参数时不要带上括号'''&lt;br /&gt;
&lt;br /&gt;
=== 解包 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot unpack [-n] [-h] 镜像路径&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解包镜像&lt;br /&gt;
&lt;br /&gt;
这将会把镜像解包成以下几个部分（如果有的话）:&amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;kernel_dtb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ramdisk.cpio&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;second&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dtb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;extra&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;recovery_dtbo&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
若指定&amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt;参数，则每个部分都不会解压缩，保留原数据（如kernel会变成原有的压缩格式而不解压）&lt;br /&gt;
&lt;br /&gt;
若指定&amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;参数，则镜像头会被单独dump出来成为一个文件header，里面记录了&amp;lt;code&amp;gt;cmdline&amp;lt;/code&amp;gt;，&amp;lt;code&amp;gt;android版本&amp;lt;/code&amp;gt;和&amp;lt;code&amp;gt;android补丁&amp;lt;/code&amp;gt;级别等数据&lt;br /&gt;
&lt;br /&gt;
可以查看程序输出以获得镜像的相关信息，如内核压缩方式等&lt;br /&gt;
&lt;br /&gt;
注意，即使指定了-h参数，打包时仍然需要传入原boot镜像路径&lt;br /&gt;
&lt;br /&gt;
程序返回值: 0:成功 1:错误 2:镜像来源为chromeos&lt;br /&gt;
&lt;br /&gt;
=== 打包 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot repack [-n] &amp;lt;原镜像路径&amp;gt; [输出镜像路径]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
将解包出的数据重新打包成镜像&lt;br /&gt;
&lt;br /&gt;
magiskboot将会从传入的boot路径读取相关信息（如cmdline）并打包&lt;br /&gt;
&lt;br /&gt;
若不指定输出boot路径，则输出到当前目录下的&amp;lt;code&amp;gt;new-boot.img&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
若指定&amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt;参数，则数据将不经过压缩操作就直接打包&lt;br /&gt;
&lt;br /&gt;
若unpack时未指定-n参数，则repack时也不应指定，反之亦然&lt;br /&gt;
&lt;br /&gt;
若在环境变量中设置&amp;lt;code&amp;gt;PATCHVBMETAFLAG&amp;lt;/code&amp;gt;为true，则打包时会自动修补镜像中的'''vbmeta'''，添加禁用验证标识&lt;br /&gt;
&lt;br /&gt;
=== 验证 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot verify &amp;lt;镜像路径&amp;gt; [x509.pem式的证书路径]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
验证镜像是否被AVB1.0签名&lt;br /&gt;
&lt;br /&gt;
若传入证书路径，则会用证书验证镜像签名&lt;br /&gt;
&lt;br /&gt;
=== 签名 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot sign &amp;lt;镜像路径&amp;gt; [name] [x509.pem/pk8私钥文件]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
签名boot镜像&lt;br /&gt;
&lt;br /&gt;
若不传入私钥文件，则使用magiskboot内部的AOSP私钥签名&lt;br /&gt;
&lt;br /&gt;
TODO: &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;作用未知，默认为&amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
此操作将会直接覆写镜像&lt;br /&gt;
&lt;br /&gt;
=== 解包payload.bin ===&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot extract &amp;lt;payload.bin路径&amp;gt; [分区名] [输出路径]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解包payload.bin中的指定分区&lt;br /&gt;
&lt;br /&gt;
如果不指定分区，则解包init_boot.img（存在则解包这个）或boot.img&lt;br /&gt;
&lt;br /&gt;
默认输出路径为当前目录下&amp;lt;code&amp;gt;分区名.img&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可以通过将'''payload.bin路径'''传入&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;以接收标准输入，如在linux下可以&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat payload.bin | magiskboot extract -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 十六进制修补 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot hexpatch &amp;lt;文件路径&amp;gt; &amp;lt;hexpattern1&amp;gt; &amp;lt;hexpattern2&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
这将在文件中寻找&amp;lt;code&amp;gt;hexpattern1&amp;lt;/code&amp;gt;，并替换为&amp;lt;code&amp;gt;hexpattern2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
示例: magiskboot hexpatch boot.img FE8067E4 A2586F7A&lt;br /&gt;
&lt;br /&gt;
这将直接覆写文件&lt;br /&gt;
&lt;br /&gt;
=== DTB相关 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot dtb &amp;lt;文件&amp;gt; &amp;lt;动作&amp;gt; [参数]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
magiskboot dtb相关功能&lt;br /&gt;
&lt;br /&gt;
动作:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt; 以树的形式输出dtb内容，添加-f参数以仅输出&amp;lt;code&amp;gt;fstab&amp;lt;/code&amp;gt;节点&lt;br /&gt;
* &amp;lt;code&amp;gt;patch&amp;lt;/code&amp;gt; 修补dtb，移除verity/avb验证，可通过环境变量&amp;lt;code&amp;gt;KEEPVERITY&amp;lt;/code&amp;gt;控制&lt;br /&gt;
* &amp;lt;code&amp;gt;test&amp;lt;/code&amp;gt; 检测dtb中fstab的合法性，若程序返回值为0则合法，1则不合法&lt;br /&gt;
&lt;br /&gt;
=== 分割附加dtb的kernel ===&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot split [-n] &amp;lt;文件路径&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
将Image.*-dtb分割开为'''kernel'''和'''kernel_dtb'''&lt;br /&gt;
&lt;br /&gt;
若指定&amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt;参数，则Image不会解压缩&lt;br /&gt;
&lt;br /&gt;
=== 输出文件sha1 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot sha1 &amp;lt;文件路径&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
输出文件的sha1值&lt;br /&gt;
&lt;br /&gt;
=== 清理工作目录 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot cleanup&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
清除magiskboot解包等操作的产物&lt;br /&gt;
&lt;br /&gt;
=== 压缩 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot compress[=格式] &amp;lt;文件路径&amp;gt; [输出文件路径]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
进行压缩操作&lt;br /&gt;
&lt;br /&gt;
文件路径与输出文件路径均可为&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;以接收标准输入/标准输出&lt;br /&gt;
&lt;br /&gt;
如果不指定格式，默认为gzip&lt;br /&gt;
&lt;br /&gt;
如果不指定输出文件路径，则为当前目录下'''文件路径加上该压缩格式的扩展名'''&lt;br /&gt;
&lt;br /&gt;
支持格式: gzip zopfli xz lzma bzip2 lz4 lz4_legacy lz4_lg&lt;br /&gt;
&lt;br /&gt;
=== 解压缩 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;magiskboot decompress &amp;lt;文件路径&amp;gt; [输出文件路径]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
进行解压缩操作&lt;br /&gt;
&lt;br /&gt;
文件路径与输出文件路径均可为&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;以接收标准输入/标准输出&lt;br /&gt;
&lt;br /&gt;
若不指定输出文件路径，则为当前目录下'''文件路径去掉该压缩格式的扩展名'''&lt;br /&gt;
&lt;br /&gt;
'''注:如果要解压缩的文件无扩展名，则可能报错'''&lt;br /&gt;
&lt;br /&gt;
支持格式同压缩&lt;/div&gt;</summary>
		<author><name>InnoSofts-Bit</name></author>
	</entry>
</feed>