[Chrome OS] 크롬 OS 설치 - 하드 디스크에 설치하기

Linux/ChromeOS


이번 포스팅에서는 크롬 OS를 하드 디스크에 설치한 뒤 윈도우와 멀티부팅 환경을 구성해보도록 하겠습니다.

앞서 크롬 OS 설치기에서 잠깐 언급했지만, 하드 디스크에 크롬 OS와 윈도우를 멀티부팅으로 구성한다는 것은 결코 만만치 않습니다. 크롬 OS가 일반 컴퓨터에 설치해 사용할 목적으로 개발된 OS가 아니기에 다른 OS와의 멀티부팅을 전혀 고려하지 않고 개발되었기 때문인데요, 설치를 도와주기 위한 별도의 프로그램도 전혀 개발되지 않은 상태입니다.

크롬 OS 자체에서 하드 디스크에 설치할 수 있는 도구를 제공하고는 있지만 하드디스크 전체를 포맷하고 설치하는 것만 지원하기 때문에 현재 멀티부팅을 위한 유일한 설치 방법은 빌드된 크로미엄 OS 이미지를 하드 디스크에 덮어 씌우는 것뿐입니다.

(크롬 OS 자체 설치기능을 사용하시려면 크롬 OS USB에서 CTRL-ALT-T 키로 CROSH를 열어주시고 SHELL 명령어로 SHELL에 진입하신 뒤, INSTALL 명령어를 사용하시면 됩니다. 단, 하드 디스크를 전체 포맷한뒤 설치하는 것만 지원합니다.)


크롬 OS의 파티션 구조


윈도우와의 멀티부팅없이 크롬 OS만 사용하실 분들은 단순히 Hexxeh의 USB 이미지를 그대로 하드디스크에 기록해 주시면 됩니다. 저사양의 넷북을 이렇게 사용하시는 분들이 계시더군요. 

하지만 윈도우와의 멀티부팅 구성을 생각하고 계신다면 따로 파티셔닝을 하셔서 크롬 OS를 특정 파티션에 기록하셔야 되는데요,

간단하게 크롬 OS 이미지를 드라이브의 처음 부분에 기록한 뒤 남는 부분에 윈도우를 설치할수 있다면 좋겠지만, 문제는 크롬 OS가 오른쪽 그림과 같이 12개의 GPT 파티션으로 구성되어 있다는 것입니다.

윈도우는 MBR 파티션 테이블을 사용하고, MBR 파티션 테이블에서는 최대 4개까지만 주 파티션 생성이 가능하기 때문에 크롬 OS의 12개의 파티션들을 전부 수용할 수 없습니다.

하드 디스크를 GPT 파티션 테이블로 포맷한뒤, 하이브리드 MBR을 사용하는 방법도 있지만 이 경우 관리가 번거로워진다는 불편함이 있어서 저는 크롬 OS의 12개 파티션 중 필요한 파티션만 추출해서 사용하는 방법을 택했습니다. 해외 포럼에서도 대부분 이방법을 사용하네요. (물론 파티션 구조가 최신 빌드와는 다르기 때문에 설치 방법은 다릅니다.)

아무튼 오른쪽의 크롬 OS 파티션 테이블에서 크롬 OS의 구동에 필요한 파티션은 'STATE' 파티션과 'ROOT-A' 파티션입니다. 나머지 파티션들은 경우에 따라 선택적으로 사용되거나 (아마 백업 용도로 사용되는것 같네요.) EFI 시스템에서 사용되는 시스템 파티션입니다.

따라서 이번 포스팅에서 설명할 크롬 OS 설치 방법은 위의 두 파티션을 이미지에서 추출한뒤, 미리 파티셔닝된 드라이브에 기록하는 것으로 진행됩니다.


크롬 OS, 하드 디스크에 설치하기


앞서 설명한 것처럼 크롬 OS를 하드 디스크에 설치하려면 크롬 OS의 이미지 파일에서 STATE 파티션과 ROOT-A 파티션을 추출해서 파티션에 기록해주어야 하는데요, EXT 파티션들로 구성된 GPT 파티션이기 때문에 윈도우 환경에서 작업하기는 좀 불편합니다.

따라서 이번 포스팅에서는 리눅스 환경에서 작업하도록 하겠습니다. 다른 리눅스 배포판을 사용하셔도 무방하지만 저는 가장 무난한 우분투 12.04를 사용하겠습니다. 하드 디스크를 포맷해야하니 라이브 CD/USB를 사용해주세요.

(우분투 12.04의 ISO 이미지는 여기에서 다운로드 하실수 있으며, 라이브 USB에 대해서는 '[리눅스 가이드] LinuxLive USB Creator로 라이브 USB 만들기'를 참고하세요.)



