
把这里改成2和12:

保存之后小鸡会重新引导,然后不出意外就要出意外了,因为我是私自安装的Debian系统,所以又遇到了之前GRUB引导丢失的问题了:龟壳ARM Debian11 UEFI GRUB启动项丢失修复,如果按照我之前这篇文章的步骤操作,只能暂时修复,如果龟壳哪天又维护,估计引导又丢了。
我这回仔细研究了一下,发现是龟壳维护后以及某些场景下会重置小鸡的NVRAM(UEFI的非易失性存储),Debian在默认情况下又不会将GRUB安装到UEFI的fallback路径,这就导致找不到引导最终进入EFI shell。解决办法其实很简单,重新安装GRUB的时候带上
--removable参数即可:grub-install --target=arm64-efi --efi-directory=/boot/efi --bootloader-id=debian --removable这会在
/boot/efi/EFI/BOOT/目录下生成BOOTAA64.EFI文件:
/EFI/BOOT/BOOTAA64.EFI是UEFI规范中的默认路径,这样即便NVRAM被重置,系统也能自动识别并开机。还有一个需要注意的地方:Debian自身的系统更新,如果Debian更新了grub-efi软件包,系统可能会重新运行默认的
grub-install,从而只更新/EFI/debian而忘记更新/EFI/BOOT,最好运行以下命令重新配置grub-efi:dpkg-reconfigure grub-efi-arm64前面弹出配置内核参数的界面都保持默认直接回车就好了,在下面这两个界面选择Yes:


配置完成后,以后无论是龟壳维护,还是你自己运行
apt full-upgrade升级系统内核与GRUB,系统都会自动保证/EFI/BOOT里的兜底文件是最新的。另外现在创建控制台连接也不用那么麻烦了,可以直接用龟壳的Cloud Shell:

如果小鸡引导丢了,此时在Cloud Shell敲一个回车就能看到EFI shell了,然后输入exit还是quit我忘了= =,即可看到小鸡的BIOS界面:

然后按照之前文章里面的步骤从Boot维护管理里面的Boot From File先把机子启动再重新安装GRUB即可。