Windows上にLinuxを導入する方法3選|WSL2に使えるターミナルも紹介

Windows上にLinuxを導入する方法3選|WSL2に使えるターミナルも紹介のアイキャッチイメージ

Linuxのディストリビューションとカーネルとは?


一言でLinuxと言っても、LinuxはWindowsなどのOSと異なり、いくつかの種類が存在します。そのため、Linuxを理解するためには、まずはLinuxの種類について知っておくことが重要です。Linuxには「Linuxカーネル」というオリジナルのLinuxの他に、「Linuxディストリビューション」と呼ばれる種類があります。ここではLinuxの種類についてご紹介します。

Linuxディストリビューション

LinuxディストリビューションはオリジナルのLinuxカーネルと区別するための呼び方で、現在さまざまな団体や企業がLinuxカーネルを使用した独自のLinuxディストリビューションをリリースしています。また、有料のOSであるWindowsと比較すると、Linuxカーネルが無料で利用できるのと同様に、多くのLinuxディストリビューションも無料で利用することができます。

Linuxカーネル

Linuxカーネルは最初に開発されたもともとのLinuxのことで、無料で利用することができ、さらに誰でも再配布を行えるようになっています。そのため、前述のようにLinuxカーネルを利用し、さまざまな団体や企業がLinuxディストリビューションとして再配布を行っています。また、Linuxカーネルはプロセス管理、プロセス間通信、メモリ管理、ファイルシステム、ネットワーク、カーネルプリミティブという構成になっています。

Windows上にLinuxを導入する方法3選


WindowsにLinuxを導入するというと難しそうに聞こえるかもしれませんが、実は初心者でも簡単に行うことができます。ここでは、WindowsにLinuxを導入する方法を3つご紹介します。

1:WSL(Windows Subsystem for Linux)2

Windows10にはLinuxを使うための「WSL」が導入されており、Microsoft Storeから簡単にLinuxをインストールすることができます。Windows10 v2004では「WSL2」が導入され、より高速で軽快な動作が可能となりました。WSL2はバックポートされ、現在はv1903/v1909のリビジョンナンバー「1049」以降で使うことが可能です。

「Linux 用 Windows サブシステム」と「仮想マシン プラットフォーム」を有効化する

WSL2をインストールするために、コントロールパネルを起動してプログラム、Windowsの機能の有効化または無効化を選択すると、「Windowsの機能」ウィンドウが開きます。そこで「Linux 用 Windows サブシステム」と「仮想マシン プラットフォーム」にチェックを入れてOKをクリックします。その後再起動を求められますので再起動します。なお、コマンドラインからのインストールも可能です。

WSL2用Linuxカーネルをインストールする

WSL2を使用するためには、事前にWSL2用Linuxカーネルモジュールに更新する必要があります。マイクロソフトのサイトからダウンロード可能ですので、ダウンロードしてインストールします。

デフォルトで使うWSLのバージョンを設定する

コントロールパネルからWSLをインストールした直後は、デフォルトで使うバージョンはWSL1を使用するように設定されています。そのため、WSL2をデフォルトで使うようにするためにPowershellを実行します。

Linux ディストリビューションをインストールする

次に実行したいLinuxディストリビューションをインストールします。スタートメニューから「Microsoft Store」を起動し、インストールしたいLinuxディストリビューションを選択してインストールします。右上に表示される「検索」から「Linux」を入力することで簡単に見つけることができます。

ディストリビューションを起動してユーザー名とパスワードを設定する

インストールが完了するとLinuxディストリビューションを起動できます。初回起動時にはインストールされたファイルが適切にPC内に展開されるまでに数分(PCのスペックによります)かかります。その後ユーザー名とパスワードの入力が求められますので、デフォルトで使うユーザー名とパスワードを入力します。入力が完了しますと、shellが表示されて使用可能となります。

GUIを使うには?

WSL2ではWindows上にWindows用xserverのいずれかをインストールすることでLinuxのGUIで使うことができます。現状ではMicrosfot Storeから入手できる「X410」やフリーで使うことができる「VcXsrv」があり、Windows/WSL2上のLinuxそれぞれ設定することで使うことが可能です。

