现代 Chromebook 双系统 Linux

现代 Chromebook 双系统 Linux
不是炒米线HP Elite Dragonfly(i7-1265U + 32GB + 512 GB)。
重置了3、4次,得出了最优雅的双系统解决方案。不需要解除固件写保护,也就不存在砖的可能。
1. 先启用开发者模式
自行查找教程
2. 刷写RW_LEGACY
Chromebook的固件分为两部分,一部分写保护,一部分可写。前者用于ChromeOS的安全启动,后者(RW_LEGACY)用于传统启动,默认这个区域是空的(或者是用不了的U-Boot)。如果在这个区域写入自定义固件(edk2),并且在开机时按下ctrl+l,就可以启动uefi兼容固件edk2用于引导标准的linux系统。这一部分可以参考Mr. Chromebox。这里快速带过,不会提及细节。
按Ctrl+ALT+F2(刷新键),打开VT2,使用chronos登录(默认无密码),执行(手敲一下吧):
1 | cd; curl -LOf https://mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh |
建议先选5备份固件,然后选1刷写RW_LEGACY。如果失败,优先检查网络环境。
3. 调整STATE分区大小
ChromeOS下,所有的剩余空间都分给了STATE分区。并且,Google魔改了GPT系统,加入了自定义标签来识别不同分区,所以要尽可能不破坏原来的分区,并且需要在ChromeOS下使用cgpt命令操作,防止标签被移除。
在下载文件夹新建文件 resize.sh,写入以下内容(可以自己调整分区大小,默认EFI留1GB、根给了300GB):
1 | # 设定目标硬盘 (根据实际情况修改,通常为 /dev/nvme0n1 或 /dev/mmcblk0) |
因为Crosh没有sudo权限,需要切换到VT2来执行脚本。按ctrl+alt+f2(刷新键),会进入tty,输入chronos登录(默认没有密码,除非你自己设置过)
执行以下指令:
1 | cat /home/chronos/user/MyFiles/Downloads/resize.sh | bash |
不直接执行脚本是为了绕过W^X限制。当输出Done.时,执行:
1 | sudo reboot |
重启,务必选择从内部磁盘启动。这时候会显示”Your System is repairing itself”,这是对的,因为这款Chromebook采用了LVM分区,需要利用自带的修复机制来重建LVM。再次完成OOBE。
注意,刷写RW_LEGACY时,会在p12新建一个64MB的EFI分区,但是像Ubuntu这样的系统使用/boot/efi来挂载esp分区,这会把内核塞在esp里,64MB显然不够,所以新建了一个1GB大的EFI分区。
4. 安装Linux
自行下载你喜欢的发行版。如果使用Ubuntu,请使用25.04及以上,后续修复音频需要。
使用你熟悉的方式写入启动U盘,这里我就使用dd了。
1 | sudo dd if=Downloads/archlinux-2026.03.01-x86_64.iso of=/dev/disk17 bs=4m status=progress oflag=sync |
插入后重启,选择”选择备用的引导加载程序”,确保备用的引导加载程序是edk2(而不是U-Boot)。默认会启动USB设备。看见兔子就说明没问题了。
按照标准流程完成安装,注意务必选择手动配置分区,删除刚刚新建的p16分区,新建为 / ,启动磁盘选择 nvme0n1,务必检查efi分区是否选择到刚刚新建的p15分区(1GB大小)。检查完成后继续安装。
之前提到p12分区的64MB EFI的问题,如果是Ubuntu,会自动处理标记为非esp,使用新建的1GB esp。如果是ArchLinux,需要手动unmark(上图忘记了)。或者把里面的bootx64.efi改名为bootx64.efi.bak。总之只要别启动那个64MB的ESP就好。
5. 修复音频
参考这个






