ChromebookでGoogle Cloud SDK?仮想Windows上のVirtualBox ゲストOSを64bit化?!

2020年11月30日仮想Windows

Google Cloud SDK VirtualBox 64bitゲストOS ネスト化

仮想Windows上のVirtualBoxでは一般的には64bit OSがインストールできませんが、Google Cloud SDKを用いるとVMのネスト化により64bit OS対応が可能です。ChromebookのLinux(Crostini)ターミナルで行う方法を紹介します。

目次

はじめに

AR作品をiOS版のApple Reality Composerで制作してみました。

さらに高度な作業を行う上では、macOSのXcodeに含まれるReality ComposerやmacOSの各種ツールを使いたくなりました。手持ちのMac miniはLate 2012モデルで少々スペック的に辛くなったので、仮想macOSを検討していました。

仮想macOSは予算や操作性で諦めましたが、ローカルPC上のVirtualBoxでCatalinaが動いているYouTube動画を見つけたので、仮想Windows上のVirtualBoxで64bit OSを動かす方法について試してみたので紹介します。

その後の経過

GCPの課金予算を3,000円として2020年11月末までを期限としてGCP上に仮想Windowsのインスタンスを作成して、この上でVirtualBoxとVMware Playerについて検証してきましたが、両者ともゲストOSをインストールして動かすまでに至りませんでした。

そこで、これからはGCPでDockerを使ってゲストOSを動かす方法の検証に移行します。GCPでDockerを使う方法については、少々古いですが以下の記事などを参考にしてください。

仮想WindowsやVirtualBox、VMware Playerなどは今までの知見がありましたが、Dockerは今までに使った経験が無いので、基本的なことからステップアップして作業を進めます。

ですから、実際にゲストOSをインストールして動かす段階に至るまでは時間がかかりますが、適時このブログにて経過を紹介する予定です。

以下の記事については、ChromebookでGoogle Cloud SDKを使って仮想Windowsのネスト化による64bitゲストOSを使う方法について参考にしていただければと思います。

GCP仮想WindowsのVMをネスト化

Google Cloud SDKを使うと、GCP上のVMをネスト化してVirtualBoxで64bit OSを動かすことが可能です。

上記の記事は、Mac上のターミナルを使ってGCP上にLinuxのインスタンスを作った後で、そのインスタンスを元にVMをネスト化したイメージを作ってインスタンスを生成する方法を紹介しています。

私の場合は仮想Windowsを使っているので、仮想Windowsのインスタンスを元にVMをネスト化した仮想Windowsインスタンスを生成したいと考えました。

さらに、私の場合はChromebookをメインPCとして使っているので、ChromebookのLinux(Crostini)ターミナル上でGoogle Cloud SDKをインストールして動かして、GCP仮想WindowsのVMのネスト化を実行したので紹介します。

ChromebookのLinux(Crostini)でGoogle Cloud SDK

Chrome OSを最新版にする

Chrome OSを最新版にアップデートします。

私の場合は、85.0.4183.133版の状態で以下の作業を行いました。

ChromebookにLinux(Crostini)をインストールする

Linux(Crostini)をインストールしておきます。ボタンをワンクリックで以下のようになればOKです。

Linuxターミナルを起動しSDKをダウンロード/インストールする

Linux アプリ」内の「ターミナル」を起動します。Python(Python3)はインストール済みです。

上記はGoogle Cloud SDKの圧縮ファイルをダウンロードしたところです。

Linux用のSDKについては以下のページを参考にしてください。Linux以外のOSで使う場合も左メニューから選べます。

圧縮ファイルの解凍からインストールまでのスクリーンショットは以下です。

このあたりでGoogleアカウントでログインを促されますが、その前にGCP上に新規にプロジェクトを作って元となる仮想Windowsインスタンスも作成しておきます。

私の場合は、すでに「GPU-DAZ-Studio」というプロジェクトを作って主に3DCG用の仮想Windowsを使っていたのでそれを使おうとしましたが、このプロジェクトは使えませんでした。

