Hướng dẫn  Cài Chrome OS song song với Windows (không cần USB)

dtadptvl
Chrome OS là một hệ điều hành máy tính của Google. Sau một tuần dùng thử em thấy thằng này cực mượt cực nhẹ, chạy được app Android, chạy code Linux, mượt mà ngay cả trên HDD. Cài vào máy cũ để giải trí, văn phòng đơn giản hay cho trẻ con học online đều cực kỳ ngon lành.
Hiện nay Google đã cho cài đặt Chrome OS Flex chính chủ nhưng vẫn không có CH Play và cũng không dual boot được.
Guide này sẽ giúp các bác dual boot Chrome OS phiên bản có CH Play song song với Windows một cách trực quan nhất.
Các bác có thể tham khảo guide gốc ở đây: https://github.com/sebanc/brunch/blob/main/install-with-windows.md

YÊU CẦU:
1. Máy đang boot bằng UEFI
2. Tất cả CPU Intel tích hợp iGPU; CPU AMD các dòng Dalí, Pollock, Picasso, Stoney Ridge, Bristol Ridge và APU Ryzen

TẢI XUỐNG:
1. Brunch bản latest
2. Recovery image của Chrome OS. Nên chọn kênh Stable, phiên bản trùng với phiên bản của Brunch bên trên. (Ví dụ Brunch r115 thì tải recovery image bản 115)
- CPU Intel thế hệ thứ từ 4 đến 9 tải board shyvana
- CPU Intel thế hệ thứ 10 tải board jinlon
- CPU Intel thế hệ thứ 11 trở lên tải board voxel
- CPU AMD Ryzen tải board gumboz
Trường hợp sử dụng CPU khác hoặc không boot được, các bác có thể vào đây để tìm board thích hợp cho máy mình, chỉ cần cùng hãng và cùng đời chip là được
3. Grub2Win

TIẾN HÀNH:
Cài Ubuntu chạy trên Windows
1. Tại ô search bên phải nút Start tìm “Windows features”.
Chọn “Turn Windows Features On or Off”.
Tiếp theo, tích vào các mục:
- Hyper-V
- Virtual Machine Platform
- Windows Hypervisor Platform
- Windows Subsystem for Linux

Và nhấp vào “OK”.
Khởi động lại để hoàn thành.

2. Sau khi khởi động lại, mở Microsoft Store. Cài đặt tiếp 2 cái này:
Windows Subsystem for Linux
Ubuntu 20.04.6 LTS
Khi chạy Ubuntu lần đầu, các bác sẽ được yêu cầu đặt username và password. Username thì đặt như thế nào cũng được còn password các bác nên đặt ngắn để tiện thao tác về sau.

Chuẩn bị cài
Tạo folder chứa file khởi chạy
Tại ổ C, D, hoặc E,... bất kì, tạo một thư mục đặt tên là chrome(hoặc tên gì tuỳ các bác nhưng lưu ý đặt tên không dấu không cách). Giải nén 2 file BrunchRecovery Image đã tải bên trên vào đây. Đổi tên file Recovery Image thành chrome.bin cho dễ thao tác. Ta được một folder như sau:

chrome-bin.png


Em tạo trên ổ D nên sẽ được một thư mục có đường dẫn:
Mã:
D:\chrome\
Để chạy trong Ubuntu thì ta quy đổi đường dẫn này thành (lưu ý trong linux tên thư mục phân biệt chữ hoa chữ thường):
Mã:
/mnt/d/chrome/

Cài đặt
1. Tạo folder cài đặt (khác với folder chứa file khởi chạy ở trên)
Tại ổ D, hoặc E,... bất kì (không nên tạo trên ổ C để tránh mất mát khi cài lại Win), tạo một thư mục đặt tên là chromeos (hoặc tên gì tuỳ các bác nhưng lưu ý đặt tên không dấu không cách).
Tương tự như trên ta có đường dẫn đến folder cài đặt:
Mã:
/mnt/d/chromeos/

2. Mở Ubuntu, chạy code:
Mã:
sudo apt update && sudo apt -y install pv cgpt
2. Mở Ubuntu, trỏ tới folder chứa file khởi chạy bằng lệnh cd:
Mã:
cd /mnt/d/chrome/

3. Chạy tiếp code cài đặt có dạng:
Mã:
sudo bash chromeos-install.sh -src chrome.bin -dst đường_dẫn/chromeos.img -s size
- đường_dẫn là đường dẫn tới folder cài đặt đã tạo ở trên. Ví dụ đường dẫn của em là /mnt/d/chromeos/
- size là dung lượng các bác muốn, các bác thay con số muốn tạo tối thiểu là 14. Ví dụ em sẽ để 30
=> Cuối cùng em được lệnh sau:
Mã:
sudo bash chromeos-install.sh -src chrome.bin -dst /mnt/d/chromeos/chromeos.img -s 30

4. Chạy được đến bước này là đã thành công. Các bác gõ dualboot rồi bấm Enter là xong.
image.png

