VMなしの仮想Linux: Windows 10でWSLを使用

投稿者: Dan Franciscus 投稿日: 2019年1月7

Microsoft と Linux が敵対関係にあるような時代がありました。対立相手を倒して、オペレーティングシステムの牙城を目指す争いを繰り広げていました。しかし、時代は変わりました。

覇権争いはまだ続いているのかもしれませんが、少なくともマイクロソフト側からは、オリーブの枝(和平の象徴としての)が Linux コミュニティに差し向けられました。Satya Nadella 氏が Microsoft のCEOに就任して以来、Microsoft は Linux をエコシステムに取り入れるようになり、敵対より共生の道を選んだように見受けられます。PowerShell は現在クロスプラットフォームであり、Linux 上でも動作します。OpenSSH は Windows 上で動作し、Linux VM は Azure 上で動作します。Windows Subsystem for Linux (WSL) を使えば、Windows 10に、ネイティブに(VMを使用せずに)Linuxディストリビューションのディレクトリをインストールすることもできます。

仮想マシンを使わない理由

WSLのことを耳にしたとき、まず頭に浮かんだ疑問がありました。それは、「今まで慣れ親しんできたように仮想マシンを使えばいいのに、そうしないのはなぜか?」という疑問でした。仮想マシンを使うという選択肢はもちろんあります。違いは、WSLを使うとリソースの点で仮想マシンのようなオーバーヘッドがないという点です。また、Bashプロンプトから Windows ホストと対話したり、PowerShell から Linux コマンドを実行したりすることもできます。

たとえば、PowerShell から、実行可能ファイル wsl.exe を使用して、Windows ディレクトリで ls –la を実行できます。

terminal1

下は、Linux WSLインスタンスのBashシェルから同じコマンドを実行しています。WindowsファイルシステムがLinuxディストリビューションの /mnt/c にマウントされていることに留意してください。

terminal2

Windows 10 へのWSLのインストール

Windows 10 マシンに Ubuntu をインストールするには、Microsoft のドキュメントを参考にして、Windows 10コンピュータにLinuxディストリビューション(Ubuntu)を、PowerShellからインストールします。まず、WSL機能を有効にして、リブートします。

PS C:\Windows\system32> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Windows 10 に Ubuntu をインストール

次に、Invoke-WebRequest コマンドレットを使って Ubuntu ディストリビューションをダウンロードします。

PS C:\Windows\system32> Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.zip –UseBasicParsing

それから、ディストリビューションを解凍し、ディレクトリを変更して、ディストリビューションの .exeを起動します。

PS C:\Windows\system32> Expand-Archive ~/Ubuntu.zip ~/Ubuntu

PS C:\Windows\system32> cd C:\Users\vagrant\Ubuntu\

PS C:\Users\vagrant\Ubuntu> .\ubuntu.exe

最後のステップとして、ディストリビューションにローカルのユーザー名とパスワードを設定します。

Installation successful!

Please create a default UNIX user account. The username does not need to match your Windows username.

For more information, visit: https://aka.ms/wslusers

Enter new UNIX username: dan

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

Default UNIX user set to: dan

To run a command as administrator (user "root"), use "sudo ".

See "man sudo_root" for details.

これで Windows 10 コンピュータ上に、Linux の Bash プロンプトが表示されます。

dan@vagrant-10:~$

Dan Franciscus
Dan Franciscus is a systems engineer and VMware Certified Professional (VCP) specializing in VMware, PowerShell, and other Microsoft-based technologies. You can reach Dan at his blog (http://www.winsysblog.com/) or Twitter at @dan_franciscus.
著者が作成したブログ

関連記事

MOVEit 2018 の REST API で PowerShell を使う
MOVEit の利用形態として、MOVEit コンソールや Web インタフェースからログインして日々の管理業務を行ったり、1回限りのワークフローを設定して操作する作業は理にかなっており、首尾よくいきます。一方、MOVEit Automation の自動化を活用したいケースもあります。
Prefooter Dots
Subscribe Icon

Latest Stories in Your Inbox

Subscribe to get all the news, info and tutorials you need to build better business apps and sites

The specified form no longer exists or is currently unpublished.