2/2 ChromeOS FlexをMacBook Air 2011でライブブート

前回に続きまして、MacBook Air mid 2011 (4GB)モデルでChromeOS FlexをUSBからライブブートした話です。今回は前回よりも技術的に濃い話を集めました。もっと一般的な話は前回のポストをどうぞ。

小技: ライブブートした時のストレージ容量を増やす

ChromeOS Flexをライブブートした場合の問題の一つは、OSのアップデートが受け取れないことです。USBメモリー上のファイルが自動的にアップデートされればライブブートだけで永続的に使っていけるのですが、そのような使い方はサポートされていません。

もうひとつの問題が、デフォルトでユーザーが使えるUSBメモリ上のストレージ容量が数GBと小さいことです。 これはUSBメモリの実際の容量に関係なく小さく固定されています。 大きなUSBメモリを使えば容量が多量に余ることになりますが、余った容量をライブブートしたChromeOSから利用することはできません。

Linuxが動くPCが手元にあれば、これを解決できます。USBメモリをLinuxつなげて、以下のコマンドを実行、 その後ChromeOSをpowerwash してください。

$ sudo growpart /dev/sdX 1 (1の前にスペース)
$ sudo resize2fs /dev/sdX1
$ sudo e2fsck -f /dev/sdX1

sdXは実際にはsdaとかsdbなどのデバイス名で、USBメモリに対応するデバイスを選んでください( デバイスファイルの話がよく分からない場合は、危険ですので実行しないでください ) なおgrowpartがコマンドにない場合はcloud-guest-utilsからインストールできます。

その後ライブブートしてChromeOSのpowerwash(初期化)を実行します。私の環境では再起動後Filesのプルダウンメニューから確認すると、USBメモリの残り容量すべてがストレージとして認識されました。

さらに小技: grub.cfg編集で開発者モードを有効に

同じ様なLinuxを使った編集で、ChromeOSを開発者モードで起動することができます。USBメモリの/dev/sdX12をマウントすると、grub.cfgが見つかります。何行かあるカーネル起動のオプションのすべての行にcros_debugを加えてください。修正後ライブブートすればcroshでshellと入力して、シェルを起動できます。

ライブブートでLinux開発環境の有効化(crostini)は不可能か?

先に説明したストレージの大容量化はChromeOS上でLinux開発環境の有効化(crostiniと呼ばれる仮想化技術)を試したくて行ったのですが、ストレージ容量を大きくしてもLinuxを有効化することはできませんでした。

有効化(Linux開発環境をオンにする)のボタンをクリックすると、何かのダウンロードが始まっているように見えるのですが、しばらくするとエラーが発生して「再読み込み」を要求されますが、何度再読み込みしても結果が変わらないループにはまります。

ネット上にはcrostini-use-dlcのflagをdisableすればよいという情報もあるのですが、このflagは既に廃止されているようです。

chromeブラウザ上で file:///var/log/messages をみるとOSのログを確認できるのですが、何かのイメージファイルのハッシュが適合しない、というようなエラーが出ていました。mac側にきちんとインストールしてアップデートをかければハッシュが適合して、イメージのダウンロードまではいけるのかもしれません。

ただしここにあるように、SpectreおよびMeltdownの脆弱性を持つCPUの場合crostiniは使えないとあるので、イメージがダウンロードできたからといって必ずcrostiniが動くとは限りません。この制限はその後緩和されたという話もあるのですが、インストールすればcrostiniが使えるかどうかは今のところ分からずじまいです。

macの移行先としてChromeOS Flexは最適か?

要はユーザーの使い方によって結論は変わってくるでしょう。YoutubeとGmailとウェブと、後はGoogle DriveかMSのone driveでドキュメントが作れれば十分、という人には間違いなくChromeOSはおすすめです。SMBでファイル共有もできるようですし、Secure Shellというchromeの拡張機能でsftpでファイルマウントもできました。ターミナルで他のサーバーにログインして作業がしたい場合も(日本語切り替えに難があることをのぞけば)普通にターミナルが使えます。

私にとっての問題はmsのremote desktopが使えないことで、crostiniが使えていればLinux用のクライアントで問題が解決できるようでした。ChromeOSをインストールすればcrostiniが使えると分かっているならインストールを考えても良いのですが、使える確証が事前に欲しいところです(ちなみにChromeOSはデュアルブートをサポートしていません)

他の移行の選択肢としては普通にubuntuとかでしょうか? 結局そのうち全部試すことになりそうです(笑)

追記

この記事の内容はもともと10/16に別の記事としてポストされたものですが、時間が経過してもサーチエンジンに登録されませんでした(原因不明)。そのため一部修正し、新たな記事としてここに再ポストします。

コメント

タイトルとURLをコピーしました