以下の内容はhttps://daisuke20240310.hatenablog.com/entry/kvmより取得しました。


KVM/QEMU(virt-manager)でUbuntu24.04をインストールした

前回 は、Ubuntu 24.04 のインストールについて書きました。今回は、KVM を入れて、Ubuntu 24.04 の上に Ubuntu 24.04 を QEMU で起動していきたいと思います。

ややこしいですね。本当は、Ubuntu のインストールされたパソコンで、Ubuntu や、ParrotOS など、いろいろな Linux を動かしたいところですが、今は、デスクトップPC として、Windows しかないので、仕方なく、VirtualBox を使って、いろいろやっているということです。

簡単に図を書きました。最近は、オンラインで Microsoft の Office が無料で使えるんですね。慣れたソフトを使うと、図の作成時間(3分?)が少なくて済みますし、少し操作に違和感はありますが、全然、許容範囲内です。

完成図
完成図

しかし、実際にやってみると、この構成はエラーが出て、うまく動きませんでした。最終的には、以下のように、余ってた SSD に Ubuntu をインストールして、そこに KVM をインストールして、そこに仮想マシンとして Ubuntu をインストールすることが出来ました。

完成図
完成図

それでは、やっていきます。

はじめに

今回は、Ubuntu 24.04 に KVM を導入していきます。以下の Ubuntu公式の KVM のページを参考にやっていきます。

help.ubuntu.com

ここにも書かれていますが、KVM とは、仮想化を実現するカーネルモジュールです。ユーザランド側のアプリケーションとして、libvirt/libvirtd があり、そのユーザフロントエンドに virt-manager や、virsh があるというわけです。

日立さんの HP に分かりやすい図があったので、載せます。このリンク先では、KVM について丁寧に説明されてるので、とても参考になりました。

日立さんのHPの図
日立さんのHPの図

では、実際にやってみます。

KVMのインストール

Ubuntu の KVM のページInstallation のページ に沿ってやっていきます。

仮想化の準備

まず、VirtualBox 上で起動した Ubuntu 24.04 が、ハードウェア仮想化をサポートした状態になっているかどうかを確認します。これらは、Intel や AMD の CPU がハードウェアとして仮想化をサポートしており、それを有効に出来ているか、ということです。

まず、BIOS で Virtualization Technology という項目を有効にする必要があります。詳しくは、以下のページを参考にしてください。ただし、Hyper-V は有効にしないでください。Hyper-V とは、簡単に言うと、VirtualBox のような仮想化ソフトウェアです。これを有効にすると、VirtualBox がうまく動かなくなったりします。

www.asus.com

BIOS で仮想化の機能が有効に出来たかどうかを Windows で確認します。タスクマネージャを起動し、パフォーマンス → CPU に移動します。すると、うまくいっていれば、「仮想化」という項目が「有効」になっていると思います。

次に、VirtualBox 上の Ubuntu が仮想化を使えるようにします。対象の仮想マシン(今回の場合は、Ubuntu 24.04)の設定を開き、システム → プロセッサー を開きます。「ネステッドVT-x/AMD-Vを有効化」にチェックを入れます。これにより、Ubuntu 上でも仮想化の支援を受けられるようにできます。

ネステッドVT-x/AMD-Vを有効化
ネステッドVT-x/AMD-Vを有効化

環境によっては、「ネステッドVT-x/AMD-Vを有効化」がグレーアウトされていて、チェックが入れられないようになってる場合があります。その場合、コマンドプロンプトなどから有効にすることが出来ます。具体的な方法は、コマンドプロンプトを起動して、VirtualBox のディレクトリまで移動し、以下のコマンドを実行します。

>cd "c:\Program Files\Oracle\VirtualBox\
>VBoxManage.exe modifyvm 'Ubuntu24.04.2' --nested-hw-virt on

Ubuntu を起動して、仮想化が使える状態になったかを確認します。以下を実行して、1以上の値になれば、仮想化が使える状態になっています。0 が表示された場合は、仮想化が使える状態になっていません。

この場合に有効だった対処方法があります。Windows10 の場合、Windows の設定を開き、更新とセキュリティを開きます。Windowsセキュリティを開き、デバイスセキュリティを開きます。コア分離という項目のコア分離の詳細をクリックします。メモリ整合性という項目があるので、ここをオフにします。これにより、Ubuntu で仮想化が使えるようになった場合がありました。

$ egrep -c '(vmx|svm)' /proc/cpuinfo
8

次に、KVM拡張機能が使えることを確認します。以下のように表示されれば大丈夫です。

$ sudo apt install cpu-checker

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

KVMのインストール

Installation のページ に書かれている通りにインストールします。

$ sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

グループにユーザを追加します。無事に追加できたようです。

$ sudo adduser `id -un` libvirt
info: The user `ubuntu' is already a member of `libvirt'.

$ sudo adduser `id -un` kvm
info: Adding user `ubuntu' to group `kvm' ...

インストールの確認をします。以下のようになれば、正常にインストールできているとのことです。

$ virsh list --all
 Id   Name   State
--------------------

ネットワーク設定

次は、Networking のページ になります。ここは、NAT ではなく、ブリッジを使う場合に必要になります。今回は、まずは、NAT で動かしてみて、うまくいけば、ブリッジにすることも検討したいと思います。

ブリッジを設定したときに、ここは追記するようにします。

ゲストOSのインストール

