はじめに
この素晴らしい記事を発見し、私も過去の Windows が入ってるディスクを接続しながら Proxmox を起動していたので、実際にやってみた。
VM を作る!
Create VM を選択して VM を作る
General
ご自由に VM ID
とか Name
決めてください
OS
今回はすでにインストールされている OS を使用するので、Do not use any media
を選択。
Guest OS
は Windows 10
を使用するので、
Type: Microsoft Windows, Version: 10/2016/2019
を選択する。
System
Disks
今回は NVMe をパススルーするのでゴミ箱を押して何もない状態で進む。
CPU
好きなコア数を割り当てましょう。
Memory
好きなメモリ数を割り当てましょう。4 GiB だと起動はできるけどちょっと足りなそう。
Network
好きな設定にしましょう。
Firewall をオンにすると、VM 内でネットワークがつながらない可能性があるので、
もしつながらなかったらオフにすると改善するかも?
Confirm
NVMe をパススルーする!
VM が作成出来たら Hardware タブを開く。
左上の Add
から PCI Device
を選択。(NVMe は PCI デバイスなので GPU とかと同じように PCI の中にある)
Device
タブから NVMe コントローラー
であろうものを選択する
(私の環境だとこれでした。)
All Functions
にチェックを入れて Add を押す
No IOMMU detected, please activate it. See Documentation for further information.
というエラーが出ていたら、↓ を参考に設定してみてください (宣伝)
OS 起動ディスクとして登録する!
Hardware
タブと同じように Options
タブがあると思うのでそれを開く
Boot Order
を選択し、先ほど追加した NVMe デバイスの Enabled
にチェックを入れ、起動順序を上げておく。
起動!
起動するとこんなエラーが出るかも?(おま環説は大いにありますが)
F9
を押して、他の OS を使うとすることで NVMe から起動できた!
(もしかしたら Win11 を一瞬入れてしまい、OS が 2 つあるみたいな状態になってたせいかも?)
余談とかメモ
余談ですが、ネットワークデバイスが VirtIO
になっていると自環境ではネットに繋がらなかったので、Intel E1000
に変更することで解決した
リモートデスクトップ接続できるように設定すると便利かも?
設定するときは IP の固定を忘れずに。
SATA 接続デバイスもパススルーしたいときは、こちらのサイトがすごく参考になった。
# Proxmox 起動しているシェルで実行
# 接続ディスク確認
ls -l /dev/disk/by-id/
# VM にパススルー
qm set [VMのID] -[virtio,sata,scsi][数値] /dev/disk/by-id/[ストレージの情報]
# ex.) qm set 100 -sata0 /dev/disk/by-id/ata-Crucial_CT275MX300SSD1_164914EE5EA1
おわり
過去の PC で Linux とか入れて遊びたい、
でも Windows の設定を残して使えるようにしたい、って人にすごくおすすめ!
気になった方はぜひやってみてください!
参考