Contents

WSL2 は十分に優れているので、デュアルブートをやめました

<本文>/images/wsl-networking-mess.jpg

Windows Subsystem for Linux (WSL) は、新しい更新プログラムが追加されるたびに継続的に改善されています。平均的なユーザーにとっては、Windows 11 マシン上で Linux ディストリビューションを問題なく並行して実行する方が便利になりました。セットアップは驚くほど簡単で、リソースの割り当て、GPU パススルー、その他の側面について心配する必要はありません。 WSL 2 によって多くの初期のハードルが解決され、Windows マシン上で Linux アプリを実行し、他のシステムと同様に Docker コンテナを実行できるようになりました。

その結果、メイン OS を損なうことなく Linux マシンにアクセスできるようになるため、デュアルブートをやめて WSL を使用することにしました。両方を便利に使用してプロジェクトの構築を続けることができ、セッションごとに 1 つの OS を選択する必要はありません。現在デュアルブートしている場合に WSL を試してみるべき理由は次のとおりです。

非常にシンプルなセットアップ

Linux システムを自由に使える

WSL マシンのセットアップに必要なコマンドは 1 つだけで、完全に機能する Linux の CLI エディションを自由に使用できます。初心者として始める場合、Linux のコツを学ぶのに最適な場所です。 VirtualBox や VMWare などのレベル 2 ハイパーバイザーをいじってから、マシンを構成したり、ハードウェアを割り当てたりする必要はありません。

デュアルブートのアプローチを採用する場合は、別のディスクを使用するか、パーティション分割を検討してそのディスクにディストリビューションをインストールする必要があります。 Windows アップデートは Linux を好まないため、頻繁に壊れてはいけないものを壊し、Linux システムを起動できなくします。これにセキュア ブートと BitLocker の悪ふざけを追加すると、デュアル ブートを回避する十分な理由が得られます。

WSL2 を使用すると、この面倒な作業がすべてなくなり、システムを再起動するためにシステムの電源をオフにする必要さえありません。 Windows アップデートによって Linux システムの起動動作が損なわれたり、他のセキュリティ機能によってアクセスが妨げられたりする心配が少なくなります。起動中に BIOS 設定を無効にしたり再構成したりする必要はありません。

もう再起動は必要ありません

/images/truenas-in-firefox-in-wsl.jpg

WSL の最も優れた点は、現在の Windows セッションで Linux アプリを実行できることです。つまり、この小さなタスクのために Windows セッションをシャットダウンしてから Linux を起動する必要はありません。そのため、PowerShell ウィンドウから Linux のお気に入りのターミナル ユーティリティを使用できます。

WSLg は GUI アプリも実行できるため、これらの改善は CLI ツールに限定されません。したがって、ディスクやその他のアプリなどを使用したい場合は、単純な wsl コマンドで機能します。アプリを起動するために Linux システム ディレクトリにいる必要はありません。

私は、これまで利用できなかったこのクロスプラットフォーム アプリの使用法に畏敬の念を抱いています。 Linux ツールまたはアプリを使用するには VM を開く必要があり、それは仮想マシンまたは分離された Linux システムに限定されていました。一言で言えば、Windows 上で 1 つのターミナル インスタンスを使用するだけで、必要な Linux ツールを起動できます。

同様に、私は Docker を使用して、WSL 環境で何かが動作しないことを心配することなく、複数の自己ホスト型プロジェクトを実行およびテストしています。コンテナ化により、特定のインストールや依存関係を把握する手間が省け、各プロジェクトを他のプロジェクトから分離できます。

GPU パススルーをサポート

LLM プロジェクトに最適

私は数か月前に Paperless-ngx サーバーを構築し、ローカル LLM と組み合わせて検索機能と分析機能を強化しました。 WSL2 はダイレクト GPU パススルーをサポートしているため、このプロジェクトでは非常に役立ち、システムの RTX GPU を使用して LLM に電力を供給できるようになりました。

デュアルブートのルートを選択すると、1 つのシステムが他のシステムに比べて制御できなくなります。 Linux ディストリビューションをデュアルブートまたは VM モードで使用する場合、GPU ドライバーを理解することも頭痛の種です。 WSL2 はそのようなことを要求することもありませんし、アクセスしようとしたときに突然エラーをスローすることもありません。

Ollama は Ubuntu システム上で問題なく動作し、Paperless-ngx サーバーはこれを問題なく利用してファイルを自動的に処理し、検索可能にしました。ファイルを名前でクエリしたり、サーバー上のすべてのファイルを検索して情報を取得する RAG チャットを使用したりできます。

WSLg は、デュアルブートと適切な GPU ドライバーで得られる完璧な GUI エクスペリエンスをまだ実現できません。したがって、デュアルブートをやめることにした場合、ゲームやグラフィックスを多用するアプリに WSL を使用するのは悪い考えになります。むしろ、私のような、CUDA コアとの通信を必要とする AI 関連のことに重点を置くユーザーに最適です。これらのシナリオでは、WSL には遅延が見られません。

かなりの Linux パフォーマンス

もう圧倒的ではありません

/images/wsl-ubuntu-file-management.png

仮想化環境で Linux ディストリビューションを使用する場合の最大の不満は、パフォーマンスのオーバーヘッドが大きいことでした。最高の I/O 速度が得られず、動的なリソース割り当てが不足しており、全体的なエクスペリエンスが苦痛になりました。システムがハードウェアに直接アクセスできるため、Windows と Linux をデュアルブートする最大の動機の 1 つでした。

WSL に関するより深い洞察と実用的なヒントを購読してください

重要な内容 — ニュースレターを購読すると、WSL とデュアルブートの評価に役立つ詳細な WSL の内容、実践的なハウツー、パフォーマンス チューニング ガイダンス、明確な移行アドバイスが得られます。

購読する

購読すると、ニュースレターとマーケティング電子メールの受信に同意し、Valnet の利用規約とプライバシー ポリシーに同意したものとみなされます。いつでも購読を解除できます。

WSL2 を使用すると、ディスク I/O と生のパフォーマンスはそれほど悪くありません。私のテストでは、WSL システムは、ホーム ディレクトリからファイルにアクセスする際のシーケンシャル読み取りおよび書き込み速度がほぼ同じでした。 mnt ディレクトリとクロスシステム ファイル アクセスは、ホーム ディレクトリほど優れたものではありませんが、それでも機能します。

必要な場合以外はデュアルブートしないでください

WSL は多大な労力を費やしたため、デュアルブート アプローチの代わりに WSL を使用することを確信しました。速度が遅くなることはなくなり、Linux システムでネイティブに近いパフォーマンスを提供できるようになりました。これがデュアルブートの最大のポイントでした。 GPU パススルーはデフォルトで有効になっており、AI タスクに最適です。デスクトップ環境を使用せずに CLI ベースのディストリビューションを使用すると、リソースの消費が抑えられます。

ただし、リソース消費量が少ないにもかかわらず、WSL を並行して実行するには、依然として有能な PC が必要です。平均的なスペックの PC を使用している場合は、デュアルブートが賢明な選択かもしれません。 Windows 上で Android アプリを実行できるようにした Windows Subsystem for Android (WSA) のように、Microsoft が WSL を全面的に実行しないことを願っています。

*️⃣ 出典リンク:

Windows マシン上での Linux アプリの実行、VirtualBox などのレベル 2 ハイパーバイザー、セキュア ブート、Linux のお気に入りのターミナル ユーティリティ、Docker、数か月前に Paperless-ngx サーバーを構築し、ローカル LLM と組み合わせた Linux ディストリビューション、