15
2

这两周来频繁刷机,更新系统又还原系统,弄懂了很多事情,写一篇日志总结,以便以后查询使用,也希望能够看到的人能避免踩坑,也许第三部分更有价值,可以直接跳过去看。

一、关于刷机

刷机有风险,可能会变砖。不过因为很多手机都留了最后一手:FASTBOOT,所以总能把手机就回来。 刷机的有不少的方法:卡刷、线刷、OTA。卡刷:一般来说卡刷简单的能够理解为在内存卡中刷机,就是进入Recovery中刷入系统;线刷:线刷事实上能够简单的理解为用USB线刷机;OTA:仅仅要在系统中在线升级就能够成功刷机。

刷机之前需要解锁,一般开放点的厂商都会给相应的解锁工具和权限,只要愿意折腾都可以完成解锁。其实解锁和刷机就是为了获得root权限,这样可以对系统做更大的定制,当然也降低手机的安全性。

刷机要根据自己的手机型号找到相应的刷机包(也就是ROM),要注意是卡刷还是线刷,卡刷就是拷贝到手机卡里刷机,线刷就是用电脑的工具通过手机数据线刷机。

小米的MIUI系统有大量的刷机包,我一直都喜欢用欧版,地址是:https://xiaomi.eu 内网地址是:https://sourceforge.net/projects/xiaomi-eu-multilang-miui-roms/

二、获得root权限

我用的是小米手机,有两种方法,这里从别的地方搬过来,我只把重要的步骤留下,并且指出可能的坑点。

1、通过替换boot.img方式安装Magisk获取Root权限指南

来源原文:https://miuiver.com/install-magisk-for-xiaomi/

现在获取手机 Root 主要通过安装 Magisk 实现,这篇文章将以新手视角介绍如何安装使用 Magisk。

准备工作:安装 Magisk 过程中需要用到 fastboot 命令,需要刷写手机 boot 或 Recovery 分区,请确保手机已完成 BL 解锁,不然无法进行。正常情况下不会丢数据,但是建议都先外置备份手机数据再操作。

下载Magisk 地址 https://github.com/topjohnwu/Magisk/releases (选择下载最新版,然后安装到手机)。

提取相应文件:查看手机上运行的系统版本是多少,下载对应系统版本刷机包,从里面提取相应文件(请见下面说明)。如果之前 Ramdisk 查询结果为“是”,请提取 boot.img 文件如果之前 Ramdisk 查询结果为“否”,请提取 recovery.img 文件。

文件提取方法:如果系统版本有线刷包,可以直接解压提取;如果系统版本只有卡刷包,需要从解压的 payload.bin 文件里提取(老机型卡刷包可以直接提取),将提取到的文件复制到手机上。

生成修补文件:手机打开 Magisk 软件,点击 Magisk 卡片中的“安装”按钮。点击“选择并修补一个文件”,选择之前提取到的 boot.img 或 recovery.img 文件,点击“开始”,然后等待生成修补文件。据 Magisk 文档指出,小米有个别机型 Ramdisk 结果可能不能准确检测。如果修补 recovery.img 文件失败,可以尝试用 boot.img 修补,后面安装也遵循 Ramdisk 结果为“是”的做法。将生成的修补文件复制到电脑上(修补文件默认保存在手机内部存储 Download 目录)。

刷写修补文件:将手机关机,长按音量下键+电源键进入 FASTBOOT 模式,用数据线连接到电脑。电脑打开存放修补文件的文件夹,按住键盘 Shift 键,同时鼠标右键点击文件夹空白处,在右键菜单点击“在此处打开 Powershell 窗口”,然后运行下面刷写命令(命令中的文件名请先自行修改)。如果之前修补 boot.img 文件请用这个命令:.\fastboot flash boot magisk_patched-25200_pU6ZV.img;如果之前修补 recovery.img。文件请用这个命令:.\fastboot flash recovery magisk_patched-25200_pU6ZV.img。刷写完成后用下面命令重启手机:.\fastboot reboot

提示:如果刷完后遇到反复重启进不去系统问题,可以尝试先用下面命令禁用启动验证(AVB/DM-Verity),然后重复上一步骤重新刷写修补文件(这个方法仅限具有单独 vbmeta 分区的机型使用), .\fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
命令中用到的 vbmeta.img 文件从刷机包内提取,方法和之前提取其它文件一样。

