ウェブサイト検索

Ubuntu 24.04で仮想マシンを実行するためのQEMU/KVMのインストールと設定


これは、Ubuntu 24.04 で qemu/kvm ソリューションを使用して仮想マシンをインストールおよび管理する方法を段階的に示すガイドです。

KVM(カーネルベースの仮想マシン)は、ハイパーバイザーとして機能するLinuxカーネルのモジュールです。これは、CPUに組み込まれたIntel VTやAMD-Vのようなハードウェア仮想化拡張を備えた高性能の仮想化環境を提供します。

KVMはユーザースペースで直接機能しません。QEMUのようなユーザースペースアプリケーションが必要で、それを介してKVMと対話し、仮想マシンを管理します。

QEMUはコマンドラインツールであるため、使いやすくするためのVirtual Machine Managerのようなグラフィカルツールもあります。

1. KVMカーネルモジュールをロードし、QEMUをインストールします:

KVMモジュールはホストマシンのプロセッサが仮想化サポートを持っている必要があります。Intelプロセッサの場合はVT-x、AMDプロセッサの場合はAMD-Vです。また、過去10年間のすべてのIntelおよびAMDのCPUは仮想化をサポートしています。

CPUが仮想化をサポートしているか確認するには、ターミナルを開き (Ctrl+Alt+T)、次のコマンドを実行します:

LC_ALL=C.UTF-8 lscpu | grep Virtualization

もし何も出力されない場合は、BIOSで仮想化サポートを有効にしていることを確認してください。

KVMモジュールがロードされているか確認してください、コマンドを実行します:

lsmod | grep kvm

カーネルモジュールは通常、Ubuntuでデフォルトで読み込まれます。読み込まれない場合は、sudo modprobe -a kvm kvm_intelを実行して読み込んでください(AMDプロセッサの場合はkvm_intelをkvm_amdに置き換えてください)。

QEMUをインストールするには、Debian、Ubuntu、Linux Mint およびそれらの基盤となるシステムで、次のコマンドを実行してください:

sudo apt install qemu-system

2. コマンドラインから仮想マシンを作成する

注意: Linuxコマンドが嫌いな場合は、このステップをスキップして次のステップのグラフィカルツールを使用してください!

1. 最初に、次のようなコマンドを実行して仮想ディスクイメージファイルを作成します:

qemu-img create -f raw /media/ji/600g/windows10.raw 80G

ここで、コマンドオプションを適切に置き換える必要があります。それらは次のとおりです:

  • -f rawは生のイメージを作成するように指示します。作成プロセスは非常に遅く、ホストに割り当てた全スペース(私の場合は80G)を使用します。ゲスト上の未使用スペースはホスト上で使用できません。選択肢として、代わりに-f qcow2を使用することもできます。これは、ゲストオペレーティングシステムが実際に仮想ハードディスクに書き込むときにのみ、イメージファイルにスペースを割り当てます。ただし、qcow2を使用するとパフォーマンスに影響が出る可能性があります。
  • /media/ji/600g/windows10.rawはwindows10.rawイメージファイルを仮想ディスクとして作成することを指示し、それは/media/ji/600gにマウントされた外部ディスクに保存されます。パスを省略することもできるので、イメージファイルは現在のディレクトリに作成されます。
  • 80G、ホスト上のゲストハードドライブのフルキャパシティ。

そして、いつでもファイル(私の場合はwindows10.raw)を自由に移動または削除できます。ただし、次のコマンドではファイルのパスを変更する必要があります。

2. 仮想オペレーティングシステムをインストールするには、次のようなコマンドを使用します:

qemu-system-x86_64 -cdrom /path/to/iso-image -boot menu=on -drive file=/path/to/virtual-disk-image,format=raw -m 8G -cpu host -smp sockets=1,cores=2,threads=2 --enable-kvm

このコマンドは使用することを指示します:

  • qemu-system-x86_64を使用してamd64ゲストCPUアーキテクチャをシミュレートします。ゲストOSのタイプに応じてx86_64をx86、s390x、ppcなどに置き換えます。
  • -cdrom /path/to/iso-image はCDロムを介して.isoイメージを接続するためのコマンドです。
  • -boot menu=on は、どのデバイスからブートするかを選択するためのメニューを表示します。
  • file=/path/to/virtual-disk-image,format=raw は画像ファイルを介して仮想ディスクを接続するためのもので、raw は前のコマンドで作成したものに置き換えてください。
  • -m 8G – RAMメモリを割り当てる。
  • -cpu host はホストと同じCPUを使用します。選択肢のために、qemu-system-x86_64 -cpu help を実行して、より多くの選択肢を得ることができます。
  • -smp ソケット=1, コア=2, スレッド=2 - 1つのCPUに2つのコアとそれぞれ2つのスレッドを設定し、つまり(2コア/4スレッド)を意味します。
  • --enable-kvm はKVMを有効にするためのオプションです。代わりに、-accel kvm を使用することもできます。

