Androidアプリが使える!!USBメモリで持ち運べるChromeOSを作ってみよう!

ChromeOS Flexによって、古いPCを持った多くのユーザーがその恩恵を得られました。ただ、ChromeOS FlexではAndroidアプリを使用することができません。また、インストール用のUSBメモリからもChromeOS Flexは使用できるのですが、別PCに挿して起動すると初期化されてしまうという難点もあります😥 今回は、Androidアプリ(Playストア)が使えてかつUSBメモリで持ち運ぶことのできるChromeOSをインストールしてみます。ChromeOS FlexではなくChromeOSとなります。

今回の内容は最悪PC環境の破壊も考えられるので実施する場合には自己責任でお願いします。

1. 動作環境

今回想定するのは以下の要件を満たしていることが必要です。

  • CPU: 第4世代以降のIntel iシリーズ、Intel N100、 AMD のCPUのRyzenシリーズなど
  • RAM: 最低4GB以上(推奨8GB以上)
  • ストレージ: SSDまたはeMMC 32GB以上(推奨64GB以上)
  • その他: UEFIサポート必須、ネットワーク接続必須

今回は手元に第8世代Intelのi5-8200Y、メモリ8GBのノートパソコンを使用しています。

2. インストールに必要な準備

インストールには、以下のものが必要になります。今回参照させていただいたサイトではLinux Mintというディストリビューションを使用してインストールをするという手順でしたが、自分は手元にUbuntuがインストールされたPCのがあったのでそれを使用している点が大きく異なります。

ただ、Linux MintのUSBを使用する場合、ChromeOSのイメージが4GBを超えるサイズになることもあり、FAT32でフォーマットされたのUSBメモリではファイルを扱えないようです。今後はLinuxMintでの導入は難しいのではないかと感じています。

  • Linux PC(OSのデータのダウンロードやインストールを行うPC、今回はUbuntuを使用します)
  • インストール対象USBメモリChromeOSをインストールするUSBメモリ容量は16GB以上のもの)

今回はこちらのUSBメモリを使用しました。

3. インストール手順

必要ファイルのダウンロード

OSのイメージファイルのダウンロード

まず、ChromeOSのインストールに必要なファイルをダウンロードします。ダウンロードには時間がかかることがあるため、安定したインターネット接続が必要です。以下のサイトからダウンロードします。

chromiumdash.appspot.com

サイトには環境に合わせたコードネームがならんでいますが、そのなかから以下のコードネームでイメージをダウンロードしてください。

バイスコード 説明
rammus 4世代Intel Core iシリーズのCPU、あるいはそれ以降を搭載
samus 3世代Intel Core iシリーズ CPU、あるいはそれ以前を搭載
grunt AMD のCPU搭載

イメージファイルをダウンロードしたらファイル名をリネームして短くしておきます。今回、私はrammusのイメージをダウンロードしたのでrammus_recovery.binとしました。

OSイメージをストレージに書き込むBranchのダウンロード

以下のサイトからChromeOSをストレージに書き込むアプリであるBranchをダウンロードします。ダウンロードファイルは圧縮されているので、展開してOSイメージと同じくChromeOSディレクトに保存します。

github.com

ChromeOSのデータ準備

次に、ChromeOSのインストール用データを準備します。先ほどダウンロードしたファイル群をChromeOSディレクトにコピーします。コピーすると以下のような構成になると思います。

~/ChromeOS
├── chromeos-install.sh
├── efi_legacy.img
├── efi_secure.img
├── rootc.img
└── rammus_recovery.bin

ChromeOSのインストールと初期設定

続いてChromeOSのインストールを行います。この段階では注意深く作業を行うことが重要です。

  1. インターネットに接続し、USBを接続します。
  2. Ubuntuに先ほど作成したChromeOSディレクトに移動します。
  3. 以下のコマンドを実行してChromeOSをインストールします。
# 必要なパッケージのインストール
$ sudo apt update
$ sudo apt install cgpt pv -y
# 以下のディレクトリの場所はそれぞれ合わせてものに変更してください。
$ cd ~/CromeOS
$ sudo bash chromeos-install.sh -src rammus_recovery.bin -dst 【デバイスファイル名】

今回はUSBメモリUbuntu上から/dev/sdbのデバイスファイルとして認識されていたので、こちらを設定します。

(例)USBメモリのデバイスファイルが/dev/sdbと認識されていた場合

$ sudo bash chromeos-install.sh -src rammus_recovery.bin -dst /dev/sdb

バイスファイル名は挿入する順番やOSの環境によって変わるのでlsblkコマンドなどで必ず確認してください。

$ lsblk

作業開始時に「PCのデータをすべて消去する」という警告が表示されます。この警告を了承する場合は「yes」と入力します。(yではなくyesと入力してください)

インストール処理が完了したら、PCを再起動し、ChromeOSの初期設定を行います。この初期設定は、市販のChromebookと同じ流れです。Googleアカウントを使用してログインし、ChromeOS環境のすべての機能をすぐに利用できるようになります。

(注意)SecureBootenableになっていると作成したUSBメモリから起動出来ません。BIOSUEFIなどでSecureBootの設定をdisableに必ず設定してください。

USBメモリからの起動するとBranchのロゴが表示されます

設定に時間がかかりますがChromeOSの設定画面が表示されます

初期設定が終わった状態(別で持っているChromeOSの環境が呼び出されたので、このような状態になっています)

自分のインストールしたバージョンは126でした

問題なくPlayストアが開くのでここからアプリをインストール出来ます

4. 関連動画・参考記事

今回は下記のブログを参考にさせていただきました🙇

smartasw.com

おわりに

USBメモリAndroidアプリ(Playストア)に対応したChromeOSをインストールすることができました。USBメモリで持ち運び可能なメモリが使用できるのはちょっと魅力的で、WindowsUSBメモリで持ち運ぶ、Windows To Goに似た機能かなとも感じます。このインストール作業はには一定の手間がかかりますが、その結果として得られる価値は非常に大きいと思いました。ただ、リスクも伴う作業なので十分にお気をつけください。

ちなみに、このUSBメモリを導入時とは別のPCに挿して起動しても起動は失敗するようです。ただしイメージの初期化なとは行われません。レスキュー用のLinuxの入ったUSBメモリであればどんなPCでも起動できるかなと思いますので、比較するとどっちが便利かは微妙なところです。

/* -----codeの行番号----- */