如果出现成砖或者解决不了的问题,只需用之前方法刷回从刷机包提取的原始文件boot.img。

2、小米手机刷 TWRP 方法

来源原文:https://miuiver.com/how-to-flash-twrp/

如果要刷第三方ROM,或者不能用MIUI内置卡刷功能的受限版本,唯一办法是通过安装第三方 Recovery来刷机。其中TWRP是最常使用的第三方 Recovery,官方适配了许多机型,也有不少民间修改版本。如果是发布超过一段时间的机型,通常用官方版本就可以。如果是新机,则很可能官方还没有适配,只能用第三方版。

官方和第三方版本区别是:前者不用担心安全问题,能稳定获得更新,后者则需自行判断作者可信度。第三方版本通常会自带移除 MIUI 启动验证,官方版需要手动解决这个问题(刷入 Magisk 解决),不然可能卡米无法进入系统。

最后,对于采用 A/B 分区的手机,由于后续更新系统会切换分区,这可能丢失 TWRP 安装。这种机型不建议安装 TWRP,而改为只在需要时启动它。

TWRP刷入步骤:先将手机与电脑连接以便安装好驱动(如果安装失败,可下载 MiFlash 再手动安装)。另外确保手机已完成 BL 解锁;电脑下载 Fastboot 工具(解压备用)和对应机型 TWRP(.img 后缀文件,将其放入前面解压的文件夹里,官方地址是:https://twrp.me/Devices/Xiaomi/ );将手机关机,长按开机键 + 音量下键进入 fastboot 模式,与电脑连接; 电脑打开刚才解压的 platform-tools 文件夹,按住 Shift 键,同时右键点击文件夹空白处,在右键菜单点击“在此处打开 Powershell 窗口”,运行下面命令刷入 TWRP(自行替换文件名)。

.\fastboot flash recovery twrp-3.7.0.img

注:如果不希望安装 TWRP,而只是临时使用 TWRP,运行下面命令(自行替换文件名)并忽略第 5 步骤。

.\fastboot boot twrp-3.7.0.img

如果运行命令后无法启动 TWRP,一直停在开机界面,可能是 TWRP 版本适配有问题,可尝试使用第三方版。

为防止重启手机 MIUI 自动替换回官方 Recovery,按住手机音量上键,同时电脑运行下面命令重启手机,直至进入 TWRP 界面。

.\fastboot reboot

在进入 TWRP 后,会询问“是否保持系统分区为只读”。这里滑动按钮以允许修改 ,不然不能禁止 MIUI 替换回官方 Recovery。滑动按钮允许 TWRP 修改 System 分区。

由于 MIUI 在启动时会检查 System 分区完整性,上一步 TWRP 修改了 System 分区,这时重启手机会无法启动系统(“卡米”问题),需要通过刷入 Magisk 移除启动验证,步骤如下:电脑下载 Magisk 安装包,将其复制到手机上(这时电脑可以识别手机 MTP 设备);TWRP 界面上点击“安装”,找到下载的是 Magisk 安装包,点击文件名,滑动按钮刷入;等待 Magisk 刷入完成,点击“重启系统”,这时就不会有“卡米”问题,重启手机也不会丢失 TWRP 安装。

3、MIUI欧洲版或者国际版刷本土模块

通过上面的两个步骤获得root权限并且装上Magisk之后,就可以刷入本土包了,比如钱包里的公交卡和门禁卡等。

只要刷入相应的模块就可以,这里有人专门做了相应的模块包,链接直达:https://blog.minamigo.moe/archives/184 ,作者在github创建了一个项目,主要是在为Miui Eu用户恢复Miui大陆版的功能。Miui Eu用户可通过使用此项目,同时获取Miui Eu的功能和Miui大陆版的功能。其实我只需要钱包,其他都没必要,原因你懂的。

这个包是为miui13和miui14专门写的程序,不过我试过miui12、miui11都能安装,至少钱包可以,其他没有验证过。

三、我踩过的坑

1、TWRP官方版本最新程序是3.7.0(截至到2023年2月15日),目前只支持android12,不支持android13,所以如果你更新的系统是13,那么你就可以放弃获得root或者按照magisk了。不过对于一些小米机型,有高人自己改写了twrp,但是要注意:这不是官方的,一点要慎重,地址是:https://www.123pan.com/s/qHhDVv-nuQJv 作者是活跃在xiaomi.eu上面的会员,可以点击这里:https://xiaomi.eu/community/members/gogocar62.295691/ 查看他的信息。

2、线刷的时候路径不要太长,否则就刷机不成功,因为很多安装包下载的时候文件名都特别长,把文件夹名称修改为短一点的就行,比如rom。

3、现在很多手机都采用 Virtual A/B 分区,这种情况如果刷入twrp,可能你会不小心切换到不同的分区,比如slot A和slot B,很多人一看就英文就乱点。可能你不小心就进入另外一个槽位,那么手机会无线进入fastboot,这时候需要在fastboot模式下运行:.\fastboot set_active b,也就是把B槽位弄成活跃槽位(也可能要把A槽设置为活跃槽位:.\fastboot set_active a,具体看系统安装在哪里),然后重启手机到system。

4、刷机包ROM必须要对应自己的硬件,可以通过官方名,比如MI12,或者MI12 Lite之类的查找,不过一般都会有一个英文代号,刷机包不对肯定搞不定,包括获取boot.img,别抱侥幸心理,系统都是针对硬件定制开发,多一行代码都没法运行。

5、这是最后一条:必须备份数据!必须备份数据!!必须备份数据!!!哪怕你觉得自己很熟悉,甚至自己曾经走过同样的路径,总会有意想不到的事情发生。

10
8

简介

出生于哥本哈根,安德斯·海尔斯伯格曾在丹麦技术大学学习工程,但没有毕业,大学时期他曾替 Nascom microcomputer撰写程式,他曾为Nascom-2电脑撰写蓝标签(Blue Label) Pascal compiler,到了DOS时代他又重新改写这套compiler。当时他在丹麦拥有个叫Poly Data的公司,他编写了Compass Pascal编译器核心,后来叫Poly Pascal。1986年他首次认识了Philippe Kahn。

在Borland公司

安德斯·海尔斯伯格把Compass Pascal编译器核心授权给了美国Borland公司,并作为雇员加入Borland公司,并且是后来所有Turbo Pascal版本与Delphi前3个版本的架构师。Philippe Kahn为第一个版本的Turbo Pascal添加了用户界面与编辑器。

加入微软公司

1996年Hejlsberg加入微软公司。据说,比尔·盖茨亲自参与了这次挖角行动,年薪三百万美金,并许诺安德斯·海尔斯伯格在微软将得到技术上的足够自由和资源支持[1]。据说该事件也是微软公司和Borland公司后续官司的导火索。

在微软公司

进入微软公司后,首先主持了Visual J++的开发工作,后来由于在Java开发工具授权问题上和Sun公司的纠纷,微软停止了Visual J++的后续开发。
这之后,作为.Net概念的发起人之一,安德斯·海尔斯伯格被任命为微软.Net的首席架构师,主持.Net的开发工作。

人物生平

安德斯·海尔斯伯格(Anders Hejlsberg)曾在丹麦科技大学学习工程学。他第一次登上软件界历史舞台是在80年代早期,因为他为MS-DOS和CP/M设计了一个Pascal编译器。当时,还是一个小公司的Borland很快雇用了他,并买下了他的编译器,改称Turbo Pascal。在Borland,Hejlsberg继续开发Turbo Pascal,并最终带领他的小组设计了Turbo Pascal的替代品、开发工具史上的奇迹:Delphi。

1996年,Anders Hejlsberg在Delphi 3发布前离开Borland去了微软(Microsoft)。

在此之前,微软曾多次企图挖走Anders,但都没有成功。据信Anders去微软(主要)不是钱的问题,虽然微软的开价也相当有吸引力: 130万美元年薪外加股票期权和分红,总计超过300万美元。更主要的原因是Anders和Delphi开发组的其他成员在修改编译器的问题上发生了争执;还有,据Borland内部人讲,Anders认为自己不再是“不可缺少的人”。

Anders在Delphi 3中几乎没有做什么工作,Chuck Jazdzewski扮演了一个更重要的角色。(Anders Ohlsson) Anders在Borland时把所有精力都放在了Pascal产品上,也需要新的挑战,这时Bill Gates的亲自邀请,许诺给与挑战的机会,Anders加入了微软就势在必行。

微软用丰厚的薪水、股票认购权和巨额的加盟奖金雇请了 Hejlsberg 之后,Borland 曾提出通过不正当手段吸收新成员的控告。Borland 还曾声称 — 提供了很少的细节来支持指控 — Hejlsberg 正在开发“Delphi for Java”。这场诉讼虽然最终以 Borland 的胜利而收场;但Anders 已经在为微软工作了。  1996年Anders来到微软后,直接主抓Visual J++的研发工作,并在1999年被授予“distinguished engineer”(卓越工程师),在微软仅有16人获得这样的荣誉。

后来微软希望通过开发最新的软件开发语言来赢得软件开发者的拥戴,在微软公司把视窗操作系统和软件向网络迁移的新市场战略中,C#语言是最重要的环节。微软动用了最好的资源。Anders担任了C#语言的首席设计师,同时也是微软.NET战略构架的重要参与决策者。考虑一下Anders的经历,就不会奇怪微软将此重任交给他了。毕竟C#也不是他对软件开发方式重大变革的首次。现在经过几年时间的埋头苦干,C#已成为微软反击Java语言的最有力武器。

业绩与成就  

鉴于他为软件开发做出的巨大贡献,Anders在《Dr.Dobb's》杂志的2001年西部会议上被授予“Prestigious Excellence in Programming Award”,《Dr.Dobb's》杂志的主编Jonathan Erickson说:“这一荣誉,我们每年只颁给那些在软件开发领域做出非凡贡献的人员,Anders开发的C#和他整个职业生涯中为软件开发所做出的巨大贡献有目共睹,他无愧于这一荣誉!”

社会评价

比尔盖茨也高度评价说:“我们为Anders获得这一荣誉感到无比自豪,Anders在C#创建中所做的努力将会改变现在的软件开发方式,并将在以后的十年继续产生影响。”
“程序员是最好的职业”,Anders说:“每两年,CPU的速度要加倍,内存容量是原来的四倍,但是我们的大脑还是原来的大小,很显然,将需要更多的程序员来补充这些。”

21
5

这个学期开学初是进入大学最黑暗的时候,在打击后,我还是老老实实看书,图书馆已经是我的乐园。三月份过来,把《深入浅出MFC》和《设计模式》(就是美国“四人帮”写的那本)都通读了一遍,期间读了许多关于面向对象方法、分析和设计的书,就如我同学说的一样,“我发现了新的天地”。
软件设计,我最终还是选择了,其实与其说是我选择,不如说是被迫的,或者可以用我的话说是“抵制不住市场经济的诱惑”。但我知道我是为了自己的梦想,虽然已经不再是儿时的那个纯粹的梦想,但是这已经不重要了,因为真的是“理想如果不向实际做点妥协,理想就会归于尘土”,但我清楚现在最主要的还是如小熊说的“打扎实基础”。
读《深入浅出MFC》,感想很多,不想在这里谈什么体会(因为会是很粗陋的),还是引用书中打动自己的话以做些纪念:

“ 程序设计领域里,每一个人都想飞;
但是,还没学会走之前,连跑都别想!”

“ C++是一种扭转程序员思维模式的语言;
一个人思维模式的扭转,不可能轻而易举一蹴而就!”

“ 如果MFC是箭,
Visual C++ IDE(集成开发环境)便是弓,
强壮的弓,让箭飞得更远!”

“ 只用一样东西,不明白它的道理,实在不高明。
演化(evolution)永远在进行,
这个世界却不是每天都有革命(revolution)发生,
Application Framework在软件界确实称得上具有革命精神。”

“ 带艺术气息的软件创作行为将在Application Framework出现后逐渐成为工匠技术,
而我们都将成为软件IC装配厂里的男工女工,
但,不是亨利.福特,我们有如何能够享受大众化的汽车,
或许以后会出现“纯手工精制”的软件,
可我自己从来不嫌机器馒头难吃!”

“ 消息映射机制与命令传递,
活像是米若托斯的迷宫,
是MFC最曲折幽深的神秘地带!”

Page1of1

公告栏

欢迎大家来到我的博客,我是dodoro,希望我的博客能给你带来帮助。