Hyper-V上のWindows11からWSLでUbuntuを動かしてみる(入れ子の入れ子にしたい)
コレがやりたかっただけなのにどうしてこんなに記事が増えているのか。
ここに至るまでにやった事を記事にしたら3つも増えてる不思議。
そして仮想化の入れ子をやります。詳しい記事はあちこちあるので、それらを調べて行った手順をまとめます。
合ってるかどうか、最短かは分かりかねますが、わかりやすい形にはまとめたいと思います。
状態の確認
ゲストOS(仮想化した側)のWindows11で仮想環境が使えるか確認します。
スタートメニューをクリックしたら出てくる、メニューの上の検索窓に「Windowsの機能の有効化または無効化」と入力します。
機能が表示されるので「開く」をクリックして機能のうち「Hyoer-V」について確認します。
標準状態だとここがグレーアウトして選択できなくなっているはずです。この状態だと入れ子の入れ子はできません。
コレを使える様に設定してやります。
設定するのはホスト側、仮想のWindows11を動かしている元のPC側で行います。
仮想マシンの仮想化機能を有効にする
ザックリ手順は以下。順番に行きます。
- ホスト側で仮想化を有効にする仮想マシンを確認する
- ホスト側で仮想マシンの仮想化を有効にする設定をする
ホスト側で仮想化を有効にする仮想マシンを確認する
ホスト側のPCからPowerShellで処理していきます。その際は管理者モードにする必要があります。
メニューからターミナルを起動した後、この位置からメニューが表示できます。
このメニューの「設定」-「プロファイル」-「Windows PowerShell」-「このプロファイルを管理者として実行する」を有効にして保存すれば次回起動時に管理者モードで起動します。設定を戻すには設定を戻してください。
管理者モードで起動すると都度昇格求められてうっとうしいけどそれでないと出来ない事多いからなんとも、なんとも。
さておき。
管理者で起動したら
get-vm
と入力するとホストPCに設定されている仮想マシンの一覧が表示されます。
このリストから有効にしたい仮想マシンの名前(今回は「windows11-wsl」)を確認します。
ホスト側で仮想マシンの仮想化を有効にする設定をする
マシン名を確認したら、そのターミナルで続けて
Set-VMProcessor -VMName "windows11-wsl" -ExposeVirtualizationExtensions $true
と入力します。応答も何もないです。また対象の仮想マシンのStateが「Running」だとエラーになります。一度仮想マシンを止めてからコマンド入力してください。
ゲストOSでWSLをインストールする
これでインストールできる様になるので、ゲストOSでターミナルを起動したら
wsl --install
と入力して完了したら再起動します。権限確認出たら「はい」をクリックしてください。
ゲストOSの再起動が完了したら、スタートメニューから「Ubuntu」をクリックします。
するとターミナルが起動してUbuntuの設定を求められます。
ユーザー名とパスワードを入力すれば使える様になります。
入力が完了するとそのままubuntuが起動します。
これで仮想Windows11のWSLでUbuntuが使える、入れ子の入れ子状態となりました。
おわりに
ちょっとコマンド叩けばすぐ出来る、って事は理解したんですけどね。
こういうコマンドを皆さんどこから仕入れてくるんですかねぇ……。