私の場合、コマンドは次のとおりです:

qemu-system-x86_64 -cdrom ~/Documents/windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso -boot menu=on -drive file=/media/ji/600g/windows10.raw,format=raw -m 8G -cpu host -smp sockets=1,cores=2,threads=2 --enable-kvm

上記のコマンドは仮想マシンウィンドウを起動し、.isoイメージからブートできるようにし、次にOSを仮想ディスクイメージにインストールします。

その後、ゲストOSを実行するには、コマンドを使用します:

qemu-system-x86_64 /path/to/virtual-disk-image

また、メモリサイズ、使用するCPUコア数、KVMの有効化などを指定するために、上に同様のオプションを追加できます。詳細については公式ドキュメントを参照してください。

3. グラフィカルツールを使用して、QEMU/KVM 仮想マシンをインストールおよび管理します。

QEMUコマンドラインツールは初心者には便利ではなく、難しいです。生活を楽にするために、いくつかのグラフィカルツールがVMをインストールおよび管理するためにあります。そして、ここでは「仮想マシンマネージャー」を紹介します。

仮想マシンマネージャーをインストールします:

まず、ターミナルを開き(Ctrl+Alt+T)、以下のコマンドを実行してグラフィカルツールをインストールします:

sudo apt install virt-manager

その後、ユーザーをlibvirtグループに追加し、デーモンサービスを再起動します:

sudo gpasswd --add $USER libvirt
sudo systemctl start libvirtd

ツールを起動して新しいVMを作成します

次に、スタートメニュー(またはGNOMEオーバービュー)から仮想マシンマネージャを検索して起動します。起動時に自動的にQEMU/KVMシステムに接続されるはずです。

それがなければ、リスト内でそれをダブルクリックしてください。そして、接続に失敗した場合はコンピュータを再起動してみてください!

次に、最初のツールバーアイコンをクリックするか、メニュー「ファイル -> 新しい仮想マシン」を選択して、VM作成ダイアログを開始します。

ポップアップウィザードでは、ローカルの.isoイメージからのインストール、ネットワークインストール、既存の仮想ディスクイメージからのインストールを選択でき、ゲストOSのアーキテクチャタイプも選択できます。

次に、ポップアップウィザードに従って、.isoイメージまたはCD-ROMインストールメディアを選択します。もし、.isoイメージのパスを手動で入力する代わりに「参照...」ボタンをクリックした場合は、外部ディスクなどの非デフォルトの場所のプールを手動で追加し、そこに仮想ディスクを作成することができます。

最後に、「ローカルを参照」をクリックして、.isoイメージを選択します。注意: 選択したisoイメージと仮想ディスクイメージのファイル権限を変更するように求められます。この動作が気に入らない場合は、次のステップを参照してください。

次に、メモリサイズと使用するCPUコア数を設定し、仮想ディスクを作成するか、先ほど作成した既存のディスクイメージを選択するなどして、ウィザードが完了するまで進めます。

すべてがうまくいけば、仮想マシンが起動し、オペレーティングシステムをインストールするためのisoイメージを読み込むはずです。

通常のユーザーとしてKVMを使用するように設定する

非デフォルトの場所(例:外部ディスク)に仮想ディスクイメージを作成し、.isoイメージをアタッチすると、それらの所有権が変更されるため、それらはあなた(あなたのユーザー)に属しません。また、権限の問題により、時々失敗することもあります。

それを回避するために、通常のユーザーとして使用するように設定することができます。

最初に、ターミナル(Ctrl+Alt+T)で次のコマンドを実行してlibvirtd設定ファイルを編集します:

sudo nano /etc/libvirt/libvirtd.conf

次に、unix_sock_group='libvirt' と unix_sock_rw_perms='0770' を探し、行の先頭にある # を削除して値を変更します。最後に、Ctrl+S を押して保存し、Ctrl+X を押して終了します。

次に、次のコマンドを実行してqemu構成ファイルを編集します:

/etc/libvirt/qemu.conf

次に、user="your_user" と group="your_user" を設定し、ファイルを保存します (Ctrl+S、次に Ctrl+X)。

最後に、コマンドを介してデーモンを再起動します:

sudo systemctl restart libvirtd.service

次に、仮想マシンマネージャーを閉じて再起動します。