2:仮想マシン

Windows上に仮想マシンソフトをインストールして、仮想マシン上にLinuxをインストールすることで使うことが可能です。仮想マシンソフトとしてはOS標準のHyper-V、VMware社から提供されているVMware Workstaiton Player(有償版でWorkstation Pro)、Oracle社から提供されているVirtualBoxがあり、これらはすべて無料で使うことが可能です。

仮想マシンソフトをインストールする

仮想マシンソフトを各社ホームページからダウンロードしてインストールします。Hyper-Vの場合はWindowsの機能の有効化からHyper-Vの機能を有効化で使うことができます。

Linuxディストリビューションをダウンロードしておく

LinuxディストリビューションのインストールISOをダウンロードします。フリーで使用できるLinuxディストリビューションはDebian/UbuntuやCentOS/Fedra、Oracle Linux、OpenSUSEなどがあり、それぞれのホームページからダウンロードが可能ですのでインストール用ISOイメージを入手しておきます。

仮想マシンを作成しLinuxをインストールする

仮想マシンソフト上で仮想マシンを作成し、ダウンロードしたインストールISOイメージをマウントします。その後仮想マシンをマウントしたISOイメージから起動して、インストールウィザードに従ってインストールと初期設定を進めます。初期設定が完了したら使用可能です。

3:Docker(コンテナ型仮想化)

Docker(コンテナ型仮想化)は、Docker社が提供しているコンテナ仮想化技術を使用してLinuxを早く構築して使用することができます。WindowsでのDockerの機能は、「Docker For Windows」のインストールで使うことができます。

なお、Docker For WindowsはHyper-Vの機能を使用するため、Hyper-Vの機能を持たないWindows10 Homeで使うことができませんでしたが、v2004以降(または1903/1909のリビジョン1049)であればWSL2の機能を使用することでDocker For Windowsが使用可能となりました。Windows10 Proでもv2004以降の場合はHyper-VではなくWSL2で使うように変更されています。

以降はWindows10 1809とDocker For Windowsで使う方法を記載しますのでご参照下さい。

「Hyper-V」を有効化する

Windows10 Pro/EnterpriseでDocker For Windowsを使用するためには、事前にHyper-V を有効化することで使うことができます。コントロールパネルを起動し、プログラム、Windowsの機能の有効化または無効化を選択すると、「Windowsの機能」ウィンドウが開きます。そこで「Hyper-V」にチェックを入れてOKをクリックすると、機能の有効化処理が実行されます。その後再起動を求められますので再起動します。

Docker For Windowsをインストールする

Docker For Windows は Docker Hub から入手可能です(2021/2時点での最新版は 3.1.0)。ダウンロードしたインストーラー(Docker Desktop Installer.exe)をダブルクリックで実行し、必要なデータをダウンロード後にインストールウィザードが起動します。「Eable Hyper-V Windows Features」と「Add shortcut to desktop」にチェックが入っていることを確認して「OK」をクリックします。自動的にインストールが開始します。完了後に再起動を求められますので、再起動します。

Docker Desktopを起動しDocker Hubからイメージを取得する

Dockerで使用するイメージをDocker Hubから取得します。インストールしたいLinuxイメージを「docker search」コマンドを使用して検索し、「docker pull」コマンドでダウンロードします。ubuntuのイメージで使うなら「docker pull ubuntu」、centosのイメージで使うなら「docker pull centos」を実行して最新のイメージの取得が可能です。

コンテナを作成して起動する

イメージが取得できたら、「docker run」コマンドを使用してダウンロードしたイメージをもとにコンテナを作成して起動します。具体的には「docker run -it -d –name <任意のコンテナ名> <イメージ名>」というように実行します。エラーがなくプロンプトが帰ってきましたら作成と起動が成功しています。また「docker ps」コマンドで起動中のコンテナが確認できます。

作成したコンテナに入る

起動したコンテナに入るには「docker exec」コマンドを使用します。Powershell上で「docker exec -it <コンテナ名> bash」を実行するとLinuxコンテナに入ることができ、bash shellでの操作が可能となります。

