Windows環境でのVirtualBoxとFreeBSD仮想マシンのセットアップ
【概要】
Windows 11上にVirtualBoxとFreeBSD 15.0-RELEASE仮想マシンをコマンド操作で構築する手順を説明する。GUI操作を用いず、コマンドプロンプトで実行するコマンド列により、同じ構成の仮想マシンを再現できる。
構築は3つのステップで行う。ステップ1ではwingetによりVirtualBoxをインストールし、ステップ2ではVBoxManageコマンドでCPU・メモリ・ストレージなどを設定して仮想マシンを作成し、bsdinstallのスクリプト機能(installerconfig)を組み込んだカスタムISOによりFreeBSDを無人インストールする。ステップ3ではGuest Additionsのインストールとロケール・日本語フォントの設定を行う。
前提として、管理者権限、30GB以上の空きディスク容量(ISOファイル約1.4GBと仮想ハードディスク最大20GB)、4GB以上の空きメモリ、およびカスタムISOの作成に用いるWSLが必要である。Hyper-Vが有効な環境では、VirtualBoxはWindowsハイパーバイザプラットフォーム経由で動作し、実行速度が低下することがある。
本ページの記述はVirtualBox 7.2系(2026年7月時点の最新版は7.2.14)とFreeBSD 15.0-RELEASE(2025年12月2日公開)を対象とする。
取り組み内容
- スクリプトを実行し、仮想マシンを作成する。
VBoxManage showvminfoで設定値を確認する。
用語
- winget:Windows標準のパッケージマネージャー。コマンドラインからソフトウェアのインストール・管理ができる。
- VBoxManage:VirtualBoxのコマンドラインインターフェース。GUIを使わずに仮想マシンを管理できる。
- Extension Pack:VirtualBox本体に機能(USB 2.0/3.0対応、ディスク暗号化など)を追加する拡張パック。Oracleの評価・個人利用・教育利用ライセンス(PUEL)で配布されており、業務利用には別途ライセンスが必要である。
- Guest Additions:ゲストOS(仮想マシン側のOS)に入れる追加ソフト。時刻同期やゲストプロパティの提供などの統合機能を有効にする。FreeBSDではパッケージとして提供される。
- 無人インストール(unattended install):あらかじめ指定した設定でOSのインストールを自動で進める方式。FreeBSDでは、インストールメディアの
/etc/installerconfigに置いた設定ファイルをbsdinstallが起動時に自動実行する。 - installerconfig:ディスク構成やインストールする配布物を指定するプリアンブルと、インストール後に
chroot環境で実行されるセットアップスクリプト(#!行以降)からなる。 - xorriso:ISOイメージの編集ツール。既存のISOにファイルを追加できる。
- wheelグループ:FreeBSDで
suによるroot権限取得が許可されるグループ。VirtualBoxのゲスト機能を利用するユーザーもこのグループへの所属が必要である。
ステップ1・ステップ2・ステップ3の構成
ステップ3:ゲストOS環境の構築(3章)
Guest Additions による統合 + ロケールと日本語フォントの設定
─────────────────────────────────────────
ステップ2:仮想マシンの作成と FreeBSD のインストール(2章)
VBoxManage による仮想マシンの構成 + bsdinstall による無人インストール
─────────────────────────────────────────
ステップ1:VirtualBox のインストール(1章)
winget による VirtualBox のインストール
─────────────────────────────────────────
【その他情報】
| 項目 | 内容 |
|---|---|
| 目的 | コマンドラインによる仮想環境構築の自動化 |
| 使用ツール | winget(パッケージ管理)、VBoxManage(VM管理)、xorriso(ISO編集)、SSH(ゲストOS操作) |
| 構築環境 | VirtualBox 7.2系 + FreeBSD 15.0-RELEASE(メモリ4GB、ストレージ20GB、Xorg を含まない構成) |
| 前提 | Windows 11(64bit)、管理者権限、30GB以上の空き容量、WSL(xorriso の実行環境) |
【目次】
【サイト内の関連情報】
- Windows の基本操作・コマンド操作・設定と、アプリ・開発環境・ローカル AI の導入
- Linux基本コマンドとその活用法:別ページで説明
1. ステップ1:VirtualBox のインストール
1.1 インストール
管理者権限でコマンドプロンプトを起動する
(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。
次のコマンドを実行する。Extension Pack は VirtualBox 本体と同一バージョンのものを取得する。
REM VirtualBox をシステム領域にインストール
winget install --scope machine --id Oracle.VirtualBox -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements
REM VBoxManage のパス設定(システム環境変数に永続化)
powershell -NoProfile -Command "$p='C:\Program Files\Oracle\VirtualBox'; $c=[Environment]::GetEnvironmentVariable('Path','Machine'); if((Test-Path $p) -and $c -notlike \"*$p*\"){[Environment]::SetEnvironmentVariable('Path',\"$p;$c\",'Machine')}"
REM 現在のセッションにも反映
set "PATH=C:\Program Files\Oracle\VirtualBox;%PATH%"
REM VirtualBox Extension Pack をインストール(本体と同一バージョンを取得)
for /f "tokens=1 delims=r" %a in ('VBoxManage --version') do set "VBOX_VER=%a"
set "EXTPACK_URL=https://download.virtualbox.org/virtualbox/%VBOX_VER%/Oracle_VirtualBox_Extension_Pack-%VBOX_VER%.vbox-extpack"
set "EXTPACK_FILE=%TEMP%\Oracle_VirtualBox_Extension_Pack-%VBOX_VER%.vbox-extpack"
curl -fL --retry 3 -o "%EXTPACK_FILE%" "%EXTPACK_URL%"
echo y | VBoxManage extpack install --replace "%EXTPACK_FILE%"
del "%EXTPACK_FILE%"
上記はコマンドプロンプトに直接入力する形式である。バッチファイル(.bat)に保存して実行する場合は、for の変数を %a や %i から %%a、%%i に書き換える。echo y は Extension Pack のライセンス条項(PUEL)への同意に対する応答である。
1.2 インストールの確認
- VirtualBox 本体の確認
<バージョン>r<リビジョン>の形式で表示されれば、本体がインストールされ、パスも通っている。VBoxManage --version
- Extension Pack の確認
インストール済みの拡張パック一覧が表示される。Usable が true であれば利用可能である。
VBoxManage list extpacks
2. ステップ2:仮想マシンの作成と FreeBSD のインストール
VBoxManageのオプションでCPU・メモリ・ストレージ・ネットワークなどを設定し、FreeBSD仮想マシンを作成する。FreeBSDのインストールには、installerconfigを含むカスタムISOを用いる。
2.1 VBoxManage modifyvm 主要オプション
| オプション | 設定内容 | 本スクリプトの値 |
|---|---|---|
--memory |
RAMサイズ(MB) | 4096 |
--cpus |
CPU数 | 2 |
--vram |
ビデオメモリ(MB) | 128 |
--firmware |
ファームウェア種別 | efi |
--paravirt-provider |
準仮想化プロバイダ(ゲストとホストの連携方式) | default |
--graphicscontroller |
グラフィックコントローラ | vboxsvga(FreeBSD ゲストで Guest Additions を用いる構成での設定) |
2.2 ストレージ構成とネットワーク構成
仮想マシン
├── SATA Controller(IntelAhci)
│ └── Port 0: 仮想HDD(20GB, VDI形式)→ ゲストからは ada0 として見える
└── IDE Controller(PIIX4)
└── Port 0: DVDドライブ(FreeBSD カスタムISO → 空)
ネットワークはNATモードとし、ホストのポート2222をゲストのポート22(SSH)に転送する。ホストからの操作はこのSSH接続を通して行う。NICは 82540EM を指定するため、ゲストからは em0 として見える。
2.3 installerconfig の作成
bsdinstallが参照する無人インストール用スクリプト(installerconfig)を作成する。以下の内容を %USERPROFILE%\VirtualBox VMs\ISO\installerconfig として保存する。
PARTITIONS="ada0 gpt"
DISTRIBUTIONS="kernel.txz base.txz"
#!/bin/sh
# ネットワーク設定
sysrc ifconfig_em0="DHCP"
sysrc sshd_enable="YES"
dhclient em0
# タイムゾーン設定(ハードウェアクロックは UTC に設定している)
cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# ユーザー作成(wheel グループへ所属、-h 0 で標準入力からパスワードを設定)
echo "changeme" | pw useradd -n myuser -m -G wheel -s /bin/sh -h 0
# SSH の root ログインを無効化
sed -i "" 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
# pkg の初期化
env ASSUME_ALWAYS_YES=YES pkg bootstrap -f
# sudo のインストールと wheel グループへの権限付与(パスワード入力不要)
env ASSUME_ALWAYS_YES=YES pkg install -y sudo
echo '%wheel ALL=(ALL:ALL) NOPASSWD: ALL' > /usr/local/etc/sudoers.d/wheel
chmod 0440 /usr/local/etc/sudoers.d/wheel
# loader.conf 設定
cat << EOF >> /boot/loader.conf
autoboot_delay="3"
hw.efi.poweroff="0"
EOF
shutdown -p now
chroot 環境で実行されるセットアップスクリプトの段階では、インストール先システムのサービスは起動していないため、pkg の実行に必要なネットワークは dhclient em0 で確保している。hw.efi.poweroff="0" は、UEFIのランタイムサービスではなくACPI経由で電源断を行う設定であり、shutdown -p で電源が切れない場合の対処になる。ユーザー myuser のパスワードは changeme である。インストール後に passwd コマンドで変更する。
2.4 カスタムISOの作成と仮想マシンの作成
コマンドプロンプトを起動する
(手順:Windowsキーまたはスタートメニュー → cmd と入力)。
カスタムISOの作成にはxorrisoを使用する。xorrisoはWindowsネイティブバイナリが提供されていないため、WSLのUbuntu環境で sudo apt-get install -y xorriso を実行しておき、そこから呼び出す。次のコマンドを実行する。
REM FreeBSD 15.0-RELEASE ISO ダウンロード設定
set "ISO_URL=https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/15.0/FreeBSD-15.0-RELEASE-amd64-disc1.iso"
set "ISO_DIR=%USERPROFILE%\VirtualBox VMs\ISO"
set "ISO_FILE=%ISO_DIR%\FreeBSD-15.0-RELEASE-amd64-disc1.iso"
set "CUSTOM_ISO=%ISO_DIR%\FreeBSD-15.0-custom.iso"
set "INSTALLERCONFIG=%ISO_DIR%\installerconfig"
REM ISOディレクトリ作成
if not exist "%ISO_DIR%" mkdir "%ISO_DIR%"
REM ISOファイルが存在しない場合のみダウンロード(約1.4GB)
if exist "%ISO_FILE%" (
echo FreeBSD 15.0-RELEASE ISO は既に存在します:%ISO_FILE%
) else (
echo FreeBSD 15.0-RELEASE ISO をダウンロード中...
curl -fL --retry 3 -C - -o "%ISO_FILE%" "%ISO_URL%"
)
REM SHA256 の確認(配布元の CHECKSUM.SHA256-FreeBSD-15.0-RELEASE-amd64 の値と照合)
certutil -hashfile "%ISO_FILE%" SHA256
REM installerconfigが存在することを確認
if not exist "%INSTALLERCONFIG%" (
echo installerconfig が見つかりません:%INSTALLERCONFIG%
)
REM カスタムISOの作成(WSL上のxorrisoを使用。ブートイメージは元のISOのものを保持)
copy "%ISO_FILE%" "%CUSTOM_ISO%"
powershell -NoProfile -Command "wsl xorriso -boot_image any keep -dev $(wsl wslpath -u '%CUSTOM_ISO%') -map $(wsl wslpath -u '%INSTALLERCONFIG%') /etc/installerconfig"
REM ISO内への配置を確認
wsl xorriso -indev $(wsl wslpath -u "%CUSTOM_ISO%") -lsl /etc
REM 仮想マシン設定
set "VM_NAME=FreeBSD15"
set "VM_DIR=%USERPROFILE%\VirtualBox VMs\%VM_NAME%"
set "VDI_FILE=%VM_DIR%\%VM_NAME%.vdi"
set "MEMORY_MB=4096"
set "STORAGE_MB=20480"
set "USER_NAME=myuser"
set "SSH_HOST_PORT=2222"
set "SSH_GUEST_PORT=22"
REM ホストキーの警告・エラーを回避するためのSSHオプション
set "SSH_OPTS=-o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL"
REM 同名VM存在確認
VBoxManage showvminfo "%VM_NAME%" >nul 2>&1
if not errorlevel 1 (
echo 仮想マシン "%VM_NAME%" は既に存在します
echo 削除する場合: VBoxManage unregistervm "%VM_NAME%" --delete
)
REM 仮想マシンディレクトリ作成
if not exist "%VM_DIR%" mkdir "%VM_DIR%"
REM 仮想マシン作成・登録
VBoxManage createvm --name="%VM_NAME%" --ostype=FreeBSD_64 --register --basefolder="%USERPROFILE%\VirtualBox VMs"
REM 基本設定(メモリ4GB, CPU2コア)
VBoxManage modifyvm "%VM_NAME%" --memory=%MEMORY_MB% --cpus=2 --ioapic=on --acpi=on
REM グラフィック設定
VBoxManage modifyvm "%VM_NAME%" --vram=128 --graphicscontroller=vboxsvga
REM ファームウェア設定(EFI)
VBoxManage modifyvm "%VM_NAME%" --firmware=efi
REM パフォーマンス設定
VBoxManage modifyvm "%VM_NAME%" --paravirt-provider=default --nested-paging=on
REM 入力デバイス設定
VBoxManage modifyvm "%VM_NAME%" --mouse=ps2 --keyboard=ps2
REM ネットワーク設定(NAT / Intel PRO/1000)
VBoxManage modifyvm "%VM_NAME%" --nic1=nat --nic-type1=82540EM --cable-connected1=on
REM SSHポートフォワーディング設定(ホスト2222 → ゲスト22)
VBoxManage modifyvm "%VM_NAME%" --nat-pf1="ssh,tcp,,%SSH_HOST_PORT%,,%SSH_GUEST_PORT%"
REM オーディオ設定
VBoxManage modifyvm "%VM_NAME%" --audio-enabled=on --audio-driver=default --audio-controller=hda --audio-out=on
REM クリップボード・ドラッグ&ドロップ共有
VBoxManage modifyvm "%VM_NAME%" --clipboard-mode=bidirectional --drag-and-drop=bidirectional
REM USB設定(EHCI は Extension Pack が必要)
VBoxManage modifyvm "%VM_NAME%" --usb-ohci=on --usb-ehci=on
REM RTC設定(時計をUTCで扱う)
VBoxManage modifyvm "%VM_NAME%" --rtc-use-utc=on
REM 仮想ハードディスク作成(20GB)
VBoxManage createmedium disk --filename="%VDI_FILE%" --size=%STORAGE_MB% --format=VDI --variant=Standard
REM SATAコントローラ作成・ハードディスク接続
VBoxManage storagectl "%VM_NAME%" --name="SATA Controller" --add=sata --controller=IntelAhci --bootable=on
VBoxManage storageattach "%VM_NAME%" --storagectl="SATA Controller" --port=0 --device=0 --type=hdd --medium="%VDI_FILE%"
REM IDEコントローラ作成・DVDドライブ接続(カスタムISOを使用)
VBoxManage storagectl "%VM_NAME%" --name="IDE Controller" --add=ide --controller=PIIX4
VBoxManage storageattach "%VM_NAME%" --storagectl="IDE Controller" --port=0 --device=0 --type=dvddrive --medium="%CUSTOM_ISO%"
REM ブート順序設定
VBoxManage modifyvm "%VM_NAME%" --boot1=dvd --boot2=disk --boot3=none --boot4=none
REM 仮想マシン起動(installerconfigによる無人インストールが開始される)
VBoxManage startvm "%VM_NAME%" --type=separate
echo 無人インストールが開始されました
インストールの進行状況は、別ウィンドウで開く仮想マシンの画面で確認できる。installerconfig の末尾で shutdown -p now を実行しているため、インストールが完了するとVMは電源オフとなる。
2.5 インストール完了の待機とSSH鍵の登録
VBoxManage list runningvms の出力に FreeBSD15 が現れなくなった時点がインストール完了である。その後、DVDドライブからISOを取り外し、ディスクから起動する。公開鍵の登録時に一度だけ、ゲストOSのパスワード(changeme)の入力を求められる。
コマンドプロンプトを起動する
(手順:Windowsキーまたはスタートメニュー → cmd と入力)。
REM === 変数の設定 ===
set "VM_NAME=FreeBSD15"
set "USER_NAME=myuser"
set "SSH_HOST_PORT=2222"
REM ホストキーの警告・エラーを回避するためのSSHオプション
set "SSH_OPTS=-o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL"
REM 完了確認(FreeBSD15 が一覧から消えるまで繰り返す)
VBoxManage list runningvms
REM DVDドライブからISOを取り外し
VBoxManage storageattach "%VM_NAME%" --storagectl="IDE Controller" --port=0 --device=0 --type=dvddrive --medium=emptydrive
REM ブート順序をディスク優先に変更
VBoxManage modifyvm "%VM_NAME%" --boot1=disk --boot2=none --boot3=none --boot4=none
REM 仮想マシン起動
VBoxManage startvm "%VM_NAME%" --type=separate
REM === SSH ポートが応答するまで待機 ===
echo SSH ポートを待機中 ...
powershell -NoProfile -Command "$port=%SSH_HOST_PORT%; for($i=1; $i -le 180; $i++){ if(Test-NetConnection -ComputerName '127.0.0.1' -Port $port -InformationLevel Quiet){ Write-Host 'SSH ポートが応答しました'; exit 0 }; Write-Host 'SSH 未応答 ... 10 秒待機します'; Start-Sleep -Seconds 10 }; exit 1"
echo === 動作確認 ===
VBoxManage list vms
VBoxManage showvminfo "%VM_NAME%" | findstr /C:"Memory size" /C:"Number of CPUs" /C:"Firmware" /C:"VRAM size"
確認すべき出力項目:
- Memory size: 4096MB
- VRAM size: 128MB
- Firmware: EFI
- Number of CPUs: 2
3. ステップ3:ゲストOS環境の構築
FreeBSDのインストール完了後、Guest Additionsによるホストとゲストの間の統合と、ロケール・日本語フォントの設定を行う。ゲスト側の sudo は installerconfig の設定によりパスワード入力を要しない。
3.1 Guest Additions のインストール
Xorg を含まない構成のため nox11 版のパッケージを使用する。この構成で有効になるのは、時刻同期やゲストプロパティの提供などのサービス機能である。クリップボード共有やウィンドウサイズの自動調整は、VBoxClient が動作するX11環境で機能する。これらの機能を利用するユーザーは wheel グループに所属している必要があり、myuser は installerconfig で wheel に所属させている。
コマンドプロンプトを起動する
(手順:Windowsキーまたはスタートメニュー → cmd と入力)。
set "VM_NAME=FreeBSD15"
set "USER_NAME=myuser"
set "SSH_HOST_PORT=2222"
REM ホストキーの警告・エラーを回避するためのSSHオプション
set "SSH_OPTS=-o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL"
REM Guest Additions のインストール(VirtualBox 7.2 系のパッケージ)
ssh %SSH_OPTS% -p %SSH_HOST_PORT% %USER_NAME%@localhost "sudo pkg install -y virtualbox-ose-additions-nox11-72" <nul
REM Guest Additionsサービスの有効化
ssh %SSH_OPTS% -p %SSH_HOST_PORT% %USER_NAME%@localhost "sudo sysrc vboxguest_enable=YES vboxservice_enable=YES" <nul
REM 再起動(ゲストOS側から shutdown -r を実行する)
ssh %SSH_OPTS% -p %SSH_HOST_PORT% %USER_NAME%@localhost "sudo shutdown -r now" <nul
REM === 再起動後の SSH 接続待機 ===
timeout /t 30 /nobreak
set "SSHGA_DONE=" & for /L %i in (1,1,60) do @(if not defined SSHGA_DONE (timeout /t 10 /nobreak >nul & ssh -o BatchMode=yes -o StrictHostKeyChecking=no -o ConnectTimeout=5 -p %SSH_HOST_PORT% %USER_NAME%@localhost "echo SSH_OK" <nul 2>nul | findstr "SSH_OK" >nul && (echo Guest Additions インストール済みの VM が起動しました & set "SSHGA_DONE=1") || (echo SSH 未応答 ... 10 秒待機します)))
REM インストールの確認(サービスの稼働を確認する)
ssh %SSH_OPTS% -p %SSH_HOST_PORT% %USER_NAME%@localhost "service vboxservice status" <nul
3.2 日本語環境の構築
ロケールと日本語フォントを設定する。ロケールは /etc/login.conf にログインクラスを追加し、ユーザーをそのクラスに所属させることで設定する。
コマンドプロンプトを起動する
(手順:Windowsキーまたはスタートメニュー → cmd と入力)。
set "VM_NAME=FreeBSD15"
set "USER_NAME=myuser"
set "SSH_HOST_PORT=2222"
REM ホストキーの警告・エラーを回避するためのSSHオプション
set "SSH_OPTS=-o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL"
REM 日本語フォントのインストール
ssh %SSH_OPTS% -p %SSH_HOST_PORT% %USER_NAME%@localhost "sudo pkg install -y ja-font-std ja-font-vlgothic" <nul
REM ログインクラスの日本語設定(/etc/login.conf に japanese クラスを追加)
ssh %SSH_OPTS% -p %SSH_HOST_PORT% %USER_NAME%@localhost "printf '\njapanese|Japanese Users Accounts:\\\n\t:charset=UTF-8:\\\n\t:lang=ja_JP.UTF-8:\\\n\t:tc=default:\n' | sudo tee -a /etc/login.conf >/dev/null" <nul
REM データベースの再構築とユーザーのログインクラス変更
ssh %SSH_OPTS% -p %SSH_HOST_PORT% %USER_NAME%@localhost "sudo cap_mkdb /etc/login.conf && sudo pw usermod %USER_NAME% -L japanese" <nul
REM 再起動(設定を反映)
ssh %SSH_OPTS% -p %SSH_HOST_PORT% %USER_NAME%@localhost "sudo shutdown -r now" <nul
REM === 再起動後の SSH 接続待機 ===
timeout /t 30 /nobreak
set "SSHJA_DONE=" & for /L %i in (1,1,60) do @(if not defined SSHJA_DONE (timeout /t 10 /nobreak >nul & ssh -o BatchMode=yes -o StrictHostKeyChecking=no -o ConnectTimeout=5 -p %SSH_HOST_PORT% %USER_NAME%@localhost "echo SSH_OK" <nul 2>nul | findstr "SSH_OK" >nul && (echo 日本語環境の構築が完了しました & set "SSHJA_DONE=1") || (echo SSH 未応答 ... 10 秒待機します)))
REM ロケールの確認(ja_JP.UTF-8 が表示される)
ssh %SSH_OPTS% -p %SSH_HOST_PORT% %USER_NAME%@localhost "locale" <nul
日本語入力を利用する場合は、Xorg とデスクトップ環境を別途導入したうえで、入力メソッドを追加する。FreeBSD では次のパッケージが該当する。
ssh %SSH_OPTS% -p %SSH_HOST_PORT% %USER_NAME%@localhost "sudo pkg install -y fcitx5 ja-fcitx5-anthy fcitx5-configtool fcitx5-gtk3 fcitx5-qt6" <nul
REM fcitx5 環境変数の設定(~/.profile に追記)
ssh %SSH_OPTS% -p %SSH_HOST_PORT% %USER_NAME%@localhost "printf 'export GTK_IM_MODULE=fcitx\nexport QT_IM_MODULE=fcitx\nexport XMODIFIERS=@im=fcitx\n' >> ~/.profile" <nul
4. トラブルシューティング
4.1 よくある問題と対処
| 症状 | 原因 | 対処 |
|---|---|---|
VBoxManageが認識されない |
PATHが通っていない | コマンドプロンプトを再起動、または絶対パス "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" で実行する。 |
| ISOダウンロード失敗 | ネットワーク切断、通信エラー | 同じ curl -fL --retry 3 -C - -o のコマンドを再実行すると中断位置から再開する。改善しない場合は download.freebsd.org からブラウザでダウンロードし、%USERPROFILE%\VirtualBox VMs\ISO に置く。 |
| Extension Pack のインストール失敗 | 本体とバージョンが一致していない | VBoxManage --version の出力から得たバージョンでURLを組み立て直す。 |
| installerconfigが実行されない | カスタムISO内の配置先が /etc/installerconfig になっていない |
wsl xorriso -indev <ISO> -lsl /etc でISO内のファイル配置を確認する。 |
| EFIブート失敗・UEFI Shellに落ちる | カスタムISOのブートイメージが保持されていない | xorrisoに -boot_image any keep を指定していることを確認する。EFIでインストールしたシステムはBIOSブート用のブートコードを持たないため、--firmware=bios へ変更しても起動しない。ISOを作り直したうえでVMを削除し、2.4節から再実行する。 |
| Hyper-V競合エラー、実行速度の低下 | Hyper-V やメモリ整合性などによりハイパーバイザが動作中 | 管理者権限のコマンドプロンプトで bcdedit /set hypervisorlaunchtype off を実行し、Windowsを再起動する。「Windows の機能の有効化または無効化」でHyper-Vと仮想マシンプラットフォームのチェックを外す方法もある。 |
| pkg の処理が失敗する | インストール中にネットワークが利用できていない | installerconfig の dhclient em0 が実行されているか、NICが em0 として認識されているかを ifconfig で確認する。 |
| シャットダウン時に電源が切れない | UEFIランタイムサービスによる電源断が完了しない | /boot/loader.conf に hw.efi.poweroff="0" を追記する。 |
| SSH 接続がタイムアウトする | ポートフォワーディング未設定、または SSH サーバ未起動 | VBoxManage showvminfo "FreeBSD15" --machinereadable | findstr natpf で設定を確認。VM 内で service sshd status を確認する。 |
| SSH ホスト鍵エラー | VM 再作成による鍵の不一致 | ssh-keygen -R "[localhost]:2222" で既知のホスト鍵を削除する。 |
| SSH接続時にsudoがパスワードを要求する | sudoers設定の不備 | /usr/local/etc/sudoers.d/wheel の内容と権限(0440)を確認する。 |
| Guest Additions のパッケージが見つからない | 6.1系の virtualbox-ose-additions-nox11 は廃止予定である |
7.2系の virtualbox-ose-additions-nox11-72 を指定する。 |
4.2 VMの削除と再作成
REM VM登録解除とファイル削除
VBoxManage unregistervm "FreeBSD15" --delete
REM 仮想ディスクのみ削除(VMは残す場合)
VBoxManage closemedium disk "%USERPROFILE%\VirtualBox VMs\FreeBSD15\FreeBSD15.vdi" --delete
4.3 VM の管理コマンド
| 操作 | コマンド |
|---|---|
| VM を画面付きで起動 | VBoxManage startvm "FreeBSD15" --type gui |
| VM を画面なしで起動 | VBoxManage startvm "FreeBSD15" --type headless |
| VM の電源を切る(ACPI シャットダウン) | VBoxManage controlvm "FreeBSD15" acpipowerbutton |
| VM を強制停止 | VBoxManage controlvm "FreeBSD15" poweroff |
| スナップショットの作成 | VBoxManage snapshot "FreeBSD15" take "初期設定完了" |
| スナップショットの復元 | VBoxManage snapshot "FreeBSD15" restore "初期設定完了" |
| SSH 接続 | ssh -p 2222 myuser@localhost |