次は、Create Guests のページ になります。やってることは、VirtualBox で仮想マシンを作成することと同じです。いろいろ書いてますが、ここでは、1番簡単そうな virt-manager(GUI)を使ってやっていきます。

$ sudo apt install virt-manager

インストールが出来ると、Ubuntu の GUI のアプリケーションのメニューを見ます。仮想マシンマネージャというのが増えてると思います。これが virt-manager です。

virt-manager
virt-manager

起動してみます。Installation でインストールしてから、一度も再起動してない場合は、libvirtd のエラーが出るかもしれません。その場合は、再起動してから、再度、仮想マシンマネージャを起動してください。

仮想マシンマネージャ
仮想マシンマネージャ

では、仮想マシン(ゲストOS)を作っていきます。

ツールバーの左端のアイコンをクリックします。ここでは、前回 使った、Ubuntu 24.04.2 の ISOファイルを使います。次へをクリックします。

新しい仮想マシンの作成
新しい仮想マシンの作成

ISOファイルを参照できるところに置き、指定します。Ubuntu 24.04 と自動認識していることを確認して、次へをクリックします。

ISOファイルの指定
ISOファイルの指定

次に、仮想マシンに割り当てるメモリと CPUコア数を指定します。次へをクリックします。

メモリとCPUコア数の指定
メモリとCPUコア数の指定

次に、仮想マシンに割り当てるディスク容量を指定します。次へをクリックします。

ディスク容量の割り当て
ディスク容量の割り当て

次に、仮想マシンのホスト名を指定します。完了をクリックします。

マシン名の指定
マシン名の指定

すると、Ubuntu のインストール(ゲストOS のインストール)が始まります。

Ubuntu のインストール
Ubuntu のインストール

うーん、ゲストOS のマウスがおかしいです。キーボードの Tabキーと十字キー、スペースを使いながら進めていきます。インストールの途中で止まってしまいました。

もう 1度、ゲストOS のインストールをやってみます。次は、マウスは正しく動きました。順調にインストールは進み、最後の再起動までいきました。その最後の再起動で起動中に以下のような画面になり、ホストOS ごと終了することになりました。

重大なエラー発生
重大なエラー発生

残念ですが、うまくいきませんでした。やはり、OS を三段重ねすることは難しいのかもしれません。Ubuntu Server など、CUI ならうまくいった例を見かけたので、何らかの原因があって失敗したのだと思います。

Rufusを使って、UbuntuをUSBからブートする

ここからは趣向を変えて、USB で、Ubuntu を起動し、その Ubuntu に KVM を入れて、やってみたいと思います。以前、ノートパソコンの SSD が遅くなったので、新しい SSD を買ってきて、入れ替えました。その古い M.2 の NVMe の SSD が余っているので、それに Ubuntu を入れてみたいと思います。その SSD の入れ替えのときに、以下の USB接続の M.2 の SSDケースを購入しました。これを使って、Windows を使わずに、直接 Ubuntu を起動していきたいと思います。

www.pro.logitec.co.jp

Rufusを使って、Ubuntuインストーラを作る

Rufus は、以下からダウンロードできます。無料です。Ubuntu の ISOファイルを読み込ませて、USBメモリに起動可能な Ubuntuインストーラを作ることが出来ます。この USBメモリは、あくまでインストーラを入れておき、USBドライブとして起動するもので、上のインストール先の SSD とは別のものです。

rufus.ie

執筆時点では、バージョンは 4.6 です。ファイルサイズは 1.5MB と、とても小さいプログラムです。

Rufusダウンロードリンク
Rufusダウンロードリンク

Rufus はインストールする必要はなく、rufus-4.6.exe をダブルクリックすれば、起動します。まず、デバイスで、書き込み先の USBメモリ(下図では Transcend 16GB)を指定します。次に、ブートの種類というところで、Ubuntu 24.04.2 の ISOファイルを指定します。あとは、特に変更しなくていいと思います。スタートをクリックします。

Rufus
Rufus

ISO イメージモードで書き込むにチェックが入っていることを確認して、OK をクリックします。

ISOイメージモードで書き込む
ISOイメージモードで書き込む

USBメモリが消去される、という警告が出ますので、OK をクリックします。約15分かかりました。

この先は、PC を再起動して、作成した USBメモリから起動します。これらは、以下の YouTube を参考にさせてもらいました。

youtu.be

この動画の手順で進めたたところ、無事に、SSD から Ubuntu を起動することが出来ました。早速、上でやったように、KVM をインストールして、仮想マシンを作り、そこに Ubuntu 24.04.2 をインストールしました。以下のように、無事に、KVM上の Ubuntu が起動しました。

ちなみに、以下は、ノートパソコンから、xrdp を使って、リモートデスクトップで接続してキャプチャしました。

KVM上のUbuntuが起動した
KVM上のUbuntuが起動した

おわりに

今回は、KVM を使って、仮想マシン(Ubuntu)を動かすことが出来ました。最初に考えた構成では、うまくいきませんでしたが、余ってた SSD を USBドライブにして、そこで Ubuntu を動かすことで、KVM を動かすことが出来ました。

最後になりましたが、エンジニアグループのランキングに参加中です。

気楽にポチッとよろしくお願いいたします🙇

今回は以上です!

最後までお読みいただき、ありがとうございました。




以上の内容はhttps://daisuke20240310.hatenablog.com/entry/kvmより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14