윈도우 머신으로 쓰기는 성능이 떨어지고 그렇다고 윈도우를 밀어버리자니 좀 아까워서 USB에 ChromeOS를 설치했습니다. 그런데 설치하고보니 USB 꽂아 놓은게 너무 거추장스럽기도하고 USB 포트가 하나라 키보드/마우스고 뭐고 블루투스 아니면 연결 자체가 불가능합니다. 그럼 어쩔 수 없죠, SSD 손대기 싫으면 SD카드에 ChromeOS를 넣어야지요.
(주의) EFI 파티션과 부트로더를 건드립니다. 윈도우로도 부팅이 안되는 등의 문제가 발생하여도 스스로 해결해야합니다.
목표
- Secure Boot 유지하기(성공)
비활성화후 부팅시 빨간 자물쇠띠가 떠서 안이쁨
- 기존 Windows + ChromeOS 멀티부팅(성공)
- 터치로 선택 가능한 멀티부팅 메뉴(성공)
- 내장 SSD 파티션을 그대로 유지(성공)
목표 달성을 위해 SD카드에 ChromeOS를 설치하고자 하였으나 내장 SSD에 설치해도 파일 하나만 생성되기에 기존 파티션 구조 유지 가능하여 SD카드 사용 안함
사용 툴
- Brunch Framework: ChromeOS 설치용
- WSL2: Brunch Framework 사용에 필요
- SurfacePro4-Brunch-SecureBoot: 터치식 멀티 부팅, Secure Boot 활성화를 위한 부트로더
- MountStorPE: EFI 파티션 마운트용
- Explorer++: EFI 파티션 수정용
- 키보드: MOK management와 터치스크린 작동 이전의 ChromeOS 설정에 필요
요약
1. WSL2 및 필요한 파일 준비
2. ChromeOS 이미지 생성
3. 부트로더 이식 및 설정
4. ChromeOS 및 Brunch Framework 설정
과정
1. WSL2활성화
Windows 기능 켜기/끄기에서 Linux용 Windows 하위 시스템 활성화 후 재부팅
이후 스토어에서 리눅스 설치(저는 우분투 사용했습니다)
2. 비트라커, 최대절전모드, 빠른 시작 해제
3번부터 5번까지 Brunch Framework 윈도우에서 듀얼부팅으로 설치 Install Brunch까지 참고하셔서 진행하면 됩니다
3. 필요한 파일 다운로드
다음 파일 및 프로그램을 준비
- Brunch Framework: https://github.com/sebanc/brunch/releases
- ChromeOS 리커버리 이미지 shyvana(rammus): Brunch Framework install-with-windows 참고
- SurfacePro4-Brunch-SecureBoot: https://github.com/ouija/SurfacePro4-Brunch-SecureBoot Code -> Download ZIP
- MountStorPE
- Explorer++
4. WSL2 준비
ChromeOS 이미지 생성에 필요한 준비작업
(1) pv, cgpt, tar, unzip 설치
sudo apt update && sudo apt -y install pv cgpt tar unzip
(2) 3번에서 준비한 Brunch Framework와 ChromeOS 리커버리 이미지가 있는 폴더로 이동
cd /mnt/c/<c드라이브 내 경로>
(3) Brunch Framework, ChromeOS 리커버리 이미지 압축 해제
tar zxvf <Brunch Framework 파일>.tar.gz
unzip <ChromeOS 리커버리 파일>.bin.zip
5. ChromeOS 이미지 생성
(1) ChromeOS 이미지가 저장될 폴더 생성
mkdir /mnt/c/<이미지가 저장될 폴더>
(2) Brunch Framework로 ChromeOS 이미지 생성
sudo bash chromeos-install.sh -src <ChromeOS 리커버리 파일>.bin -dst /mnt/c/<이미지가 저장될 폴더>/chromeos.img -s <이미지 크기>
<ChromeOS 리커버리 파일>.bin: 4-(3)에서 압축 풀어서 나온 bin 파일입니다
<이미지가 저장될 폴더>: (1)에서 지정한 경로
<이미지 크기>: ChromeOS에서 사용할 용량(최소 14 이상)
(3) 중간에 dualboot 방식으로 사용하겠냐고 물어보면 "dualboot" 입력 후 엔터
다른 컴퓨터에서 생성해서 가져왔을때 ChromeOS로 부팅시 boot partition was not found 오류로 인해 부팅 불가
다른 컴퓨터에서 생성한게 문제인지 ChromeOS 이미지 경로가 바뀐게 문제인지는 확인해보지 않았으니 ChromeOS 이미지 생성 후 위치를 옮기지 말고 서피스에서 처음부터 저장될 위치에 ChromeOS 이미지 직접 생성을 추천
6. 부트로더 이식 및 설정
(주의) 부트로더 손상시 부팅이 안될 수 있습니다.
(1) 다운받은 SurfacePro4-Brunch-SecureBoot 압축 해제
(2) grub 설정
5번에서 지정한 폴더의 chromeos.grub.txt 파일의 menuentry 부분 2개를 복사
EFI/grub/grub.cfg 파일의 menuentry 부분 2개에 덮어쓰기
- timeout: grub 메뉴 선택 제한 시간(어떤 OS로 선택할지는 rEFInd에서 결정하므로 0 추천)
(3) rEFInd 설정(변경할 설정 없으면 통과)
EFI/BOOT/refind.conf 파일 수정
- timeout: 부팅 메뉴 선택 제한 시간
- resolution: 부팅 메뉴 해상도(resolution 0 0으로 설정시 서피스 기본 해상도 사용)
- default_selection: 제한 시간 경과시 자동 선택할 대상(default_selection Microsoft으로 설정시 윈도우)
(4) SurfacePro4-Brunch-SecureBoot를 EFI 파티션에 복사
EFI 파티션은 MountStorPE로 마운트 후 Explorer++로 작업 가능
EFI/Microsoft 폴더는 유지하고 나머지는 덮어쓰기
7. Secure Boot 키 enroll
(1) Secure Boot가 켜진 상태로 재부팅
(2) 파란 화면으로 Secure Boot 에러 -> OK 선택
(3) 아무키나 눌러 MOK management 실행
(4) Enroll key from disk 선택
(5) 키가 있는 디스크 선택 후 ENROLL_THIS_KEY_IN_MOKMANAGER.cer 선택
(6) enroll 후 재부팅하여 부팅 메뉴가 제대로 설치되었는지, 윈도우로 정상 부팅 되는지 확인
8. ChromeOS 설정
서피스 프로 4에 ChromeOS 설치시 터치스크린 작동을 위한 설정 필요
(1) ChromeOS로 부팅 후 초기 설정화면에서 Ctrl+Alt+F2
(2) root로 로그인(암호 불필요)
(3) sudo edit-brunch-config 실행
(4) ipts_touchscreen 옵션 활성화
(5) brunch 설정 끝까지 진행 후 ChromeOS로 재부팅하면 화면 터치 사용 가능
(6) ChromeOS 초기 설정 진행
ChromeOS에서 서피스 프로 4 기능 작동 여부
WiFi: 작동
블루투스: 작동
화면밝기: 작동
터치: 작동(별도 설정 필요)
터치팬: 작동안함
카메라: 작동안함
참고 자료
https://github.com/sebanc/brunch
https://github.com/sebanc/brunch/blob/main/install-with-windows.md#dualboot-installations
https://github.com/sebanc/brunch/blob/main/troubleshooting-and-faqs.md#how-to-use
https://github.com/ouija/SurfacePro4-Brunch-SecureBoot
https://github.com/sebanc/brunch/issues/1499#issuecomment-1088090784
처음 계획은 서피스 프로 4에서 SD카드로 부팅이 안되니 부트 로더만 SSD에 심고 윈도우는 SSD에서 크롬OS는 SD카드에서 부팅하려고 했으나 크롬OS를 SSD에 설치하여도 32기가짜리 파일 하나 추가되는게 전부라 SSD에 설치로 진행하였습니다. 서피스 SSD용량이 256기가라 별로 크지는 않지만 어짜피 용량 많이 먹는걸 멀쩡한 데스크탑/노트북 놔두고 낡은 태블릿으로 할 이유는 없죠.
어쨌든 추노마크보다 더 끔찍한 빨간 자물쇠띠와 USB가 거추장스럽고 여분 USB 포트가 없다는 문제를 해결하면서 SD카드 슬롯 또한 자유를 얻었으니 오히려 더 잘 된것 같네요.