仮想環境を使って純ChromeOSをUSBメモリにインストールした話。
ChromeOS Flexがリリースされ、手軽に試せるようになったのでUSBブートでセカンドのOSとして使う為に128GBのUSBメモリにChromeOS Flexをインストールしました。そして起動後に事実を知ります。ストレージの領域として使えるパーティションが「4GB程」しか割り当てられておらず、Linuxのインストールが行えません。(最低10GB必要らしい...)パーティションの編集が行えるツールで変更を行いましたが、OSが起動しなくなるトラップも発覚し頭を抱える結果でした。調べたところ別のOSからインストールするという方法があったのですが、インストールをする為に他のOSをUSBブートと言う内容で「インストールの為にわざわざここまでするのかよ」と面倒に感じていました。「だったら仮想環境でやればいいんじゃね?」と閃いたのでやってみる事にしました。
用意する物
・VirtualBox(自分はこれを使いました)
・Xubuntu(非力でも動きます15GBほど仮想環境のストレージを設定しました)
・Brunch(ChromeOSのインストールなどを行う為に使用します)
・ChromeOSのリカバリイメージ(自分はrammusを今回選んでます)
・インストールをするUSBメモリ(USB3.0以降で128GB以上の方が良いかと)
・VirtualBox Extension Pack(VirtualBoxでやる場合にこれを入れないとUSBが認識されません)
VirtualBoxで仮想環境の構築とOSのインストール
始めに仮想でOSを構築します。VirtualBoxに関する設定はぐぐるなりでどうにかしてください。必ずExtension Packのインストールも行ってください。OSは非力な環境でも動くというXubuntuをインストールしました。
BrunchとChromeOSのリカバリイメージのダウンロード
Brunchはここからダウンロードをしてください。展開をするとファイルが4つ入っています。それをデスクトップなどのわかりやすいところにフォルダを作り入れておいてください。次にリカバリイメージのダウンロードです。これがなかなかに厄介でGoogleは公式でダウンロードリンクを公開しておらず入手をするのが面倒だったりします。Chromium Dashというサイトを利用する事でリカバリイメージのダウンロードが行えます。ですが種類が多くてUI的に見づらかったり探し辛かったりディスプレイによってはダウンロードリンクの部分が出ないなど不都合が多いです。
ダウンロードをしたリカバリイメージはzipで圧縮されているので内部のbinファイルを取り出して「rammus_recovery.bin」とファイルをリネームしてください。その後にBrunchのファイルが入ったフォルダにrammus_recovery.binを入れてUSBメモリにファイルをコピーしてください。
install.shのスクリプトを入れておく(オプション)
使用するOS(Xubuntu)にはインストールに必要な物がインストールされてないのでインストールをする必要があります。それをまとめてやれるようにしたスクリプトを自分がいじった奴を公開しておく事にしました。
#!/bin/sh
sudo apt-get update
sudo apt-get install zenity
sudo apt-get install pv
sudo apt-get install cgpt
sudo bash chromeos-install.sh -src rammus_recovery.bin -dst /dev/sda
Xubuntuにはzenityが入ってないのでそれを加えてます。あと無駄過ぎる部分を削ってます。ファイル名はinstall.shにするといいでしょう。「こんなスクリプトなんていらねぇ、自分で入れるのやれるわ」って人はスルーでいいです。必要な人はこれもUSBメモリにコピーしておいてください。
VirtualBoxでOSの起動
VirtualBoxでOSを起動します。起動後にUSBメモリを差し込むと仮想側がUSBメモリを認識するはずです。認識をした後は先ほどUSBメモリにコピーをしたファイルを仮想のOS側にコピーします。(仮想側の容量をケチっているとコピー時に容量不足でエラーを吐くので注意しましょう)
スクリプトの実行でインストールを開始する
ターミナルを実行しコマンドを入力します。
sudo sh install.sh (まとめてインストールする奴で実行する場合)
sudo bash chromeos-install.sh (Brunch内のスクリプトを実行する場合)
実行をするとChromeOSのインストールウィザード(Brunch)が開かれ、インストールを開始し始めるはずです。デュアルブートのオプションもありますが、今回はUSBメモリにChromeOSのみのインストールなのでスルーします。インストールの処理が終わったあとはUSBメモリを抜いてOKです。
仮想環境で作成したChromeOSのUSBメモリをブートする
ついにここまでこぎ着けました。ここでBIOS(UEFI)を起動し、セキュアブートを無効にしておきます。これをしないと起動ができません。設定後にF12などでブートの選択画面を開き、インストールをしたUSBメモリを選ぶとBrunchのブート画面が表示され、初期設定(時間がかかる)が実行されるはずです。起動をしない場合は設定の見直し、ChromeOSの入れ直しなどを行ってみてください。
純ChromeOSが起動した!!
起動後はGoogleアカウントなど初期設定をやってください。過去にChromeOSを使っている人は同期されたデータを復元して、同じ環境に戻してくれたりもします。FlexじゃないのでGooglePlayも入っています。容量もしっかりと開放しているのでUSBメモリ単体でLinuxのインストールもOKです。
一回この環境を構築しておけばWindowsやMacの環境下でも簡単にインストールをする状態が維持できるでしょう。今後は外付けのSSDで挑戦しようかと思っています。
【追記】
USBメモリ型な外付けSSDにChromeOSをインストールしてみました。SSDだけにUSBメモリとは桁違いなレベルで動作は快適かつ、OSのブートが速くなったりと恩恵は大きいと言える結果でした。Linuxのインストールもかなり速かったです。安定をしたUSBブートをさせたいなら外付けSSDを推奨します。