Dual Boot
1. Cài đặt và mở Grub2Win. Nó hỏi gì thì cứ chọn Yes.

2. Chọn Manage Boot Menu, chọn tiếp Import Linux or Chrome Config. Gõ chữ C rồi nhấn OK, tìm đến folder cài đặt ChomeOS ban nãy, chọn file chromeos.grub.txt.

Đến đây là đã hoàn thành việc cài đặt. Các bác khởi động lại rồi chọn vào ChromeOS trong menu grub. Chúc các bác thành công.[/spoiler]
MỘT SỐ HÌNH ẢNH
image.png

image.png

image.png

image.png

BẬT CHẾ ĐỘ HIỆU NĂNG CAO
Mặc định trên nhiều chip, Chrome OS nó chỉ nhận một nửa số nhân để tiết năng lượng. Để nó nhận full hiệu năng của chip thì làm như sau:
Mở Chrome, trong thanh địa chỉ nhập:
Mã:
chrome://flags/#scheduler-configuration
[
Chọn Enables Hyper-threading on relevants CPUs.
image.png
 
Sửa lần cuối:
Trả lời

windhn

Gà con
Mình thấy phân vùng cài ChromeOS sau khi cài xong nếu ko ẩn đi thì khi khởi động windows , win sẽ tạo file restore + temp vào phân vùng đó. Lúc khởi động chrome OS sẽ bị lỗi “chrome os system repairing itself”. Mình cũng gặp lỗi này, sau đó ẩn phân vùng ChromeOS đi thì hết lỗi.
 

VangTriet

Gà con
Các bác cho em hỏi, em cài đúng mà trên cả 2 máy của em đều bị lỗi khi khởi động bị lỗi hiện no suitable video mode found, booting in blind mode, trong config grub của em cũng không có img_part và phần loop_max
1653635939890.png
 

tamthangia

Rìu Vàng Đôi
bản nào mới nhất cài dc cho dell vostro 6520 i5 gen 2 các bạn nhỉ .
mình tải brunch r101 - rammus , nhận mạng , có ip nhưng ko vào dc mạng , đến phần setup chọn user thì n load 1 lúc nháy 1 cái , rồi lại đợi , mình kịp nhìn thấy chữ some thing wrong , bên phải có list wifi , có vẻ là n ko kết nối dc mạng nên vậy .
mình tải bản brunch r91 - samus 91 thì mọi thứ hoạt động ok . ko bị lỗi gì , mình muốn kiếm bản mới nhất mà nhiều thứ quá
 
sao em tạo trên ổ hdd di động của em phần vùng fat32 đứng trước để chứa linux mint .Phân vùng 2 chứa chrome os (NTFS) cài đặt xong xuôi không boot được chrome nhỉ ? Ổ định dạng mbr
 

cvthang

Rìu Sắt
sao em tạo trên ổ hdd di động của em phần vùng fat32 đứng trước để chứa linux mint .Phân vùng 2 chứa chrome os (NTFS) cài đặt xong xuôi không boot được chrome nhỉ ? Ổ định dạng mbr
Phân vùng đứng trước hay sau không quan trọng, chủ yếu trong file grub.cfg phải trỏ đúng vào phân vùng ChromeOS. Nó còn phụ thuộc vào thứ tự BIOS nhận ổ vật lý của bạn là ổ nào nữa (disk 0, 1, 2...) nếu load bootloader từ ổ di động.
 

phungthihalinh

Rìu Vàng Đôi
có cách nào tạo boot song song nữa ko các bác ơi, máy mình là sony ko thể thể nào tăt secure boot đc luôn á
1661417746632.png
 

mrJaden

Rìu Bạc
có cách nào tạo boot song song nữa ko các bác ơi, máy mình là sony ko thể thể nào tăt secure boot đc luôn á Xem phần đính kèm 36751
bạn đọc ở đây, chắc phải tự build
Mã:
# Brunch principle

The Brunch framework purpose is to create a generic x86_64 ChromeOS image from an official recovery image. To do so, it uses a 1GB ROOTC partition (containing a custom kernel, an initramfs, the swtpm binaries, userspace patches and config files) and a specific EFI partition to boot from it.

The source directory is composed of:
- the build.sh script used to build the framework,
- Different Brunch Linux kernels based on ChromiumOS release including specific ChromeOS and surface devices patches (in the kernels directory),
- An "efi-partition" folder containing shim and GRUB and the specific GRUB config,
- An "extra-firmwares" directory to include firmware files which are not available in the mainline kernel firmware git (the mainline kernel firmware files are downloaded during the build process),
- A script folder which contains sub-scripts used during the build process and the Brunch initramfs script,
- A patches folder which contains the patches which will be applied by the initramfs to the ChromeOS rootfs,
- An "alsa-ucm-conf" folder which contains common alsa ucm files for better sound support.
- A few additional binaries in the "packages" folder.

The build script will copy the rootfs from a ChromeOS recovery image, chroot into it, and install the brunch toolchain in order to:
- build a few programs (notably efibootmgr, swtpm, nano)
- copy all added alsa ucm files, firmware files and patches. (stored in ROOTC image),
- copy the install script which will be used to create the ChromeOS image (chromeos-install.sh),
- create the ROOTC partition image,
- create 2 different efi partitions ("efi_secure.img" with secure boot support and "efi_legacy.img" for older devices).

From there, to create the ChromeOS image, the install script will only have to:
- create partitions,
- copy the ChromeOS recovery image partitions to this device,
- copy the ROOTC partition which contains the framework,
- replace the EFI partition.

At boot, GRUB will load the kernel present on ROOTC partition and launch the initramfs which is responsible for adding all the userspace patches to the standard ChromeOS rootfs before booting it, this process takes place:
- on the first boot,
- when the ROOTC partition is modified,
- when an update has been applied.

Thanks goes to project Croissant, the swtpm maintainer and the Chromebrew framework !

# Build instructions

Building the framework is currently only possible under Linux (should work with any distro).

The build process consist of 4 successive steps:
- getting the source,
- building the kernels,
- signing the kernel and GRUB for Secure Boot,
- building the install package.

Warning: The build scripts currently lacks many build process checks. I will try to work on that as soon as I have the time.

## Getting the source

Clone the branch you want to use (usually the latest) and enter the source directory:

```
git clone https://github.com/sebanc/brunch.git -b < ChromeOS version e.g. r79 >
cd brunch
```

## Building the kernel

1. Install all packages required to build the Linux kernel (refer to your distro's online resources).
2. Launch the kernel build in each kernel subfolder:
```
cd kernel
make -j$(nproc) O=out chromeos_defconfig
make -j$(nproc) O=out
```
3. Make sure the kernel build process finished without errors.
4. Go back to the main directory where you extracted the source.

## Signing the kernel and GRUB for Secure Boot

If you want to use Secure Boot, you will have to create your own certificate and sign both the kernel and the grub efi binary. (refer to online resources)
If you do not need Secure Boot, you can skip this step.

## Building the release package.

To build the release package, you need to have:
- root access,
- the `pv` and `cgpt` packages/binaries installed,
- 16 GB free disk space available,
- an internet connection.

1. Download the "rammus" ChromeOS recovery image from here (https://cros-updates-serving.appspot.com/).

2. Make sure you have 16GB of free space available for the build.

3. Launch the build as root:
```
sudo bash build.sh < path to the ChromeOS recovery image >
```
4. Verify that everything worked well. You should have an "out" directory containing the brunch_< version >_<date>.tar.gz archive.
 

votanphat

Gà con
sao mình không tải được Recovery image
 

mrJaden

Rìu Bạc
Có bác nào fix nhận full size phân vùng cài cho chromeos này chưa? Pv mình để 80Gb mà resize xong nó lại nhận 133Gb 😅
 

Huu Thien

Gà con
Lần đầu login vào bình thường chỉ có ko vào đc ch play mà sao restart lại vào bị lỗi như này
z3748616529344_b8dfae31808d8a25954ac9cd359e099f.jpg
 
Sửa lần cuối:

cvthang

Rìu Sắt
Lỗi không thấy ổ khởi động đó bạn, bạn kiểm tra lại ổ cài OS khai báo đung trong file cấu hình không?
 

511962

Gà con
Các bác cho e hỏi thăm với, e xài laptop lenovo 300e chip intel, xài brunch_r103 + octopus firmware 103 như hướng dẫn. Dual boot win + Chrome OS. Làm theo các bước trên. Đã vào dc Chrome Os và đăng nhập xong hết. Nhưng khi tắt máy, khởi động lại thì chỉ vào tới màn hình "Loading brunch framework" , sau đó sẽ tự restart.
Quá trình trên cứ lặp lại liên tục, ko cách nào boot vào chrome Os lại dc.

Các bác giúp e với :(




103276313-32e65f00-49ec-11eb-885d-4566f83cab70.png
 

cvthang

Rìu Sắt
Các bác cho e hỏi thăm với, e xài laptop lenovo 300e chip intel, xài brunch_r103 + octopus firmware 103 như hướng dẫn. Dual boot win + Chrome OS. Làm theo các bước trên. Đã vào dc Chrome Os và đăng nhập xong hết. Nhưng khi tắt máy, khởi động lại thì chỉ vào tới màn hình "Loading brunch framework" , sau đó sẽ tự restart.
Quá trình trên cứ lặp lại liên tục, ko cách nào boot vào chrome Os lại dc.

Các bác giúp e với :(




Xem phần đính kèm 38961
Mỗi dòng có cấu hình riêng, bạn mô tả là vào được OS khi mới cái có thể do lỗi update, bạn thử cài lại thử xem, có thể tìm bản khác tương thích với dòng máy của bạn. Nếu lỗi do cấu hình máy phải đọc kỹ các thong số được cảnh báo trên đây https://github.com/sebanc/brunch