在前两天中午,我拿到了一台thinkpad c13 yoga,对于这台机的介绍这里不再重复,下面直接进入正题。

当我像往常那样拔下电池并进入开发者模式时,出现了一个比较奇怪的问题:当按下ctrl+d开启开发者模式并重启时,总是会进入以下页面: 684211727c59356cede8aab3178587fec673c971afba1723193941b2a653069a.png 更离谱的问题来了,无论我如何重复点击取消,最后到达一定次数就会响两声然后强制重启,重启后又回到了安全模式,无论重复几次都是如此。

回到安全模式时也会顺便重置设备,这次当我登录账号时,发现了一个奇怪的东西:enterprise enrollment。搜索后发现chromebook还有一个企业管理模式,在该模式下管理员可以随时锁定设备,也可以禁用开发者模式。那么原因很明显了:这台机非常不幸地是被企业管理的“脏机”,自然不可能开启开发者模式。

当我知道这个结果后,我第一反应是退货,但在贪便宜的心理下我还是继续寻找着解决方案。最后在discord大佬OlyB的帮助下,我找到了一个解决方案:用编程器直连bios强行去掉企业锁。

众所周知,chromeos的大部分设备参数都是由一个存储在bios芯片中名为gbb_flags的字段所决定的,也包括企业锁状态。如果企业锁变量为1,则将拒绝开启开发者模式,自然无法通过拔电池解锁硬件写保护。不过bios芯片本身是没有写保护的,这就意味着可以通过编程器强刷bios的方式强行修改该字段,达到解除保护锁的目的。理论存在,实践开始。

首先需要准备以下道具: 1.ch341a编程器 2.sop8免拆夹(需要先确认是wson封装还是sop封装,我就在这吃大亏了) 3.1.8v转接器(比较新的bios芯片都是1.8v的了)

准备完毕后就可以开始行动了:

首先将主机大卸八块,露出主板: 88e7b43467996395dba1c5c3157ddb7b3f5481a84d900a493b1d8b68fad1d34b.png

找到bios芯片(表面印上winbond的基本就是了): 1001fcde58e9a051e0782c5e240f967e810f99be7419834d3c3aaf27c35e82d6.png

将芯片夹对准bios芯片夹好,将编程器连接电脑: 619c2f2aba3fbded1bc4b18abe59089584b60fb3a1f70e1e2fbaf0769a471214.png

电脑进入任意linux发行版(这里用的是ubuntu live),安装flashrom软件包,使用root权限运行以下大佬提供的脚本:

cd /tmp  
echo "Downloading utilities"  
wget https://mrchromebox.tech/files/util/  gbb_utility.tar.gz && tar -zxf gbb_utility.tar.gz  
wget https://mrchromebox.tech/files/util/vpd.tar.gz && tar -zxf vpd.tar.gz  
echo "----------------------"  
echo "Press any key to begin"  
echo "----------------------"  
read -rsn1  
echo "Read"  
flashrom -p ch341a_spi -i GBB -r GBB.bin  
flashrom -p ch341a_spi -i RW_VPD -r RW_VPD.bin  
echo "Modify"  
./gbb_utility -s --flags=0x8090 GBB.bin  
./vpd -f RW_VPD.bin -s check_enrollment=0 -s   block_devmode=0  
echo "Write"  
flashrom -p ch341a_spi -i GBB -w GBB.bin  
flashrom -p ch341a_spi -i RW_VPD -w RW_VPD.bin  
echo "SUCCESS"  

执行完毕后,如果没有错误输出,则继续以下操作: 1.开机,按ctrl+d进入开发者模式 2.完成后,按下 ctrl+alt+shift+r 进行 powerwash 3.powerwash 后,立即转到 ctrl+alt+f2进入终端,以“root”身份登录并运行以下命令:

tpm_manager_client take_ownership
cryptohome --action=remove_firmware_management_parameters

两个命令都应显示成功,如果错误则降级到 v110 或更低版本 4.按 ctrl+alt+f1,再按下 ctrl+alt+shift+r 进行powerwash 5.搞定,成功接触保护锁。

那么我成功解除了吗?然而并没有。还记得我前面说的这句话吗?

2.sop8免拆夹(需要先确认是wson封装还是sop封装,我就在这吃大亏了)

没错,问题就在这里,这台机使用的是wson8封装,而我买的是sop8的免拆夹,自然毫无卵用。其实买个wson8探针即可解决问题,但在经历几天的折腾后我的耐心早就被耗尽了,直接拿去退款然后又买了台已经刷好windows的机器,所以我也就没机会测试这个脚本是否有效了。如果你很不幸也遇到了这种情况,可以试一下这个方式并向我反馈。

最后希望大家在购买chromebook时能够少踩坑,毕竟这已经是我翻车的第三台chromebook了(大雾

2023.6.6