8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2023で記事投稿!

WSL2ではWindowsのシステムフォルダを使わない方が身のためだ

Last updated at Posted at 2023-06-19

はじめに

このドキュメントでは、Windows上でLinux環境を動かすためのWSL2でハマったポイント(注意点)について解説します。
ただ自分のような初心者でも理解しやすいように、いきなり注意点に関して説明するのではなく、まずはWSL2に関して基本的な内容から説明していきます。

「そんなこといいからさっさと表題について教えてくれ」という方は、真っ先にハマったポイントと注意点にどうぞ。

WSLとは?

WSLはWindows Subsystem for Linuxの略で、Windows上でLinuxの環境を動かすことができる機能です。

WSL2とその特徴

WSL2は、WSLのバージョン2で、いくつかの重要な改善が行われています。

  • 完全なLinuxカーネルを使用
  • 完全なシステムコール互換性

WSL2のインストール方法

  1. PowerShell (または Windows コマンド プロンプト)を管理者モードで開きます
  2. wsl --install コマンドを入力します
  3. 再起動しましょう
  4. PowerShell/コマンドプロンプトでwslコマンド入力すればもうそこはWSL2の世界です
    • コマンドプロンプトを起動せずともタスクバーでWSLと検索しても出てくるかと思うのでそちらでも大丈夫です

WSL2を活用する

WSL2を活用して、Linuxコマンドラインツール、スクリプト、アプリケーションの開発、テストなどを行うことができます。
ビバLinux !!

ハマったポイントと注意点

「よーし、これでLinuxが動かせるぞ〜。まずはyarn installコマンド実行してhogehogeプロジェクトの依存関係をインストールしよう!」

User /mnt/c/hogehoge  $ yarn

「。。。遅い」

そうなんです。コマンド実行にめちゃくちゃ時間がかかるんです。

これはなぜかというと、WSL2とWindowsのファイルシステム間での通信が遅いためです。

実際にMicrosoftのドキュメントでも WSL1 と WSL2 を比較した際に、 WSL2 が劣っている点として「OS ファイル システム間でのパフォーマンス」を挙げているのです。

なのでWSL2でWindowsのファイルシステムを/mnt下で操作するときは、パフォーマンスが落ちることがあります。

ですので可能な限り、Linux環境内でファイルを操作することをお勧めします。

User /mnt/c/hogehoge  $ cd
User ~  $ git clone hogeohge
User ~  $ cd hogehoge
User ~/hogehoge $ yarn

このようにLinux環境内に移動してファイル操作(コマンド実行)してみてください。
実際に比べてみると一目瞭然かと思います。

まとめ

先にも述べたように、/mnt下でのファイル操作はパフォーマンスの面で若干遅くなることがあるため、注意が必要です。
しかしながら、それ以外の面においては、Linux GUI アプリを実行することもできますし、
完全なLinuxカーネルをWindows上で動作させることが出来るので、
WSL2は(階層にさえ注意すれば)開発者にとって強い味方になってくれるはずです。

8
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?