原因ははっきりとはわかりませんでしたが、結果論で言えば、プロジェクト名に使う文字をすべて小文字にするとOKでした。

GCPで仮想Windowsを使うには

3DCGで使っているNVIDIA仮想Windowsの作り方と使い方は以下の記事を参考にしてください。

今回は一般的な用途の仮想Windowsを作成するので、上記のようなGPU付きのハイスペックである必要はありませんが、用途によってはNVIDIA仮想WindowsでもVMのネスト化は同様に可能です。

新規プロジェクトを作成する

ダッシュボードに行きます。

右上の「新しいプロジェクト」をクリック。

すべて小文字のプロジェクト名を入力して「作成」をクリック。

仮想Windowsインスタンスを作成する

Compute Engine > VM インスタンス」に移動します。

Compute Engineの準備に少々時間がかかりますが、上記の画面になったら「作成」をクリック。

私の場合は、ゾーンは東京よりアメリカの方がなぜかレスポンスが良いので、デフォールトの「us-central1-a」のままにしています。ゾーンはネスト化後のインスタンスの生成時にコマンドオプションで変更が可能です。

VMをネスト化した仮想WindowsインスタンスのVMは後からでもCPU/メモリー(/GPU)を簡単に変更できますが、ブートディスクの容量はここで多めに設定しておくことをオススメします。

私の場合は、ゲストOSに100GB程度割り当てるつもりなので、200GBを設定しました。

作成」をクリック。

ネスト前にはVirtualBoxで32bitOSまでを確認

通常は仮想WindowsのPaperspaceにブラウザーから接続して、そこから.rdpファイルをダブルクリックして「リモートデスクトップ接続」アプリを起動してGCP仮想Windowsに接続しています。

今回は単純な動作確認なので、Androidアプリの「Microsoft Remote Dasktop」を使ってChromebookから直接接続しました。

Windowsパスワードを設定」をクリックしてパスワードをコピーしテキストエディターなどに貼り付けておきます。

外部IP」をコピーしてアプリに貼り付けて接続後に、ログイン時に先ほどコピーしたパスワードを貼り付けて仮想Windowsを開きます。

VirtualBoxをインストールして新規ゲストOSを作成してみました。

32bitOSしかサポートしていないことが確認できました。

VMをネスト化する

ChromebookのLinuxターミナルで最初にイメージを作成します。

次に、そのイメージでVMをネスト化した仮想Windowsのインスタンスを生成します。

ブラウザーのコンソールで確認します。

同様にChromebookから接続して、VirtualBoxでゲストOSを作成してみます。元の仮想Windowsの環境はそのまま移行されているので、VirtualBoxもすでにインストール済みです。

Catalinaはメニューには無いので、64bitを選んで.isoファイルからインストールを試したいと思います。

ネスト化した仮想Windowsのスペックアップ

インスタンス名をクリックして「編集」をクリックして、仮想WindowsインスタンスのVMスペックを必要に応じて上げます。

Intel Haswell 以降」の条件があるので、以下の設定を選びました。

私の場合は「表示デバイスをオンにする」にチェックを入れています。ブラウザーからのChromeリモートデスクトップサイト接続を考慮していますが、過去のことなので今は不要かもしれません。

スペックアップ後に接続してスペックを確認しました。

vCPUの数は確認できませんでしたが、メモリー容量は30GBになっていることが確認できました。

私の場合は、ネスト前の仮想Windowsインスタンスを削除しました。使わなくてもストレージに課金されるのでそれを防ぐという意味です。

まとめ

ゲストOSにCatalinaをインストールして試す方法については、大人の事情でブログ記事では公開を控えます。

姉妹サイト「Chrome 3D」で、XcodeのReality Composerの使い方も含めて100ページ程度のPDFマニュアルにまとめてダウンロード提供する予定です。

ではでは、きらやん

(Visited 75 times, 1 visits today)