最近沉迷Chromebox无法自拔……
前段时间又让站长帮忙带了一台Chromebox CN60回来,就是这台:
当时我在 eBay 购买时,卖家只是说“登录了邮箱,不知道密码,但我确信肯定是有办法清除的”,我以为只是重置一下Chromebox就能解决的事情,以下是当时的 eBay 物品。
https://www.ebay.com/itm/ASUS-Chromebox-CN60-Intel-Celeron-2955U-1-4GHz-2GB-RAM-16GB-SSD-locked-Email/373068403587
拿回来通电才发现,这个机器部署了传说中的企业管理(Enterprise Enrollment)……
通常情况下,打开开发者模式的操作是这样的:
关机,戳住复位孔开机,开机看到 Chrome OS is missing or damaged 之后,按下 Ctrl+D 打开开发者模式,然后再戳一下复位孔确定打开开发者模式。
我试过打开开发者模式触发重置,结果机器提示“设备拥有者禁止启用开发者模式”并重新启动了验证启动模式。
我试过更换硬盘后重新恢复系统,仍然没有解除“企业管理”。
想了下,我还是把它当成砖来处理好了。反正 Chrome OS 在中国没有任何使用价值,我到时候也是要拿来改装 Windows 的。
MrChromebox Wiki 上有介绍如何使用 CH341a 编程器和烧录夹重刷BIOS,这个就是了:https://wiki.mrchromebox.tech/Unbricking
如果你对 Chrome OS 设备不太了解的话,是这个样子的:
这些 Chromebook / Chromebox 改装第三方操作系统需要刷入其它 UEFI 固件(或者说 BIOS),其中最为完善的是基于 Coreboot 的 MrChromebox 固件。
而常规的 UEFI 固件刷入方式需要打开开发者模式后,在 tty2 开发者控制台登录账号刷写 UEFI 固件。然而,这里我们无法进入开发者选项,无法完成首次启动配置,因此需要采取一些强硬手段来破解。
淘宝上找了下一套烧录套件26人民币,下单了。
两天之后,烧录器拿到了。
二话不说,开始拆机。CN60 这个型号拆解需要将底部的脚垫揭掉,拧掉四颗螺丝之后从边缘撬开底盖,就可以看到主板了。
这里只需要拔掉上面的天线和电源开关排线,以及拧掉固定主板的两颗螺丝即可。不需要拆掉无线网卡、固态和内存条。拆掉之后,就可以从前面板部分把主板提出来了。
我们来看看主板的背面。这台机器的 BIOS 芯片位于风扇的下方,因此只要把风扇拆掉就可以了,不需要拆掉散热铜片。刷BIOS之前,必须要拆掉 CMOS 电池。
来个特写,这颗丝印写着 Winbond 25Q64FVSIG 的就是 BIOS 芯片了。
将烧录夹具和烧录器组装好。需要将靠红线的一端插到转接板标了数字1的地方,以及烧录夹的红色线一头必须要对准芯片的标着红点的地方。
现在可以将烧录器接到电脑上了。按照教程,电脑必须要运行Linux操作系统,我这里使用的是 Deepin 20。
夹上来之后,按照教程下载好 flashrom 和 cbfstool、对应的 Coreboot UEFI 固件,然后执行这个命令检查烧录器是否识别出芯片了:
sudo ./flashrom -p ch341a_spi
如果提示 Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) on ch341a_spi,就可以开始提取原先的 BIOS 了:
sudo ./flashrom -p ch341a_spi -r badflash.rom
接下来,需要使用 cbfstool 提取 BIOS 备份中的 VPD 区块并注入 Coreboot UEFI 固件中:
sudo ./cbfstool badflash.rom read -r RO_VPD -f vpd.bin
sudo ./cbfstool coreboot_tiano-panther-mrchromebox_20200618.rom -n vpd.bin -f vpd.bin -t raw
注入完成之后,就可以开始刷入注入了 VPD 后的 UEFI 固件了:
sudo ./flashrom -p ch341a_spi -w coreboot_tiano-panther-mrchromebox_20200618.rom
sudo ./flashrom -p ch341a_spi -v coreboot_tiano-panther-mrchromebox_20200618.rom
确认刷完之后,首先拔掉烧录器,然后拿掉烧录夹。
不要急着将 CMOS 电池装回去,我自己的测试发现,必须要不装 CMOS 电池,裸板接电源(这个时候它会自动开机),然后再来带电将 CMOS 电池装回去。不这样做的话,这么装回去会开不了机,我还以为机器变砖了吓得我又倒腾了几个小时,还从另一台已有的 CN60 把 BIOS 读出来又刷了进去。
看到上图的 UEFI Shell 之后,你就可以把 CMOS 电池接上去,然后断开电源,将机器组装回去。
这之后,这台 Chromebox CN60 就破解完成了。你可以给它安装你想要的操作系统了——实测即便是安装 FydeOS 或是基于 Brunch 的新版 Chrome OS 都不会再提示受到企业管理了。