ホストOSとゲストOS間で共有フォルダーを作成する

ホストとゲストのオペレーティングシステム間でファイルを共有するには、以下の手順で共有フォルダーを作成することができます。

1. 最初に、ターミナルを開き、ホストOSとゲストOSの両方に spice-vdagent と virtiofsd パッケージをインストールします:

  • Debian、Ubuntu、Linux Mintなどでは、次のコマンドを使用します:

    sudo apt install spice-vdagent virtiofsd
  • Fedoraおよび系統のシステムでは、次のコマンドを実行してください:

    sudo dnf install spice-vdagent virtiofsd
  • そして、Archベースのシステムでは、代わりに次のコマンドを実行できます:

    sudo pacman -S spice-vdagent virtiofsd
  • Windowsの場合は、単にダウンロードしてspice-guest-tools.exeファイルをインストールしてください。

2. 次に、仮想マシンウィンドウのメニュー「表示 -> 詳細」に移動します。それから次の操作を行います:

  • 左側の「メモリ」に移動し、「共有メモリを有効にする」を有効にします。
  • 「ハードウェアの追加」ボタンをクリックし、ポップアップダイアログで「ファイルシステム」を選択します。
  • 次のセット:

    • ドライバー:virtiofs。
    • ソースパス:ホストOSで共有したいフォルダーへのパス。
    • ターゲット パス: どのような共有名でも

3. 最後に、仮想マシンを開始または再起動します。

LinuxゲストOSの場合、再起動するまで機能する共有フォルダをマウントするコマンドを実行します:

sudo mount -t virtiofs share /home/USERNAME/Documents/share

ここでshareを前のステップで設定した共有名に、ゲストOSのマウントポイントも自分のものに置き換えます。完了したら、そのマウントポイントのフォルダーを開いて、動作するか確認してください!

永続化するには、sudo nano /etc/fstab コマンドを使用して /etc/fstab を編集し、最後の下に新しい行を追加します:

share-name-here   /path/to/mount/in/guest  virtiofs   defaults  0   0

最後に、Ctrl+Sを押して保存し、Ctrl+Xを押して終了してください。

Windowsの場合、ゲストOSで次の手順を一つずつ実行してください:

  1. まずここからWinFSPをダウンロードしてインストールしてください。
  2. 次に、Fedoraのウェブサイトからvirtio-win.isoをダウンロードをクリックします。
  3. ファイルエクスプローラーを開き、ダウンロードフォルダーに移動し、ダウンロードしたvirtio-win.isoイメージをマウントするをクリックしてください。
  4. スタートメニューアイコンを右クリックして「デバイスマネージャー」を開き、「その他のデバイス -> マスストレージコントローラー」に移動し、それを右クリックして「ドライバーを更新」を選択します。

  5. 次に「コンピュータを参照してドライバーソフトウェアを探索する」をクリックし、DVDドライブ(virtio-win.isoイメージのためにマウントしたもの)をドライバーの場所として選択し、最後に「次へ」をクリックして、そのディレクトリからドライバーを自動的に検索してインストールします。
  6. 次に、ファイルエクスプローラーでDVDドライブを開き、viofsフォルダーに移動します。次に、ゲストOSのバージョンに応じて、w10またはw11サブフォルダーをローカルディレクトリにコピーします。例えば、C:\virtiofs(Cの中にvirtiofsフォルダーを手動で作成します)

  7. 最後に、管理者としてcmd(コマンドプロンプト)を開き、共有フォルダを自動的にマウントするサービスを作成して開始するためのコマンドを実行します:

    sc.exe create VirtioFsSvc binpath="path\to\virtiofs.exe" DisplayName="Virtio FS Service"
    sc.exe start VirtioFsSvc

    ここでpath\to\virtiofs.exeを置き換える必要があります。私の場合、DVDドライブから「w10」フォルダーをC:\virtiofsにコピーしたので、パスはC:\virtiofs\w10\amd64\virtiofs.exeです。

すべてが順調に進めば、ファイルエクスプローラーの左ペインに共有フォルダーが表示されるはずです。

加えて

マネージャーでVMに対して行いたい他の多くのことがあります。たとえば、「Video QXL」ビデオモジュールを「Virtio」に切り替え、3Dアクセラレーションオプションにチェックを入れた後、ディスプレイSpiceでOpenGLを有効にすることです。

また、GPU パススルーを有効にする方法を示した良いチュートリアルもありますので、仮想マシンがネイティブパフォーマンスでゲームやグラフィック編集のために GPU に直接アクセスできるようになります。

チュートリアルの長さ制限のため、これ以上は追加しません。下にコメントを残してください。

関連記事: