このページでは、Windows に WSL を導入する手順について解説していきます!
Contents
WSL とは
ちょっと寄り道になりますが、最初に WSL について解説しておきます。この解説が不要という方は WSL を導入する手順 にスキップしていただければと思います。
WSL = Windows Subsystem for Linux
WSL は Windows Subsystem for Linux の略で、Linux 環境を Windows 上で利用する仕組みになります。
WSL をインストール・有効化すれば、Windows 上で Linux が動作するようになります。従来であれば、Linux を利用するために別の PC を用意したり、Windows 上で VMWare など仮想環境用のアプリを別途用意する必要がありました。
WSL の場合は Windows 10 から(?)Windows の標準機能としてインストールされており、WSL を有効化し、さらに Linux ディストリビューションをインストールするだけで Linux 環境が Windows 上で利用することが可能となります。
ただ、Windows に元々インストールされている WSL は古い可能性があるので、このページでは最新の WSL を Microsoft Store からインストールする手順を紹介するようにしています。
スポンサーリンク
WSL は Linux を動作させる “単なる” 仕組み
また、WSL をインストール・有効化しただけで Linux が使用可能となるわけではないので注意してください。
あくまでも、WSL は「Linux を Windows 上で動作させるための仕組み」であり、Linux そのものを含んでいるわけではありません。そのため、WSL のインストール・有効化を行うだけでなく、別途 Linux OS(Linux ディストリビューション)をインストールする必要があります。
この Linux ディストリビューションは Microsoft Store 等からも簡単に入手することはできますが、Linux を動作させるまでの手順として WSL のインストール・有効化に加えてディストリビューションのインストールが必要であることは忘れないようにしましょう。
ちなみに、このページでも Linux のことを OS のように扱って説明していますが、実は Linux とは狭義では OS ではなくカーネルのことを意味しています。Linux OS とは、そのカーネルだけでなく、その他の基本的なソフトウェアを含めてパッケージ化されたものとなります。そして、そのカーネル以外の部分は OS の用途として様々な組み合わせで構成されてパッケージ化されて配布されるようになっており、その「パッケージの種類(配布形態)」がディストリビューションと呼ばれるようになっています。このディストリビューションには下記のようなものが存在します。
- Ubuntu
- CentOS
- Red Hat Enterprise Linux
複数のディストリビューションを管理可能
また、1つの Windows PC で複数の Linux ディストリビューションを管理可能であるという点も WSL の特徴になると思います。例えば Ubuntu と CentOS のディストリビューションを入手しておけば、1つの Windows PC で、ある時は Ubuntu を利用し、ある時は CentOS を利用するようなことも可能となります。
バックアップや再インストールも用意
さらに、WSL には export 機能があり、その時点の Linux 環境の状態をそのままファイルとして出力することができるようになっています。そのため、Linux 環境のバックアップを容易に行うことができます。
また、WSL には import 機能があるため、他の Windows PC 上に同じ Linux 環境を複製したり、他の Windows PC に移行したりすることも簡単に実現できます。
また、ディストリビューションはアンインストールして再度インストールを行うことで初期状態に戻すことができます。もし、万が一、Linux が動作しなくなったとしても再インストールを行えば元の状態に戻ります。
スポンサーリンク
Windows との連携がしやすい
また、WSL 上で動作する Linux は Windows と連携がしやすいという特徴もあります。
Linux から Windows のファイルシステムが利用可能
WSL 上で動作する Linux からは Windows 上に存在するフォルダやファイルにアクセスすることが可能です。なので、Linux から Linux コマンドを利用して Windows 上に存在するフォルダやファイルに対する操作を行うようなことも可能です。
PowerShell やコマンドプロンプトからもコマンドによってフォルダやファイルの操作を行うことも可能ではあるのですが、これらよりも Linux コマンドに慣れているという方も多いと思います。そんな場合は、PowerShell やコマンドプロンプトを利用するのではなく、WSL の Linux からコマンドを実行してやれば良いことになります。
Windows から Linux への接続も簡単
また、VSCode の拡張機能などを利用すれば VSCode から Linux 上のファイルにアクセスし、ファイルの編集はもちろんのこと、ソースコードのコンパイルや実行等も簡単に行うことができます。VMWare 等でも同様のことは可能ではあるのですが、それよりも簡単に設定等を行うことができます。
WSL を導入する手順
続いて、WSL を導入する手順について説明していきます。
WSL を導入する具体的な手順としては大きく分けて下記の2つとなります。
- 最新の WSL をインストールする
- Linux ディストリビューションをインストールする
PowerShell 等から WSL を有効化して WSL を導入していくこともできますし、その方法の方が一般的で、この方法を紹介されているサイトも多いです。
ですが、Windows に標準で搭載されている WSL が古い可能性があるため、最新の WSL を入手してインストールすることをオススメします。
最新の WSL をインストールする
ということで、まずは最新の WSL をインストールしましょう!
このインストールは、Microsoft Store アプリを利用すれば非常に簡単に行うことができます。
まず Microsoft Store アプリを起動し、ウィンドウ上部の検索バーに wsl
と入力します。そうすると、おそらく一番上に「Windows Subsystem for Linux」が表示されるはずです。ペンギンのアイコンが表示されているアプリです。
「Windows Subsystem for Linux」をクリックし、さらに右上のインストールボタンをクリックすれば、最新の WSL が Windows PC にインストールされることになります。ということで、インストールボタンをクリックしてください。
インストールが完了した後は、ウィンドウ右上のボタンにマウスカーソルを合わせれば「開く」と表示されるはずです。今度は、この「開く」ボタンをクリックしてください。
そうすると、WSL が起動して下の図のような画面が表示されるはずです。先程の手順で行われたのは、あくまでも WSL のインストールと有効化になります。ですが、WSL 上で Linux を動作させるためには別途 Ubuntu 等のディストリビューションのインストールが必要となります。現状ではまだそれを行なっていため、下の図のような画面が表示されることになります。ただし、この画面が表示されれば、ひとまず WSL のインストール及び有効化に関しては成功していると考えて良いです!
スポンサーリンク
Linux ディストリビューションをインストールする
次は Linux ディストリビューションのインストールを行います。このインストールを行うことで、先程インストールした WSL 上でディストリビューションに応じた Linux OS が動作するようになります。
このディストリビューションは、WSL 同様に Microsoft Store からインストールすることも可能ですし、ディストリビューションによっては異なる方法でインストールが必要となるものもあります。
今回は代表的なディストリビューションの1つの Ubuntu をインストールしていきたいと思います。Ubuntu は Microsoft Store からインストールすることができるため導入も簡単ですし、使いやすいディストリビューションなのでオススメです。
Ubuntu のインストール
まず、WSL のインストール時と同様にMicrosoft Store を開き、検索バーで ubuntu
と入力してください。これにより、おそらく複数のバージョンの Ubuntu が表示されると思います。
この中で一番新しい LTS をインストールします。2023/10/17 時点では最新が Ubuntu 22.04.2 LTS になるため、これをインストールします。
インストール手順は WSL の時と同様なので説明は省略しますが、おそらく WSL の時よりもインストールに時間がかかると思います。インストールが完了した後は「開く」ボタンから Ubuntu の実行を行ってください。
そうすると、下図のような画面が表示されると思います。これが表示されれば、WSL 上で Ubuntu の起動自体には成功していると考えて良いです!
ユーザー名・パスワードの設定
Ubuntu 起動後に「ユーザー名」と「パスワード」の入力が促されますので、メッセージに従ってこれらの入力を行ってください。ここで入力されたユーザー名やパスワードは Linux ユーザー用のものとなります。Linux 利用時にパスワードなどが聞かれた場合は、Windows にログインするときに入力するパスワードではなく、ここで指定したパスワードを入力する必要があります。特に、このパスワードはよく利用するため、必ず覚えておくようにしてください。
ユーザー名とパスワードの入力完了後、しばらく経てば下の図のような画面に遷移し、コマンドが入力可能な状態となります。ここまでくれば、Ubuntu を利用するために最低限必要なセットアップが完了したことになります!
各種パッケージの更新
次は Ubuntu 内のソフトウェアパッケージの更新を行なっておきましょう。先程最新の Ubuntu の LTS をインストールしたのでディストリビューションとしては新しいのですが、Ubuntu 内部にインストールされているソフトウェアパッケージが古い可能性があります。そのため、このソフトウェアパッケージを最新の状態にアップデートしておきます。
先程の手順によって Ubuntu のセットアップが完了してコマンド入力が可能な状態になっていると思いますので、まずは下記コマンドを実行してください。
$ sudo apt update
apt
は「パッケージ管理システム」であり、これに引数 update
を指定して実行することで Ubuntu 内のパッケージの一覧リストの更新が行われます。要は、アップデート可能なパッケージの確認が行われます。そして、コマンドの前に sudo
を付加することで、そのコマンドをスーパーユーザーの権限で実行することができます。おそらく sudo
を付加しないとユーザーに権限足りずエラーが発生すると思いますので注意してください。
apt
コマンドに限らず、コマンド実行時に権限が足りなくてエラーが発生する場合は sudo
を付加してコマンドを実行するようにすることで解決できることが多いです。また、 sudo
を付加してコマンドを実行するとパスワードを聞かれることになるので、その際は先程設定したパスワードを入力してやれば良いです。
ということで、上記コマンドを実行し、さらにパスワードを入力すれば、先程言ったようにパッケージの一覧のリストの更新が行われます。
ただ、上記のコマンドの実行で行われるのはリストの更新のみですので、次のコマンドを実行して実際にパッケージの更新を行います。
$ sudo apt upgrade
今回も sudo
を付加していますが、先程パスワードを入力したため今回はパスワードの入力は不要なはずです(先程のコマンド実行から時間が立っている場合はパスワードの入力が必要となります)。
途中で「Do you want to continue? [Y/n]
」と質問されるので、y
と入力してエンターキーを押してください。これによりパッケージの更新が実行されます。
これらのコマンドの実行により、Ubuntu 内部に存在するソフトウェアパッケージも最新になったことになります。Ubuntu の場合は、上記の apt
を利用してソフトのインストールやアンインストールを行うことが可能となっています。この辺りの説明は省略しますが、ぜひ色々試して Linux を楽しんでいただければと思います。
Linux の起動
以上で、Windows 上で Linux を扱う環境が整ったことになります。
ただし、Windows を再起動した際には Linux は停止した状態です。次は、この停止した状態の Linux を起動する手順を説明しておきます。
Linux を起動する手順は複数存在しますが、その中で今回は3つの手順について紹介します。
Windows メニューやショートカットから起動
1つ目は、他のアプリ同様に Windows メニューやショートカットから起動する手順になります。
先程 Linux ディストリビューションのインストールを行なったことで、Windows メニューの「すべてのアプリ」にインストールしたディストリビューション(上記の手順の場合は Ubuntu)のアイコンが追加されていることが確認できると思います。そして、このアイコンをクリックしてやることで Linux を起動することができます。よく利用するのであればスタートにピン留めしておくことをオススメします。
また、ショートカットをデスクトップ上に用意し、それをダブルクリックすることでも Linux を起動することは可能です。
スポンサーリンク
PowerShell から起動
また、Windows に標準でインストールされている PowerShell から起動することも可能です。
PowerShell で下図のように wsl
コマンドを実行すれば Linux が起動し、PowerShell から Linux コマンドによって Linux を操作することができるようになります。
右クリックメニューから起動
さらに、shift
キーを押しながら右クリックを行えば「Linux シェルをここに開く」という項目が右クリックメニューが表示されることになります。そして、この項目をクリックすることで Linux が起動します(すでに起動している場合はシェルのみが起動することになります)。
この手順の良いところは、Linux が起動した際にユーザーが存在する場所が「右クリックメニューを表示したフォルダ」となることになります。
例えば Windows メニューやショートカットから起動 の手順で Linux を起動した場合、最初にユーザーが存在する場所は「Linux におけるホームフォルダ」となります。これは下記のパスとなるはずです(設定やディストリビューションによっては異なるかも)。
/home/ユーザー名
なので、Windows のファイルシステムにおける特定のフォルダの中のファイルを Linux コマンドで操作を行いたいような場合、Linux におけるホームフォルダから Linux コマンドでそのフォルダまでわざわざ移動する必要があります。ですが、右クリックメニューから Linux を起動した場合、右クリックしたフォルダに移動した状態でシェルが起動するため、その移動の手間が減ります。
Windows 上のファイルへのアクセス
上記の説明から感づかれた方もおられるかもしれませんが、WSL 上で動作している Linux からは Windows のファイルシステムにアクセスすることができます。例えば Linux から Windows のデスクトップ上のファイルを変更したり削除したりするようなことも可能です。
WSL 上で動作している Linux においては /mnt
というディレクトリの下に Windows PC に存在するドライブがマウントされるようになっています。例えば、/mnt/c/
の下には Windows PC の C ドライブに存在するフォルダやファイルがそのまま存在するように見えるようになっています。
そのため、WSL 上で動作している Linux から Windows PC に存在するフォルダやファイルにアクセスしたり、フォルダやファイルを変更したりすることも可能です。
スポンサーリンク
アンインストール
最後に、今回インストールしたアプリのアンインストール手順について説明しておきます。
今回は WSL とディストリビューションを Microsoft Store からインストールしましたが、この手順によってインストールしたアプリは Windows の設定の「インストールされているアプリ」からアンインストールすることが可能です。
具体的には、まず Windows メニューから「設定」を開き、
ウィンドウ左側のメニューから「アプリ」をクリックし、さらに「インストールされているアプリ」をクリックすれば、インストール済みのアプリの一覧が表示されます。
この一覧の中に「Linux 用 Windows サブシステム」と「Ubuntu 22.04.2 LTS」が存在するはずなので、ほかのアプリ同様に、この設定画面から WSL とディストリビューションをアンインストールすることが可能です。
特に Linux に関しては色々試行錯誤しているうちに万が一動作が不安定になってしまったとしても、アンインストールして再度ディストリビューションをインストールしてしまえば元の環境に戻すことができますので、気軽にいろんなことに挑戦することができると思います。
また、export 機能を利用すれば、現時点の Linux の状態をそのままファイルとして吐き出してバックアップを取ることも可能です。このあたりに関しても、別途ページを公開して紹介していきたいと思います。
まとめ
このページでは、Windows の WSL について説明しました!
もともと Windows には WSL が標準でインストールされているのですが、Microsoft Store から別途 WSL をインストールした方が新しくて機能も豊富なので、こちらの手順でインストールを行うことをオススメします。
WSL を利用することで WIndows 上で Linux を動作させることができ、Linux の勉強もできますし、Linux コマンド等に慣れている方であれば WSL の活用で作業効率も向上させられると思います。
是非みなさんの Windows PC にも WSL を導入してみてください!