우분투가 부팅되면 먼저 하드 디스크를 포맷합니다. GParted을 실행해주세요. (다른 파티션 프로그램을 사용하셔도 무방합니다.)

(※ 하드 디스크의 모든 데이터가 초기화됩니다. 미리 백업 해주세요.)



앞에서 언급한 대로 크롬 OS의 구동에 필요한 파티션은 'STATE' 파티션과 'ROOT-A' 파티션입니다. STATE 파티션은 유저 데이터, 캐시 등을 보관하는 파티션으로 /home에 마운트되며, ROOT-A 파티션은 크롬 OS를 담고있으며 /에 마운트됩니다.

ROOT-A 파티션은 크롬 OS를 담고있고, 이는 크롬 OS의 특성상 거의 동일한 용량을 차지하므로 많은 공간을 할당하지 않아도 됩니다. 하지만 STATE 파티션은 다운로드 데이터 등 윈도우의 '내 문서' 폴더의 역할을 담당하므로 저는 ROOT-A 파티션에 2GB, STATE 파티션에 4GB를 할당해 주었습니다. 

크롬 OS는 하드 디스크의 첫 번째 파티션을 STATE 파티션으로 인식하며, 만약 첫 번째 파티션이 EXT4 파일 시스템으로 포맷되어 있지 않으면 부팅시 크롬 OS가 손상되었다는 오류를 출력하며 강제로 첫 번째 파티션을 EXT4 파일 시스템으로 초기화 해버립니다.

따라서 하드 디스크의 첫 번째 파티션은 무조건 EXT4 파일 시스템으로 포맷하셔야 하며, 두 번째 파티션은 ROOT-A 파티션으로 사용될 것이므로 EXT2 파일 시스템으로 포맷해 주시면 됩니다.

이 때, 사용될 파티션의 마운트 위치를 기억해 주셔야 합니다. 제 경우는 STATE - /dev/sda1, ROOT-A - /dev/sda2 네요.



설치에 사용될 이미지는 Hexxeh의 Vanilla 빌드 USB 이미지입니다. http://chromeos.hexxeh.net/ 에서 다운로드 해주세요.



이제 다운로드된 이미지에서 파티션들을 추출해 주어야 하는데요, 이를 위해서는 이미지로부터 GPT 파티션 테이블을 읽어야 하기 때문에 GDISK 패키지가 필요합니다.



첨부된 파일은 우분투 12.04용으로 빌드된 GDISK 패키지입니다. 압축을 푸시고 64비트는 gdisk_0.8.1-1build1_amd64.deb을, 32비트는 gdisk_0.8.1-1build1_i386.deb을 실행시켜 주세요. (위의 우분투 다운로드 링크로 다운로드 하셨으면 32비트 DEB을 실행해 주세요.)



DEB 파일을 실행하시면 Ubuntu Software Center가 열립니다. 'Install' 버튼을 클릭해서 설치를 진행해주세요.



gdisk -l ChromeOS*


GDISK를 설치하셨으면 다운로드한 크롬 OS IMG 파일이 있는 곳에서 위 명령어를 실행해주세요. (와일드카드 * 대신 {TAB} 키를 눌러 자동완성하셔도 됩니다.)



위 명령어를 실행시키면 GDISK가 실행되며 크롬 OS IMG 파일 내의 파티션 테이블이 출력되는데요, 여기서 추출할 STATE 파티션과 ROOT-A 파티션의 섹터 번호를 기억해주세요.

업데이트 시 파티션 테이블 구조가 달라질 수도 있기 때문에 꼭 확인해 주셔야 되며, 제 경우 (3674.0.2013_02_07 빌드) 는 STATE 파티션은 2822145 섹터부터 4919296 섹터까지, ROOT-A 파티션은 282625 섹터부터 2822144 섹터까지네요.



sudo dd if=[ChromeOS 이미지 파일명] of=/dev/sda1 skip=2822145 count=4919296
sudo dd if=[ChromeOS 이미지 파일명] of=/dev/sda2 skip=282625 count=2822144


이제 DD 명령어를 사용해서 크롬 OS IMG 파일에서 데이터를 추출해서 파티션에 덮어씌워주시면 되는데요, 'of=/dev/sda1' 부분은 위에서 확인한 파티션 마운트 위치로 바꿔주시고, 'skip=2822145 count=4919296' 부분은 GDISK를 통해 확인한 파티션 섹터 번호로 바꿔주시면 됩니다. [ChromeOS 이미지 파일명] 부분은 ChromeOS를 입력하신뒤 {TAB} 키로 자동완성 해주세요. (와일드카드 * 로는 안됩니다.)


크롬 OS와 윈도우 VISTA/7/8 멀티부팅 환경 구성하기



