タイトルからすでに意味わかりませんが、Hyper-V ServerからHyper-Vを奪うといったい何が残るのか。
それは私にもわかりません。
Hyper-V Server 2019は道楽検証のためにあるOSの一つだとは思っていますが、特徴としてアイドル時のメモリ占有が1GB以下、起動は5秒以下、シェアの広いWindowsカーネル、そして無償というところが最大の魅力でしょう。
モダンWindowsでは最速になるのでは。
Hyper-V Server 2019からHyper-V機能を奪い、Windowsカーネルを持つ超軽量謎サーバーを作ってみようと思ったので記録しました。当然何に使えるかは今後考えていくことではありますが、ドはまり中のMinecraftのJava版サーバーとして稼働させることには成功したので、とりあえず何かに使える姿をお見せするところまで紹介します。
Server Core?知らんな…
インストール機能の確認
まずはインストールしたてのHyper-V Server 2019を用意します。
今回は仮想環境上にインストールしましたが、物理環境上であればNICの問題でハマる可能性があるので、以下を参考に。


PowerShellを起動します。コマンドプロンプトの画面もサーバー起動と同時に立ち上がっていますので、そちらに以下コマンドを入力します。
powershell
プロンプトが変化します。

インストール機能を確認します。
Get-WindowsFeature

Hyper-Vがプリインストールされていることが確認できます。
Hyper-Vアンインストール
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V
再起動を促されるので再起動します。
再起動後、再度PowerShellを起動して、もう一度以下コマンドを実行します。
Get-WindowsFeature

Hyper-Vが無事?にアンインストールされました。
Javaのインストール
Minecraft Javaのサーバーを動かすためにJavaをインストールしていきます。ブラウザもなく、wingetも使えず、自力では取得できないので、別PCを使って、下記URLのJDK21をダウンロードしていきます。msiとexeがありますが、今回exeでインストールできることを確認しています。
https://www.oracle.com/jp/java/technologies/downloads/

ダウンロードしたファイルを、USBメモリなどにコピーしてHyper-V Serverでコマンドを実行します。
.\jdk-21_windows-x64_bin.exe

すると、GUIインストーラが起動しますので、指示通りインストールしていきます。

Javaがインストールされたことを以下コマンドで確認できます。(インストール先がデフォルト設定の場合)
cd 'C:\Program Files\'
dir

この後のパス通しのためにもう一階層下まで確認しておきます。
dir Java

Javaのパス通し
Javaコマンドを毎回フルパスで入力しなくて済むように、パス通しをします。
上の手順で、デフォルトの環境ではJava.exeが下記パス配下であることがわかりました。
C:\Program Files\Java\jdk-21\bin

<インストールフォルダ>\bin\java.exeはここ20年は変わっていない通例です。通例です。
下記コマンドで、現在のパスを確認します。
$env:PATH


上記からは当然Javaのパスは含まれていないことが確認できます。
続いて、Javaのパスを以下コマンドで追加して、直ちに確認します。
$env:PATH += ";C:\Program Files\Java\jdk-21\bin"
$env:PATH


PATHの内容が、Javaのパス追加になっていますので成功です。
定番のバージョン確認で動作確認をします。
java --version


バージョン情報がきちんと返ってくれば動作としても正常です。
ファイアウォールの設定
Minecraft Serverの通信のためにファイアウォールを開けます。
New-NetFirewallRule -DisplayName "Minecraft" -Direction Inbound -LocalPort 25565,25575 -Protocol TCP -Action Allow


Minecraftサーバーデータの移行
下記で構築済みのデータをそのまま持ってきます。「Minecraft」というフォルダに一式入っていますので、USBメモリなどでコピーして、今回のHyper-V ServerのCドライブ直下に配置していきます。




コピーしたMinecraftデータを配置しました。


Minecraftサーバー起動
Windowsに移行した際にすでにバッチファイルを作成済みですので、今回もそれをそのまま実行します。
start.bat




無事に起動しました。
総括
稼働中のパフォーマンスは測っていませんが、とにかく起動とシャットダウンが非常に早いため、再起動も実行してから約5秒でログイン画面に戻ってきます。Hyper-V Server自体が非常に軽く、そのうえでHyper-Vをアンインストールしているので当然だとは思いますが、この速度を体感してしまうと他にも活用したくなってきます。
GUIを入れたりなどしてクライアントWindowsに似せていくアプローチもあるようですが、Javaが入るのなら…とか、「Get-WindowsFeature」のコマンドの結果などを見ていくと、かなりワクワクさせてくれるような機能がちらほら。疑似Server Core環境を無償で手に入れてあれこれ遊べるとなると、これは結構な逸材じゃないでしょうか。
まだ試していないですが、今後はVSSによる差分バックアップについて検証してみようかなと考えています。
コメント