ChromeOS と Linux デュアルブートのしかた

前回のつづき。ChromeOS Flexというのが発表されて、クロームブックを購入しなくてもChromeOSが使えるようになる、という内容のことを紹介しました。

retro-dude.hatenablog.com

筆者はそんなニュースを知る由もなく、勝手にChromeOSをインストールしちまう方法を突き進んでいたわけです。

で無事そのインストールが終了したので今回はその方法を紹介しようと思います。

 

 

このサイトのガイドに忠実に従ってステップを完了しました。英語です。

github.comこのサイト、説明がステップごと丁寧によく書いてあって、コレに忠実に従うことで普通にインストールできます。

でも興味があるんだけど、英語がなあ・・・、という方向けに簡単に抄訳しました。

 

 

ChromeOS に必要なハードウェア要件

最初にサポートされているハードウェアのスペックが書いてあるので、これに該当していないアナタは仲間ハズレ!

f:id:retro-dude:20220220024041p:plain

自分は今回Lenovo Thinkpad X230Tを使いましたが、この機種は2012年発表のIntel Core i5-3320MというCPUが搭載されていて、これはいわゆるIvy Bridgeと呼ばれる世代。 SandyBridgeの一つ後の世代なので、オッケー。(上記ではSandy Bridge以降、となってますね)
なので、大体この世代以降のPCなら大丈夫なはず。

retro-dude.hatenablog.com

自分のPCのスペックがよくわからない人はまずPCのモデルナンバー(大抵はノートPCの裏側とかに記載されてるはず)を把握してからググりましょう。

ChromeOSのインストール方法 (Linuxで作業、Windowsで作業) の選択

下の方にスクロールして行くとチョイスが2つ、LinuxでインストールするかWindowsでインストールするか。

f:id:retro-dude:20220220024913p:plain

今回筆者はPOP!_OS上で作業するのでLinuxを選択しました。なので 🐧 Install with Linux をクリック。

ChromeOS インストール形式(USB・シングルブート・デュアルブート)の選択

次のページで更に選択がでてきます。

 

f:id:retro-dude:20220220024721p:plain

USB installationを選択するとPCのディスクをいじらずにUSBメディアにインストールできるので、お試し目的ではこれがベストなチョイスかもしれません。

残り2つはChromeOSだけのPCにするか、既存のリナックスとChromeOSを共存する方法をとるかの選択。

今回筆者はDual Boot Installaitons を選びました。 PC起動時にリナックスかChromeOS どちらを起動するかを選べる仕様です。

LinuxとChromeOS デュアルブートの仕方、詳細

さらにClick to open dual boot guide という部分をクリックするとインストレーションステップが表示されます。

1.必要な条件

最低要件としてルートアクセス、リナックスターミナルの基礎知識等、が挙げられていますが、まあリナックスを使っているユーザーだったらこの辺は問題ナシ、のはず。
インストール先に最低16gbのディスクスペースが必要で、NTFSext4にフォーマットしておく必要があります。
pv, tar, unzip and cgpt のパッケージがインストールされていること(これは後のコマンドで導入可能)
Grub2がインストールされていること。*

 

2.ChromeOSリカバリーファイルのダウンロード

f:id:retro-dude:20220220025738p:plain

ここでChromeOSのイメージをダウンロードするわけですが、自分のPCのCPUのスペックに応じて該当するChromeOSのイメージを選ぶようになっています。 筆者のPCは上記のとおり、Ivy Bridgeの3世代目インテルコアシリーズCPUですので、上記の例で言うと”rammus" というイメージですので、"rammus" をクリック。

するとrammusイメージをバージョンごとにダウンロードできるページにアクセスできるので、必要なバージョンをクリックしてダウンロード。 表示のケースの場合、バージョン98がStableとのことなので、自分は98を選びました。

f:id:retro-dude:20220220025849p:plain

 

3.インストールに必要な他のファイルをダウンロード

f:id:retro-dude:20220220053028p:plain

上記ガイドの"release tab"の部分をクリックするとファイルページ(release tab) にとびます。 最新のバージョンのtar.gzファイルをクリックしてダウンロードする。

 

4.ターミナルをひらく

まず必要なパッケージが導入されているようにする。この場合は apt が使われているが、各ディストロに応じたコマンドを使用する。

sudo apt update && sudo apt -y install pv cgpt tar unzip

場合によってはUniverseというレポジトリの導入が必要とのこと、下記コマンドで実行する。
sudo add-apt-repository universe

 

5.ダウンロードフォルダに移動する

(上記でダウンロードしたファイルがダウンロードフォルダ内にあることが前提)

cd ~/Downloads

 

6.ダウンロードフォルダ内で下記ファイルを解凍する

tar zxvf "brunch_filename".tar.gz  

(上記3.にてダウンロードした実際のファイル名を使うこと、"brunch_filename"と入れ替え)

 

7.同じくChromeOSイメージファイルを解凍する

unzip "chromeos_filename".bin.zip 

(上記2.にてダウンロードした実際のファイル名を使うこと、"chromeos_filename"と入れ替え)