크롬 OS 설치는 이렇게 끝났습니다. 이제 남은 작업은 부트로더 설치와 윈도우와의 멀티부팅을 구성하는 것인데요, 먼저 윈도우를 남은 파티션에 설치해주세요. 일반 윈도우 설치와 동일합니다. 단, 윈도우가 시스템 예약 파티션을 생성할 경우 추후 관리가 불편해지므로 파티션 작업은 하지 않으시는 것을 추천합니다.



이제 부트로더를 설치합니다. 크롬 OS는 리눅스 커널을 기반으로 하기 때문에 GRUB4DOS를 사용하셔도 무방하지만, 저는 GRUB4DOS의 축약판인 WEE를 사용하겠습니다. (저 컴퓨터에서는 GRUB4DOS를 설치하면 활성화 된 파티션을 읽지 않고 엉뚱한 파티션을 읽어버리더군요... 크롬 OS가 GRUB을 사용하나 봅니다.)

설치는 간단합니다. GRUB4DOS를 설치하는것과 동일하게 Bootice를 실행시킨뒤 'MBR 작업 (M)' 에서 WEE를 선택해 주시면 됩니다.



WEE별도의 2차 부트로더가 존재하지 않으며, 설정파일도 따로 존재하지 않습니다. 전부 MBR에 압축되서 저장되는데요, 따라서 설치시 MBR에 기록될 메뉴를 포함해주셔야 합니다. Bootice의 경우는 'MBR 작업 (M)' 에서 WEE를 선택하고 '설치/설정 (C)' 버튼을 클릭하시면 위와 같이 메뉴를 입력하는 화면이 나타납니다. 원하시는 메뉴를 작성하시고 '디스크에기록' 버튼을 클릭하시면 됩니다.

WEE의 메뉴 작성법은 GRUB4DOS와 매우 유사합니다. 하지만 CHAINLOADER나 KERNEL 명령어를 생략한다는 점이 다른데요, 다른 운영체제의 2차 부트로더를 체인로드하려면 그냥 해당 2차 부트로더의 경로만 적어주시면 됩니다.


timeout 5
default 1

title Microsoft Windows XP
find --set-root /ntldr
/ntldr

title Microsoft Windows Vista/7/8
find --set-root /bootmgr
/bootmgr

title Google Chromium OS
find --set-root /boot/vmlinuz
/boot/vmlinuz root=/dev/sda2 noswap quiet


 저는 이렇게 메뉴를 작성해 주었습니다.

주의하실 점은 3번째 메뉴의 '/boot/vmlinuz root=/dev/sda2 noswap quiet' 에서 'root=/dev/sda2' 부분에 ROOT-A 파티션의 마운트 위치를 지정해주셔야 한다는 것인데요, 기본적으로 sda2로 지정되어있지만 컴퓨터마다 다를 수 있으므로 파티셔닝시의 파티션 주소와 일치하는지 확인해주세요.



위와 같이 설정하시고 재부팅하시면 부팅시 멀티부팅 메뉴가 출력되는 것을 보실 수 있습니다.



이렇게 크롬 OS의 설치 및 윈도우와의 멀티부팅 구성이 끝났습니다.

현재로선 수동으로 이미지를 추출해서 설치하는 방법이 유일한 것 같네요. (물론 리눅스 위에 크롬 OS를 포팅하는 방법도 있지만요 ;;)

참고하셔야 될 것은 크롬 OS는 일반 컴퓨터에 설치할 용도로 개발된 OS가 아니라는 것입니다. 이 방법으로 설치하시더라도 자동 업데이트 등 작동하지 않는 크롬 OS 기능들이 있습니다. 당연히 구글의 지원은 바랄수도 없지요... 

더군다나 이번 포스팅에서 설치에 사용된 이미지는 정식 크롬 OS 이미지가 아닌 개발자용 크로미엄 OS의 이미지입니다. 여러가지 버그들이 존재하고, 정식 크롬 OS와 비교했을때 안정성이 떨어지는 것은 어쩔 수 없지요. 

따라서 이 방법으로 설치하신뒤 나타날 수 있는 여러 문제들은 현재로선 어쩔 수 없습니다. (아무튼 저는 위의 방법으로 설치하고 지금까지 잘 사용하고 있습니다만...) 실사용에는 큰 문제가 없지만 여러 버그가 있다는 것을 염두해 두시고 사용해주세요.


지금까지 설치에 사용된 Hexxeh의 Vanilla 빌드 이미지에는 라이센스 문제로 플래시를 포함한 여러 부가 기능들이 빠져있습니다. 다음 포스팅에서는 이를 수동으로 설치하는 방법을 알아보도록 하겠습니다 ^^