Skip to main content

安装

前言

即使到了 2020 年,同时支持触屏和键盘的二合一设备和使用“网络代替本地”的 ChromeOS 都仍然是十分小众的概念,甚至有点凉。其中原因有很多,比如二合一设备无论使用 Android 还是 Windows 体验都很别扭,而如果你尝试本文即将提到的 ChromeOS,你会发现它的使用门槛对于一般消费者而言太高了。ChromeOS 作为一个以 Chrome 浏览器为核心的操作系统,只能承担比较轻量的使用情景,相比三大主流操作系统缺少了很多第三方支持。但是如果你恰好有一个比较轻量的使用需求,又能够迈过 ChromeOS 的使用门槛,我相信你将会获得舒适的使用体验,这也是本文写作的缘由。
ChromeOS 的优势是具有包括 Chrome 浏览器生态和 Android 应用生态的谷歌全家桶生态支持,属于 PC 中最好的 PAD,(即使苹果布局 IpadOS,仍然是)PAD 中最好的 PC,最适合 ChromeOS 的设备就是可拆卸键盘的二合一设备,而我使用的则是二合一设备的标杆:Surface
写到这里前言就可以结束了,下面是免责声明
本文不适用于 NVIDIA CPU 设备和不支持 UEFI 的设备
ChromeBook 用户,FydeoOS 用户,CloudReady 用户可以跳过本部分内容
不推荐任何没有 Linux 或 EFI 基础的用户尝试本文操作,不推荐在非二合一设备上安装 ChromeOS,不推荐将 ChromeOS 作为唯一系统
如果你所在的地区无法访问谷歌服务,请不要尝试安装 ChromeOS,你可以选择 FydeOS(这条没给钱
在安装和使用过程中如果有任何重要数据,做好备份
本人设备是 Surface Pro 3 - i5 版,建议其他型号用户安装前检查是否有兼容性报告

正题

Brunch Framework 可以说是一个改变了非官方 ChromeOS 体验的项目,在此之前的各种二次开发项目不是兼容性有缺陷就是功能有缺陷,brunch 在不修改系统功能的前提下实现了兼容性更强的硬件适配,具体的实现方式可以自行查看源代码。而 brunch repo 的数据也很有意思,截至本文写作时拥有 500 star 、 50 fork,还有 460 issue,可见尝试 brunch 的人还是很多的。
本文选择的是 Windows + ChromeOS 双系统方案,因为这个方案很常见而 brunch 对这个方案的描述并不详细,所以还是值得一提的,其他安装方式就请读者自己尝试了。

准备工作

  • Windows 的安装就略过了,硬盘全抹然后交给安装镜像自己分区。
  • 一个 ext4 分区,这里给一个参考,我给 ChromeOS 准备的是 64GB 存储空间,ext4 分区的大小是 65.3GB。不要问多出来的去哪了,被我吃了
  • 一个 ChromeOS 的恢复镜像。根据 brunch 的建议,4 代以上英特尔 CPU 使用 rammus(即 ASUS Chromebook Flip C434)的恢复镜像,但是 brunch 提供的恢复镜像查找网站疑似关闭,如果打不开可以寻找类似的网站,它们提供的都是谷歌官方的下载地址。
  • brunch 的 release 文件
  • 一个 Linux shell 环境,无论是哪个发行版、WSL 还是 Android,只要你会用就行
  • 一个用来刷写 LiveCD 的 U 盘

如果你使用的是 3 代及以前的 intel CPU 设备或 AMD CPU 设备,你需要根据 brunch 的描述选择其他恢复镜像

制作包含 brunch 的恢复镜像

进入你的 Linux shell 环境,来到存放恢复镜像和 brunch 的位置,保证这个位置有至少 14GB 的可用空间

sudo tar zxvf brunch_< version >.tar.gz
sudo bash chromeos-install.sh -src < path to the ChromeOS recovery image > -dst chromeos.img

然后用你喜欢的方式把生成的恢复镜像刷写到 U 盘上,这一步就算完成了

安装系统到硬盘

从上一步得到的 LiveCD 引导启动,如果你没有关闭 Secure Boot 的话会出现警告,然后你沿着OK->Enroll key from disk->EFI-SYSTEM->brunch.der->Continue操作一番之后重启再次引导就会进入系统了。
进入欢迎页面后为了不浪费时间可以直接以访客模式进入桌面,打开 Chrome 浏览器按CTRL+ALT+T进入 crosh,再输入shell进入 bash 命令行,接着挂载 ext4 分区并写入镜像

mkdir -p ~/tmpmount
# 这里就用到了前面提到的那个 ext4 分区
sudo mount < the destination partition (ext4 or ntfs) which will contain the disk image > ~/tmpmount
sudo bash chromeos-install -dst ~/tmpmount/chromeos.img -s < size you want to give to your chromeos install in GB (system partitions will take around 10GB, the rest will be for your data) >

脚本运行完毕后会输出 grub 的启动配置,建议你把这个配置保存起来,官方提供的方式是保存到 LiveCD 的引导配置里

# select GRUB configuration and CTRL+SHIFT+C
sudo edit-grub-config
# paste the text (CTRL+SHIFT+V) after the second line
# save & exit

然后就可以卸载分区了

安装 rEFInd 引导器

这一步是可选的,但是 rEFInd 它真的很好用,强烈推荐。

rEFInd 是一个 EFI 引导器,有比 grub 更好的界面和触屏支持,但是不能用于引导 brunch。然而众所周知只要配置写得好,EFI 就可以链式启动,所以我们配置使用 rEFInd 作为首选引导器,如果需要使用 ChromeOS 则由 rEFInd 引导 grub 引导 ChromeOS 启动。配置完成后的 rEFInd 和 ChromeOS 搭配起来会有很无缝的使用体验。 从官网可以获得二进制压缩文件,接下来的步骤可以在 LiveCD 中操作也可以在 Windows 中操作(但是 Windows 对 EFI 分区的文件操作并不友好)。
首先挂载 EFI 分区,把 LiveCD 中的 grub 放到 EFI 中,前文提到的 grub 启动配置也加到配置文件的第一启动顺位中,然后将下载的 refind 放到 EFI 中

  1. 修改 refind.conf,查找enable_touch并删除前面的井号
  2. 你肯定会嫌弃 rEFInd 默认主题丑的,在 github 搜索 refind-theme 可以找到第三方主题,但是换主题的事可以在它能够正常工作之后再做
  3. rEFInd 会将 ChromeOS 显示为 Linux 的小企鹅 logo,如果你想要显示 Chrome 的 logo 的话手动配置一下启动入口和对应 logo 就可以了
  4. 如果你需要 Secure Boot 支持,根据官方教程配置即可,我选择的方案是 Shim
  5. 修改 UEFI 启动顺序,将 refind.efi 设为第一位(如果你配置了 Secure Boot 支持则为对应的 efi 文件)

配置好之后 EFI 大概是这样的

现在你可以丢掉 LiveCD,重启电脑了

rEFInd-regular 主题

进入系统

成功从硬盘引导之后,完成 ChromeOS 的初始设置,登录谷歌账号,就可以正式开始使用了。
建议这个时候先测试一下系统对各个硬件的支持情况,如果没有什么重大 bug,那么我们就可以进入下一节的日常使用了。