virtualbox でubuntuをusbにインストールする

はじめに

仮想環境から直接USBにubuntuをインストールして、UEFIとレガシーに対応したブートをしていこうと思います。

virtualbox を起動する

環境はvirtualbox 6.0.2のEXパック導入済みです。

新規を選択します。

一時的に作成するだけなので、仮想HDDは追加しません。

作成します。

先程作成した仮想マシンの設定を開きます。

ストレージのDVDドライブにubuntuのイメージを選択します。

ubuntuは以下の日本語Remixを使用しました。

https://www.ubuntulinux.jp/download/ja-remix

設定が終わったらokを選択します。

次にインストールするUSBをPCに接続します。

その後に、仮想マシンを起動します。

すると左下にUSBのマークがあるのでこれを右クリックします。インストールするUSBメモリを選択します。

しばらくすると次の画面が表示されます。解像度があれなので、ubuntuを試すを選択します。

しばらくすると次の画面が表示されます。

デスクトップを右クリックをして、端末を開きます。

表示されたウインドウに

ls /dev/sd*

と入力し実行すると、sdaが表示されます。これがUSBです。もし、sdbがあったり、表示され無かった場合は何かがおかしいです。

次に解像度の変更を行います。

電源マークをクリックすると、設定できそうなマークが表示されます。これをクリックします。

デバイスをクリックします。

解像度をお好みで変えます。

作業しやすくなりました。

ubuntuのインストールを起動します。

日本語を選択し、続行します。

グラフィックスとwifi~の欄にチェックを入れ続行します。

それ以外を選択します。

USBが認識されていればここで容量が表示されます。

ここからの作業ではUSBの中身が消えます。

新しいパーティションテーブルを作成します。

きれいになります。

空き領域を選択し、右下の+をクリックします。

UEFIブート領域兼、windowsからUSBメモリとして見ることができる領域を作成します。

今回は6GBとしました。マウントポイントは/boot/efi です。

okを選択します。

次にubuntuの領域を作成します。

先程と同様に空き領域を選択し、+を選択します。

領域の大きさは50GBとし、基本パーティションを選択します。

マウントポイントは/です。

最後に、残りの領域をスワップ領域にします。基本パーティションで作成します。

以下のようなパーティションになったと思います。

SDAにブートローダーをインストールする選択を行い、インストールを選択します。

続行します

東京を選択します

ユーザー名等を入力します。

以下の状態になります。

終わるまで待ちます。

終わりました。仮想マシンの電源を切ります

UEFIブートの設定

作成したUSBをレガシーブートして起動します。インターネットに接続後に、端末から以下のコマンドを実行します。

sudo apt update
sudo apt install grub-efi
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=BOOT

grub-installで最後に警告が出ますが、レガシーブートだとエラーが最後に出ます。

これで次回からuefiブートができます。

(ここだけの話、macでもファームウエア変更無しでブートできます)