My old laptop at home still has a 10th-gen CPU. Running Windows 11 is painfully slow, and while Linux is an option, it requires too much tinkering and lacks a good Android ecosystem and Google Play. In the end, I decided to just run Chrome OS!
The official Chrome OS Flex has had a lot of features removed. It might be better to look for community solutions instead.

What is the intended outcome of this tutorial?
Chrome OS is essentially a heavily modified version of Linux. Although it relies on many proprietary and complex underlying technologies (such as A/B partitions), making it appear unlike a typical Linux distribution, it ultimately delivers a highly polished user experience.
Thanks to its container technology, Chrome OS can run Android applications and even deploy a Debian Linux container. Both Android and Linux applications can be pinned to the taskbar, access the clipboard, access the file system, receive push notifications, and be displayed in resizable windows, functioning as if they were native applications:

Therefore, once setup is complete, you will have a device that offers an excellent user experience, supports both Android and Linux applications, features beautiful animations, is relatively secure, and is highly durable. Moreover, the entire system has modest hardware requirements, allowing older devices to be given a new lease of life!
Before You Start - Choosing the Right Computer for Deployment
I would more strongly recommend installing Chrome OS on a 2-in-1 laptop.
This deployment method currently only supports x86 x64 and does not support ARM.
Chrome OS is a heavily modified version of Linux. Its display engine is neither X11 nor Wayland; it should be Freon. Therefore, Nvidia graphics cards cannot utilize hardware acceleration effectively. Do not choose a computer with a dedicated GPU.
For example, my computer: Thinkpad X1 Yoga,

It is a laptop with an Intel 10th generation i7 processor, no dedicated GPU, a touchscreen, and 360-degree flip capability, making it perfect for running Chrome OS!
Chrome OS is very friendly to touchscreens and supports switching between tablet mode and laptop mode on 2-in-1 devices. Most standard laptop components such as Wifi, Bluetooth, audio, touchscreen, touchpad, power button, and stylus are supported by Brunch patches.
Once you have identified the old computer you want to deploy on, grab a 16GB USB drive, and you can begin the following steps: modifying Chrome OS, creating an installation USB drive, booting Chrome OS, installing Chrome OS, and then starting it up. You will then have a nice Chrome OS laptop!
Step 1 - Download the Chrome OS Recovery Image
This website https://cros.tech/ provides Chrome OS recovery image downloads.
However, to download, you need to enter a device model. So you can also directly click the links below:

Select the stable version image.
Step 2 - Download Brunch Recovery Image Modification Tool
Brunch heavily modifies the Chrome OS recovery image to add UEFI boot support for standard x86 PCs. It also features a graphical installation interface. Furthermore, the kernel has been modified with a large number of patches, allowing Chrome OS to run on older hardware!
Download Brunch!
Go to GitHub: Brunch Downloads
When downloading, make sure to match the Brunch version with the ChromeOS version.

For example, if I download Chrome OS version 118, I need to look for the version 118 build when downloading Brunch.
Step 3 - Extract All, Start Modifying the Chrome OS Recovery Image
3.1 First, extract both the Brunch modification tool and the Chrome OS recovery image.
3.2 Copy the Chrome OS recovery image into the Brunch modification tool directory.
At this point, you will see rootc.img in the directory, which belongs to Brunch. You will also see chromeos_15604.57.0_hatch_recovery_stable-channel_mp-v7.bin, which is the Chrome OS image:

3.3 Start modifying!
Since my work computer only has Windows, I had to use the Linux subsystem to run Ubuntu. If you are already using Ubuntu, you naturally don't need to go through these extra steps.
# 如果你没有 pv cgpt tar unzip 等,用 apt 来安装一下:
sudo apt update && sudo apt -y install pv cgpt tar unzip
# 开始运行魔改:
sudo bash ./chromeos-install.sh -src chromeos_15604.57.0_hatch_recovery_stable-channel_mp-v7.bin -dst chromeos.img
Note: Replace chromeos_15604.57.0_hatch_recovery_stable-channel_mp-v7.bin in the command above with your actual system recovery file name.
Once the process is complete, you will see chromeos.img. This is the fully modified image, ready to be flashed and installed!

Step 4 - Write to USB Drive
Since my company's computers only run Windows, I can only use tools like Rufus to write to USB drives.

In Rufus, select this chromeos.img, choose your USB drive, and start the write process. This img file contains multiple partitions, and Rufus is smart enough to understand this and directly copy the entire disk structure.
If you are a Linux user, you can naturally just use dd to write to the USB drive.
Step 5 - Boot from USB Drive
With the system USB drive in hand, the rest of the installation process is no different from installing a standard Linux distribution. Here are some settings you should configure in advance in the BIOS:
- Enable Modern Standby. (Some BIOS implementations call this Sleep Mode S3, S0ix, etc... S0ix refers to Modern Standby. Chrome OS has excellent support for S0ix, which allows you to continue listening to music after closing the lid)
- Disable Secure Boot. (Obviously, we do not have a signature for Brunch)
- Disable Device Guard. (It may not be called this exact name; some BIOS implementations use additional security features to prevent third-party operating systems from booting)
Then, plug in the USB drive, power on the computer, and rapidly press F12 to enter the boot menu (this varies by device; it might be F10, F9, F2, Delete, etc.), and select your USB drive.

