🗃️

VirtualBox: UbuntuホストからDualbootのWindowsをゲストOSで起動する

に公開2

海洋ロボコンをやってた人です。

今回はVirtualBoxを使用して、UbuntuホストでDualbootで既に存在するWindowsをゲストOSで起動する方法を備忘録として書いていきます。

Dualbootの設定はしたものの、CADソフトやMSソフトを使う際に毎度デュアルブートしており、この手間をなんとかしたいと思っていました。

あるきっかけでデュアルブートしているWindowsをUbuntu側から起動できると知ったので試したものを、記していきます。

この影響でWindowsのブート順が変わったり、なにかトラブルが起きた際は自己責任でお願いいたします。
私は今のところ問題なく使用できていますが、責任を一切負いませんのでご了承ください。
あくまでサンプル数1の例だという認識でご活用ください。

修正点等あればご遠慮なくご指摘ください。

以下箇条書きになりますが、何卒宜しくお願い致します。

1. Install VirtualBox

下記から「Linux Distributions」を選択し、debファイルからインストールする。

https://www.virtualbox.org/wiki/Downloads

sudo apt install ./virtualbox-7.1_7.1.8-168469~Ubuntu~jammy_amd64.deb 

2. create vmdk file

まずはvboxusersにグループ追加し、再起動します。

sudo gpasswd -a ubuntu disk
sudo gpasswd -a ubuntu vboxusers
newgrp vboxusers
sudo reboot

その後、.vmdk ファイルを作成(VirtualBoxのrawディスクアクセス用)します。

lsblk -o NAME,MODEL,SIZE,FSTYPE,LABEL,MOUNTPOINT
NAME        MODEL             SIZE FSTYPE  LABEL    MOUNTPOINT
nvme0n1     SOLIDIGM SSDPFK 953.9G                  
├─nvme0n1p1                   100M vfat    SYSTEM   /boot/efi
├─nvme0n1p2                    16M                  
├─nvme0n1p3                 483.2G ntfs    Windows  
├─nvme0n1p4                   1.8G ntfs    Recovery 
└─nvme0n1p5                 468.8G ext4             /

cd ~/.VirtualBox || mkdir -p ~/.VirtualBox && cd ~/.VirtualBox

VBoxManage internalcommands createrawvmdk \
    -filename "nvme0n1.vmdk" \
    -rawdisk /dev/nvme0n1

上図のようになっていればOKです。

次のステップに入る前にアンマウントはしておきましょう。

# アンマウントしておく
sudo umount /dev/nvme0n1p1
sudo umount /dev/nvme0n1p2
sudo umount /dev/nvme0n1p3

3. create new VM

3.1. virtual Machine Name

対称のWindowsバージョンと仮想環境名を設定します。

EFIを有効化(重要)

設定 > システム > マザーボード > 「EFIを有効化」

ストレージ > コントローラに、さきほどの nvme0n1.vmdk を追加

3.2. System setting

メインメモリとEFIを有効化にします。

プロセッサも適切に設定します。 8 CPU以上は動かないという件も見つけましたが、今回は問題ありませんでした。

3.3 Storage

Section 2.で作成した.vmdkを選択します。

3.4. Show Windows VM

仮想環境作成後、Show(表示)で起動してみましょう。

無事表示できました。

3DCADなどはCPU割当量とかを調整すれば、問題なく動きそうですね。(もちろんWindowsのみのBootよりは速度が遅くなりますが)

4. Other setting

このついでに設定しておくべき項目も記載します。

4.1. Screen View

スクリーンサイズの自動調整です。

Devices / Incert Guest Additions CD Image
と進み、DualBoot側のWindowsにゲスト用のソフトをダウンロードします。

インストーラーにしたがってDLして再起動します。

Guest Additionsによって画面がVirtualBoxに応じて動的変化するようになります。

4.2. Languages

Tools / Preferences / Languages から日本語を選択します。

4.3. Setting Security

「Win+R」キーを押して、「ファイル名を指定して実行」ボックスに「services.msc」と入力。

BitLocker Drive Encryption Service を見つけ、BitLockerを自動に設定。

Windows セキュリティ > デバイスセキュリティ > 各項目はONにしておく。

Error Handle

Microsoftアカウントでログインを求められる

メールが初期設定の場合かつコードが届かない場合は一度ログインエラーにしてから、画面を一つ前に戻ると、他のログイン方法を試せる。

PINセットアップに進むと、後で設定するを選べるが結局変わらず。
MSアカウントのPWでログインできるように設定しました。

Boot

ブートがデフォルトWindowsになり、Boot画面でUbuntu / Windows選択ができないため要設定(T.B.D)


以上、Likeいただけると大変励みになりますので、よろしくお願いいたします。

Discussion

ひなひな

これライセンス認証が外れてしまった記憶
があるのですが、その辺りはいかがでしょうか

Takumi AsadaTakumi Asada

To ひな (@hatchi27) 様
コメントありがとうございます。ライセンス認証は問題ありません。
下記を実施またはMSの公式ページをご確認していただけますと幸いです。
①設定 > システム > ライセンス認証 からライセンスの再認証を実施する。
②cmd管理者権限で起動し"slmgr.vbs /ato"コマンドでライセンス認証する。
③認証エラーコードに応じた対応をする。
④設定 > システム > ライセンス認証 > プロダクトキーを変更する から再設定する。