Latest evidence-based health information
Vision

Windows Subsystem for Linux 2のカーネルを簡単にアップデートする方法

Windows Subsystem for Linux 2のカーネルを簡単にアップデートする方法
Windows Subsystem for Linux 2のカーネルを簡単にアップデートする方法

LinuxとWindowsの両方で、オープンソースプログラム(つまり、誰でもアクセスできるコード)が数多く存在します。そうでないプログラムやツールの場合、WSL(Windows Subsystem for Linux)はWindowsコンピューターでLinuxプログラムを使用するための理想的なソリューションです。つまり、最初にLinuxを起動する必要がなく、現在アクティブなWindowsでLinuxプログラムを使用できます。

WSLのプログラムはネイティブLinuxよりも動作が遅くなりますが、必ずしも顕著に現れるわけではありません。MicrosoftはLinuxカーネルに組み込むための改良にも引き続き取り組んでいます。そのため、新しいカーネルはWSLの速度を向上させる可能性があります。

WSLカーネルと仮想化

WSL 2では、Linuxカーネルは、Linux版のKVM/Qemuに似たハイパーバイザー(Hyper-V)上で実行されます。カーネルは、ゲストシステムとホストシステム間の通信を確保するための機能を提供します。これは、例えばメインメモリの共有やCPU管理などに関係します。これらのプログラムコードは主にMicrosoftから提供されています。

Linuxユーザーにとって、新しいカーネルは新しいハードウェアとパフォーマンスの最適化をサポートします。Microsoftはカーネル内のHyper-Vコードも定期的に最適化していますが、仮想ハードウェアは常に同じままであるため、WSLではハードウェアドライバーがほとんど役割を果たしません。ただし、ネットワークブロックデバイス(nbd)など、特定のアプリケーションに必要なドライバーはあります。nbdは、例えばVHD形式の仮想ハードディスクをマウントするために使用できます。

WSLをインストールしてバージョンを確認する

Windowsターミナルでは、PowerShell、コマンドプロンプト、WSLを便利に利用できます。Windows 11ではデフォルトで利用可能ですが、Windows 10ユーザーはMicrosoft Storeからインストールする必要があります。

Powershell では、次のコードを使用して WSL をインストールします。

wsl --install -d Ubuntu-24.04

利用可能なディストリビューションを呼び出すには、以下のコードを入力して Windows を再起動します。

wsl --list --online

ログイン後、Linuxターミナルが開き、インストールが完了すると通知が表示されます。その後、Linuxアカウントのユーザー名とパスワードの入力を求められます。以下のコマンドでUbuntuシステムをアップデートします。

sudo apt update && sudo apt upgrade

Windowsターミナルでは、タブの横にある矢印ボタンをクリックした後に表示されるメニューからLinuxを起動します。PowerShellでは、次のコマンドでWSLのバージョンを確認します。

wsl -l -v

古いインストールのバージョン列に1 が表示される場合は、次の 2 行でバージョンを更新します。

wsl --set-default-version 2wsl --set-default [Distribution]

プレースホルダー[Distribution]をディストリビューションの名前に置き換えます。

WSL 2用の新しいカーネルの作成

ステップ 1: WSL で Linux を起動し、次のコマンドで開発者パッケージをインストールします。

sudo apt install build-essential flex bison dwarves libssl-dev libelf-dev libncurses-dev git

ステップ 2:作業ディレクトリを作成し、ソース コード (4 行) をダウンロードします。

mkdir kernelcd kernelgit clone https://github.com/microsoft/WSL2-Linux-Kernel.git --depth=1 -b linux-msft-wsl-6.6.ycd WSL2-Linux-Kernel

必要に応じてカーネル バージョンを調整します。

ステップ 3:次のコード行を使用して、カーネルに独自の名前を付けることができます。

scripts/config --file Microsoft/config-wsl --set-str LOCALVERSION "-custom-microsoft-standard-WSL2"

必要に応じて、次のコード行を使用して構成エディターを呼び出して独自のカスタマイズを行うことができます。

make menuconfig KCONFIG_CONFIG=Microsoft/config-wsl
WSL カーネル設定: カーネル設定をサポートする「menuconfig」を使用します。 Die Angabe は、「ローカル バージョン」を参照し、カーネル バージョンを確認します。

WSLカーネルの設定:カーネル設定は「menuconfig」から編集できます。「Local version」の項目は、カーネルのバージョンを区別するのに役立ちます。

IDG

ステップ 4: 次のコマンドでカーネルを作成します。

echo 'yes' | make -j $(nproc) KCONFIG_CONFIG=Microsoft/config-wsl

次のコマンドでモジュールをインストールします。

sudo make KCONFIG_CONFIG=Microsoft/config-wsl modules_install

ステップ5: Windowsエクスプローラーのナビゲーションエリアで「Linux」の下のエントリからLinux環境を呼び出します。ホームディレクトリにあるvmlinuxファイルをWSLフォルダ(C:Users[ユーザー名]WSL)内のWindowsユーザープロファイルにコピーします。

ステップ6: Windowsでは、プロファイルフォルダに.wslconfigファイルを作成します。次の2行を入力します。

[wsl2]kernel=C:Users[username]WSLvmlinux

プレースホルダー[username]をユーザー名に置き換えます。

Powershell で、次のコマンドを実行して実行中のすべての WSL インスタンスを終了します。

wsl --shutdown

Linux 用の Windows サブシステムで Linux を起動すると、次のコマンドで新しいカーネルのバージョンが表示されます。

uname -a

この記事はもともと当社の姉妹誌 PC-WELT に掲載され、ドイツ語から翻訳およびローカライズされました。

Otpoo

Health writer and researcher with expertise in evidence-based medicine and healthcare information.