積雲が映像制作したMV『RANGEFINDER』公開中
専門88IO

【Windows on Linux】LinuxのVirtualBoxで物理ディスクのWindow11を起動する

専門

「WSLがあるからLinux端末要らない」みたいな声もあるが、筆者は普段使いのOSがLinuxなのでWindowsが必要になることの方が少ない。

ただ、講義のレポート提出でMicrosoft Officeが必要なときはWindowsに切り替える必要がある。デスクトップPCはWindows11の入ったM.2 SSDとManjaro Linuxの入ったSATA SSDを搭載しているので、今までは再起動してブートデバイスを選択し直す必要があった。

そこでVirtualBoxを使用し、Linux上で別ディスクの既存Windows11を起動できるようにした。本記事では、その方法について記載する。

スポンサーリンク

VirtualBoxのインストール

Arch Wiki 参照。

VirtualBox - ArchWiki

VirtualBoxをインストール

sudo pacman -S virtualbox

モジュールをロード

sudo modprobe vboxdrv

ユーザーに権限を付与

gpasswd -a $USER vboxusers
スポンサーリンク

Windowsのイメージを作成

物理ディスクから仮想イメージを作成するにはVirtualBox付属のVboxManageを使用する。

まず、Windowsのディスク名を取得する。

sudo fdisk -l

筆者の環境では以下の出力が得られ、ディスク名は/dev/nvme0n1であることが分かった。

ディスク /dev/nvme0n1: 232.89 GiB, 250059350016 バイト, 488397168 セクタ
ディスク型式: WDS250G3X0C-00SJG0
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 2326F063-B739-4D5E-A3DB-7302F7D11904

デバイス 開始位置 終了位置 セクタ サイズ タイプ
/dev/nvme0n1p1 2048 1023999 1021952 499M Windows リカバリ環境
/dev/nvme0n1p2 1024000 1228799 204800 100M EFI システム
/dev/nvme0n1p3 1228800 1261567 32768 16M Microsoft 予約領域
/dev/nvme0n1p4 1261568 486992048 485730481 231.6G Microsoft 基本データ
/dev/nvme0n1p5 486993920 488392703 1398784 683M Windows リカバリ環境

次に、以下のコマンドで仮想イメージファイルを作成する。(/dev/nvme0n1の部分は各自の環境に合わせること)。成功すればカレントディレクトリにwindows11.vmdkができる。

VBoxManage internalcommands createrawvmdk -filename ./windows11.vmdk -rawdisk /dev/nvme0n1

VirtualBoxで仮想マシンを作成

「新規」で仮想マシンを作成する。

 

タイプを「Microsoft Windows」に、バージョンを「Windows 11 (64bit)」に設定。メモリーサイズは任意。

ハードディスクは「すでにある仮想ハードディスクファイルを使用する」を選び、先程作成したwindows11.vmdkを追加して指定する。

 

仮想マシンを「作成」。

仮想マシンの設定

 

システム設定で、拡張機能の「PAE/NXを有効化」「ネステッドVT-x/AMD-Vを有効化」にチェック。プロセッサー数は任意。

ディスプレイ設定で、アクセラレーションの「3Dアクセラレーションを有効化」にチェックし、ビデオメモリーを最大値に変更。

仮想マシンの起動

あとはVirtualBoxで仮想マシンを起動すれば、別の物理ディスクにインストールされたWindowsが立ち上がる。Guest Additionディスクを導入すれば、画面解像度も変更できるようになる。

Linux・Windows間で共有するディスクがある場合は、Windowsの高速スタートアップ設定を無効化した方が良い。

コメント

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