ここまで完了するとフォルダ内に4つの新しいファイルが"brunch archive"から、そしてそれに加えて"recovery bin"というファイルが存在するはず。

 

8.次にインストールするディスクパーティションを決定する

LinuxでもっともポピュラーなパーティションアプリはGpartedでしょうか。 デュアルブートをする場合、既存のディスクに新たにパーティションを設定する作業をできないと、ちっとキビシイ。 例えばウインドウズマシンにあらたにリナックスデュアルブートさせる場合も同じなのですが、USBにリナックスのLiveUSBをダウンロードして、USBからそのLinuxを起動。
そこからGpartedなどディスクマネージメントアプリでPC側のディスクに新しくパーティションを作ることになります。
このコマンドでパーティション一覧が出るそうです。
lsblk -e7
正しいパーティションを選びましょう。

9.パーティションをマウントするため一時的なディレクトリーを作成

mkdir -p ~/tmpmount


10.パーティションをマウント

sudo mount /dev/"part" ~/tmpmount    

("part" の部分は実際のパーティション名にすること)


11.chromeOSイメージをインストール

sudo bash chromeos-install.sh -src ”chromeos_filename.bin” -dst ~/tmpmount/chromeos.img -s ”size”

( "chromeos_filename.bin" は実際のファイル名に置き換えること
"size" は自分がインストールしたいディスクスペースの数字。14(GB)以上から整数で入力する。ただし、上記8.で決定したパーティションより小さい数字でないといけない。たとえばパーティションが50GBで40GBをこのインストールに使いたいならば 40 と入力する。)
実際にインストールが始まるとスクリプトがインストールの確認をしてくるので、続行するには "yes" と入力する。

インストールが始まる。これはディスクに書き込む作業なので、使用環境によるが多少時間はかかる。

インストールの進行中、”GPT Header error" の類が出てくることがあるが、これは無視できる。
また、同じくインストール進行中に"not enough disk space"というメッセージがでてきたら、上記で入力した数字が実際のパーティションに対して大き過ぎる事が原因なので、それより小さな数字を入力し直す必要がある。
なので、パーティションより確実に小さな数字を入力することが重要。

問題なければこれでインストールが完了する。 完了時、別のErrorメッセージが出ていないか留意する。

 

12.Grubの設定
 11.のインストール完了時にGrub boot entry用のスクリプトが表示されるので、その部分をコピーする。(・・・・・・で囲われた部分)"menuentry"という部分が2箇所あるので両方ともコピーすること。

f:id:retro-dude:20220221181458p:plain



13.99_brunch ファイルの作成

/etc/grub.d 内にある40_customファイルをコピーして、99_brunchという名前に名称変更する

sudo cp /etc/grub.d/40_custom /etc/grub.d/99_brunch

 

14.99_brunch ファイルをnano エディターでオープン

sudo nano /etc/grub.d/99_brunch

nanoエディターがインストールされていない場合は次でインストールできる

sudo apt install nano

nanoエディター以外のアプリでもOK.(たとえばvi, geditなど)

 

15.スクリプトをペーストする

上記11.でコピーした内容を14.でオープンしたファイルの一番下の部分(ファイル上には既にコードの書き込みがあるのでその下)にペーストする。 既にファイル上にあるコードの部分は消さないでそのまま残しておくこと。

 

16.ファイルをセーブして、閉じる

nanoエディターの場合は Ctrl + X Y でセーブする。 その後 Enter で確認。

 

17.Grubのアップデートを実行

sudo update-grub

 

18.ディスクのアンマウント
 10.でマウントされたディスクをここまで終わったらアンマウントしておく

sudo umount ~/tmpmount

 

19.Secure Bootがオンの時

Secure Bootがオンになっている場合、secure boot key をダウンロードして下記のとおり実行しておく

sudo mokutil --import brunch.der


20.すべてのステップはこれで終わり

初回起動時は時間がかかることがあるので留意のこと。

自分は初回うまく行かなかった

以上、Brunchオリジナルサイトの抄訳を載せました。

自分はGrub2のアップデートがうまく行かなかったらしく、初回は起動しませんでした。ChromeOSがインストールされたのは確認済みでGrubのアップデート中にエラーが出たので、原因はGrubにあることだけはわかってました。
その後、一旦Grubをアンインストールして、再度インストールし、上記13.にある40_custom ファイルがどうしても見当たらなかったので、ネットで拾ってきて事なきを得ました。(機会があれば詳細をアップデートの予定)

Grubブートメニュー表示のしかた

また起動時にGrubメニューが表示されずにリナックスかChromeOSかどちらかが勝手に起動してしまうことがありますが、そんなときは起動ボタンを押してから、PCブランドのロゴ(スプラッシュ・スクリーン、自分の場合はThinkpadのロゴ)が表示されてから
Shift + Esc を押せばGrubメニューが表示されるはず。

f:id:retro-dude:20220217171902j:plain

以上、簡単に(長いけど)まとめてみました。

ChromeOSに興味がある方に。