WSL2で使えるターミナルエミュレーター5選


Windows10上にインストールしたWSL2のCUIを使用するためにはターミナルエミュレーターが必要です。ここではインストールしたWSL2で使うことができるターミナルエミュレーターをご紹介します。

1:WSL2の標準のターミナル

Microsoft StoreからLinuxディストリビューションをインストール/起動後、初期設定(ユーザー名とパスワードを入力)が完了することで使うことができるWSL2標準のターミナルです。Linuxのコンソールとほぼ同じ感覚で使うことができます。

2:Windows Terminal

Windows TerminalはMicrosoft Storeからのダウンロードで使うことができるマイクロソフト製のターミナルエミュレーターです。WSL2コンソール、Windowsコマンドプロンプト、PowerShell、Azure CLIなどを複数のタブで表示でき、すばやく切り替えることが可能となります。

3:Hyper

HyperはオープンソースのソフトウェアフレームワークであるElectron製のターミナルエミュレーターです。自由に見栄えを変更できたり、機能拡張もJavaScriptで記載されたプラグインで使うことが可能です。

4:Cmder

Cmderはタブで使うことができるターミナルエミュレーターです。インストールが不要で、ダウンロードして解凍したフォルダにあるCmder.exeをダブルクリックで使うことができます。Full版とMini版があり、Full版ではgitコマンドがGit for Windowsが同梱されているので使うことができます。

5:wsl-terminal

wsl-terminalはWSL用に作成されたターミナルエミュレーターで、githubで公開されています。デフォルトのシェルをbashからzshに変更したり、オプションで外観やキー操作、マウス動作のカスタマイズが可能です。

Windows上にLinuxを導入して機能を活用しよう


Windows上にLinuxを導入する方法を選択できるようになり、展開も簡単になりました。その中で特にWSL2はOS標準の機能で使うことができ、ほとんどのLinuxのツールをWindows上で使うことができます。また負荷も低く起動も早いというメリットがあります。ご自身のWindows上にインストールして開発や動作確認など、Linuxの機能を活用していきましょう。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。

合わせて読みたい

未経験へスライド済:インフラエンジニアとしてやりがいを感じる瞬間とは?勉強方法のポイントもご紹介!... 給料や待遇面の他に、「やりがい」が職場を決めるうえで大きなポイントとなる方も多いのではないでしょうか。 本記事では、インフラエンジニアのやりがいについてご紹介します。 またインフラエンジニアになるための勉強方法もまとめたので、インフラエンジニアを目指したいと考えている方もぜひ参考にしてくださ...
インフラエンジニアも在宅勤務が可能に!できることや求人の探し方... 従来、インフラエンジニアの在宅勤務は難しいといわれていました。 しかし、クラウドの普及により最近ではインフラエンジニアの在宅勤務も可能になりつつあります。 ライフスタイルに合わせて働くために、在宅勤務にシフトしたいと考えている方もいるのではないでしょうか。 ここでは、インフラエンジニアの在...
【インフラエンジニアの働き方紹介2】SESの仕事内容と身につく力... IT業界で働いていると「SES」という言葉を聞いたことがある方も多いのではないでしょうか。 この記事では、SESはどのような働き方をするのか、どのようなメリットがあるのかなどを紹介します。 SESのインフラエンジニアはどんな仕事をしているのか エンジニアが客先で働く際、クライアントとベンダ...
インフラエンジニアがプログラミングを必要な理由とオススメ学習方法... さまざまなWebサービスやシステムのIT基盤を支えるインフラがクラウド化されていくに従って、インフラエンジニアもプログラミングスキルが必要になっています。 しかし、インフラをプログラミングするとはどいういう意味なんでしょうか? また、これからのインフラエンジニアに求められる知識・スキルは...
これで分かる!インフラエンジニアの全キャリアパスを徹底解説... これからインフラエンジニアを目指す方や、すでにインフラエンジニアとして活動されている方も含めて自身のキャリアアップをどのように進めていけば良いのか検討している方は少なくないでしょう。 しかし、ITインフラを構築・運用するという専門性の高い仕事に就いていることで、そこからさまざまな職種や仕事に派...