Windows 10上にインストールしたLinux/Ubuntu環境を削除したり、元のクリーンな状態に戻したりするにはlxrunコマンドで操作するとよい。
対象OS:Windows 10バージョン1607以降(64bit版のみ)
【2018/07/21追記】
「Bash on Ubuntu on Windows」とその後継の「WSL(Windows Subsystem for Linux)」について
「Bash on Ubuntu on Windows」はLinux互換機能の開発当初の名称であり、現在では「WSL(Windows Subsystem for Linux)」として正式にリリースされている。本TIPSでは、古いBash on Ubuntu on Windowsの初期化/再インストールについて述べているが、現在の新しいWSLにおけるインストールや初期化の方法については、以下の記事を参照のこと。
Windows 10のバージョン1607で導入された「Bash on Ubuntu on Windows」を使っていると、例えば次のような理由などから再インストールしたくなることがある。
Bash on Ubuntu on Windowsの最初のインストールはコントロールパネルの「プログラムの追加と削除」から行うため、そこでいったん削除してから再インストールしてもよい。だがこれだと、システムの再起動が必要だったり、ユーザーごとの環境(作成したファイルシステムなど)が削除されずに残るなど、面倒である。
Bash on Ubuntu on Windowsの再インストールを行うには、あらかじめ用意されているWindows Subsystem for Linux(WSL)の管理用コマンドを利用する。本TIPSではその方法を紹介する。
Bash on Ubuntu on Windowsの概要や具体的なインストール方法などについてはここでは触れないので、以下の記事を参照していただきたい。
Bash on Ubuntu on Windowsはユーザーごとに個別にインストールして利用する機能である。このインストールやアンインストールを行うために「lxrun」というコマンドが用意されている。このコマンドはBash on Ubuntu on Windowsをインストールするとシステムに追加される。
C:\>lxrun /? ……ヘルプの表示
LX サブシステムの管理操作を実行します
使用法:
/install - サブシステムをインストールします
オプションの引数:
/y - ユーザーに許可を求めません
/uninstall - サブシステムをアンインストールします
オプションの引数:
/full - 完全アンインストールを実行します
/y - ユーザーに許可を求めません
/setdefaultuser - bash を起動するサブシステム ユーザーを構成します。ユーザーが存在しない場合は作成されます。
オプションの引数:
username - ユーザー名を指定します
/y - ユーザー名が指定された場合、パスワードの作成を求めません
/update - サブシステムのパッケージのインデックスを更新します
C:\>
Bash on Ubuntu on Windowsを削除するには「lxrun /uninstall」コマンドを実行する。この時、ユーザーごとのLinuxファイルシステムなど(%LOCALAPPDATA%\lxss以下)も全て削除して、完全にクリーンな状態にするには/fullオプションも付けて実行する。このオプションを付けないと、ユーザーのホームディレクトリやBash用のプロファイル(.profileや.bashrcなど)が残り、次回再インストール後にもそのまま利用される。
※/fullオプションなしの場合
C:\>lxrun /uninstall ……オプションなしの削除
これにより Windows 上の Ubuntu がアンインストールされます。
Ubuntu 環境および次の項目を除くすべての変更内容と新しいアプリケーションが削除されます。
C:\Users\user01\AppData\Local\lxss\home ……これらのデータは削除されずに残る
C:\Users\user01\AppData\Local\lxss
oot
続行するには、"y" を入力してください: y ……確認入力
アンインストールしています...
C:\>
※/fullオプションを付けた場合
C:\>lxrun /uninstall /full ……全て削除させる
これにより Windows 上の Ubuntu がアンインストールされます。
Ubuntu 環境およびすべての変更内容、新しいアプリケーション、およびユーザー データが削除されます。
続行するには、"y" を入力してください: y ……確認入力
アンインストールしています...
C:\>
※/fullと/yオプションを付けた場合
C:\>lxrun /uninstall /full /y ……確認なしに全て削除される
これにより Windows 上の Ubuntu がアンインストールされます。
Ubuntu 環境およびすべての変更内容、新しいアプリケーション、およびユーザー データが削除されます。
アンインストールしています...
C:\>
/fullオプションを付け忘れて実行した場合は、/fullを指定してもう一度「lxrun /uninstall /full」を実行すればよい。さらに/yオプションを付けると、確認なしで削除される。
なお、このコマンドで削除されるのは、lxrunを実行したユーザーの環境だけである。他のユーザーのBash on Ubuntu on Windows環境を削除するには、そのアカウントでサインインして個別に実行する。
新しくBash on Ubuntu on Windows環境を作成するには「lxrun /install」を実行する。この時/yオプションを付けておくと、途中で何も入力・指定することなくインストール作業を完了できる(/yがない場合は、ユーザー名とパスワードを指定する)。その場合、WSL環境用のユーザー名は現在サインインしているユーザーアカウント名、パスワードは「なし」となる。
※/yオプションなしの場合
C:\>lxrun /install ……デフォルト設定でインストールさせる
-- ベータ機能 --
これにより Windows に Ubuntu がインストールされます。Ubuntu は Canonical によって配布される製品であり、
次のサイトに示される条件に基づいてライセンスされています。
https://aka.ms/uowterms
続行するには、"y" を入力してください: y ……確認入力
Windows ストアからダウンロードしています... 100%
ファイル システムを展開しています。この処理には数分かかります...
既定の UNIX ユーザー アカウントを作成してください。ユーザー名は、Windows のユーザー名と一致する必要はありません。
詳細: https://aka.ms/wslusers を参照してください
新しい UNIX ユーザー名を入力してください: unixuser01 ……ログインユーザー名の指定。これはWSL/Bash上でのみ有効なユーザー名
新しい UNIX パスワードを入力してください: ……パスワードの入力
新しい UNIX パスワードを再入力してください: ……パスワードの確認入力
passwd: password updated successfully
インストールが正常に終了しました
C:\>bash ~ ……bashを起動してみる
unixuser01@DESKTOP-4TV2I57:~$ ……bashのプロンプト。ユーザー名が作成したものになっている
※/yオプションを付けた場合
C:\>lxrun /install /y ……ユーザー入力なしにインストールさせる
-- ベータ機能 --
これにより Windows に Ubuntu がインストールされます。Ubuntu は Canonical によって配布される製品であり、
次のサイトに示される条件に基づいてライセンスされています。
https://aka.ms/uowterms
Windows ストアからダウンロードしています... 100%
ファイル システムを展開しています。この処理には数分かかります...
インストールが正常に終了しました
C:\>
/yオプションを付けてインストールすると、ログインするユーザー名はrootになる。
Bashを起動すると、Bash on Ubuntu on Windowsのインストール時に指定したユーザー名でログインする。ただしこのユーザー名はBash on Ubuntu on Windows中でのみ有効なユーザー名となる。
Bashへのログイン時のユーザー名を変更するには「lxrun /setdefaultuser <ユーザー名>」を実行する。ユーザー名が存在していない場合は新規作成されるが、既に存在している場合は、そのユーザーに切り替わる。
※ユーザー名を省略した場合(ユーザー名とパスワードを問い合わせるプロンプトが表示される)
C:\>lxrun /setdefaultuser ……ログインユーザー名を新規作成させる
既定の UNIX ユーザー アカウントを作成してください。ユーザー名は、Windows のユーザー名と一致する必要はありません。
詳細: https://aka.ms/wslusers を参照してください
新しい UNIX ユーザー名を入力してください: user02 ……ユーザー名
新しい UNIX パスワードを入力してください: ……パスワードの指定
新しい UNIX パスワードを再入力してください: ……パスワードの確認入力
passwd: password updated successfully
既定の UNIX ユーザーが次に設定されました: user02 ……設定されたユーザー名
C:\>bash ~ ……bashを起動してみる
user02@DESKTOP-4TV2I57:~$ exit ……指定したユーザー名になっている
exit
C:\>
※ユーザー名を指定した場合(パスワードを問い合わせるプロンプトが表示される)
C:\>lxrun /setdefaultuser user03 ……ユーザー名を指定して実行
新しい UNIX パスワードを入力してください: ……パスワードの入力
新しい UNIX パスワードを再入力してください: ……パスワードの確認入力
passwd: password updated successfully
既定の UNIX ユーザーが次に設定されました: user03
C:\>
※ユーザー名を指定して、さらに/yオプションを付けた場合(パスワードなしになる)
C:\>lxrun /setdefaultuser user04 /y ……ユーザー入力なしにインストールさせる
既定の UNIX ユーザーが次に設定されました: user04
C:\>
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.