Here, the two options are:
- Boot Chrome OS
- Set up Chrome OS
Note that Brunch is essentially a Chrome OS ToGO. This means that once you write it to a USB drive, it is already a usable system disk. Selecting the second option allows you to configure this system disk. Selecting the first option will quickly boot a full Chrome OS instance.
This is similar to most Linux installations. The essence of installing Chrome OS is actually first booting a pre-installed Chrome OS (from the USB drive) and then copying it to the computer's internal hard drive. After installing to the hard drive, you will still see the two menu options above, so you can configure it later if needed.
Step 6 - Boot into Chrome OS Live USB
After selecting the first option, your computer will load the contents of the USB drive into memory. This process is very slow, depending on the speed of the USB drive.
For the next half hour, you will only see this:

After a very long wait, you will see the Chrome OS OOBE:

Note: At this point, Chrome OS will appear sluggish. This is because it is booting from the USB drive. The operating system has not yet been installed on your hard drive.
Step 7 - Deploy Chrome OS to the local hard drive
Do not complete the Chrome OS out-of-box experience! This is because what you are essentially booting is "Chrome OS ToGo" from a Live USB. If you want it to be a simple installation medium, logging in to Google here is meaningless.
On the welcome screen, press: Ctrl + Alt + F2. This will switch to TTY2.

The system will now prompt for login. Use the username chronos to log in.
Use the command lsblk to identify the target disk for deployment. It might be: /dev/sda or /dev/nvme0n1. Note: Chrome OS must be deployed to an entire hard drive, not a partition!
Then run the following command to deploy Chrome OS to the hard drive: (This will wipe all data on the hard drive)
sudo chromeos-install -dst /dev/nvme0n1 <---- nvme0n1 应当是你的硬盘。

After the command finishes, restart your computer and unplug the USB drive. At this point, your hard drive is bootable and you can enter Chrome OS.
Step 8 - First Launch of Chrome OS
Here, you still need to go through the out-of-the-box setup process again and sign in to your Google account. (Naturally, you will need to use a VPN to access Google services; I obviously won’t be teaching you how to do that.)
Once this is done, you will see the Chrome OS desktop. At this point, you can start exploring.

To ensure that your Chrome OS updates correctly and automatically, I recommend using Brunch’s update tool. This is because Chrome OS has its own built-in update mechanism, which might update to a version that Brunch does not support. By using Brunch’s update tool, you can disable Chrome OS’s native updates to guarantee that you only update to supported versions.
To install Brunch’s update tool, open: https://sebanc.github.io/brunch-pwa/. Once the page loads, Chrome will ask if you want to install the page as an app. Select "Yes," and you can then open and use Brunch’s PWA update tool.
Additionally, check as soon as possible whether your device can:
- Use the touchpad
- Connect to Wi-Fi
- Use Bluetooth
- Adjust brightness
- Adjust volume
- Use the camera
- Use the microphone to record video
- Long-press the power button to bring up the shutdown menu
- Correctly enter tablet mode when switched to mobile state (after unplugging the mouse and keyboard)
Step 9 - Install Linux and Try Installing Some GUI Applications
You can open Chrome OS settings by clicking the date and time in the bottom-right corner. In the bottom-left corner of the Settings, find Advanced -> Developer to locate the menu: "Linux development environment," and select Turn On.

Next, you need to set the size of the Linux partition. I set it to 128 GB.

Launch the Terminal app to enter Linux. Note: This Linux is a subsystem, and it cannot access the host's critical hard drive, network, device, and other settings.
However, this Linux environment can install and run various applications, especially graphical interface applications, such as VSCode, which offers a pretty good experience.

Step 10 - Disable Developer Mode
To access the ChromeOS shell, ChromeOS boots in developer mode by default.
Disabling developer mode reduces user privileges and enhances security. You can manually remove cros_debug from the grub.cfg file in partition 12, then perform a Powerwash to erase all data partitions.
This will remove the Chrome OS terminal, also known as the Crosh shell.
Step 10 - Understanding This Operating System
Right after installation, this operating system feels very easy to use, but it quickly becomes apparent that many aspects are quite confusing. For example, it has at least three different settings interfaces:

The three settings interfaces above are:
- The new general settings introduced by Chrome OS
- The settings for the Chrome browser itself, which were previously used in Chrome OS
- The settings for Android running on Chrome OS
Similarly, there are also three terminals available:
- The native terminal of Chrome OS (Crosh Shell)
- Terminal apps that can be installed within Android
- The terminal in the Linux subsystem
As mentioned above, when configuring a proxy, you also need to discuss its application separately for each environment. Therefore, understanding this operating system requires a certain level of Linux debugging skills.
Of course, as a Linux desktop, it is smooth, fluent, runs Android apps perfectly, supports Chinese input methods, maintains clarity when scaling, offers decent performance while being power-efficient, and is very difficult to break. It is truly a perfect laptop experience.
写的非常详细且用心,谢谢你的分享
不客气。感谢阅读!
装系统之前,不仅要在 BIOS 里检查是否关闭了安全启动,也应该检查是否启用了 VT 虚拟化技术,否则会出现子系统无法使用的情况,包括安卓子系统和 Linux 子系统都无法使用。
wow,我竟然忘了这件事。抱歉让大佬卡住无法使用子系统这一步上。。。
已经深度体验,下面是我的使用建议: 1. 不要使用太新的硬件,可能会没有驱动 2. 拥有触屏的设备会得到最佳的体验 3. 一定要有软路由 4. 配合 Pixel 设备使用会有更佳的体验
是的,尤其是二合一设备体验极佳:在失去键盘后,它会立刻进入平板模式,而得到和安卓平板完全相同的体验。 普通的笔记本可能体验不到这部分功能。 另外……忘了提了,需要科学上网。。。。 我的主手机也是Pixel,可以直接把手机上的App串流到电脑上(不需要真正安装),这个功能真的太爽了。。