Kitaru
- — 5 months ago

Windows10 ProであればHyper-VへLinuxをインストールすることができますが、自宅のPCはWindows10 HomeのためHyper-Vが使用できません。そのため、Linuxを動かすためにVirtualBoxを使用していました。
しかし、Windows 10 May 2020 Updateで正式機能としてリリースされたWSL2を使用すれば、VirtualBoxなどのサードパーティ製の仮想化ソフトウェアを使用することなくLinuxを動かすことができるということなので導入してみることにしました。
参考サイト
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10 https://qiita.com/ShikiSouma/items/8a47082e0067e102c5c4
CentOS7を動かすまでの流れ
- Linux用Windowsサブシステムを有効にする
- 最新のWindowsバージョンに更新する
- 仮想マシンプラットフォームを有効にする
- WSLの規定バージョンを2に変更する
- CentOS7をインストールする
- CentOS7の動作確認をする
- CentOS7をアンインストールする
Linux用Windowsサブシステムを有効にする
管理者としてPowerShellを実行します。
PowerShellは、画面左下にあるWindowsのロゴを右クリックして表示されるコンテキストメニューから「Windows PowerShell(管理者)」を選択することで起動できます。
PowerShellを起動したら次のコマンドを実行します。
PS > dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
展開イメージのサービスと管理ツール
バージョン: 10.0.19041.329
イメージのバージョン: 10.0.19041.421
機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。
最新のWindowsバージョンに更新する
Windowsのバージョンを確認します。
Windowsキー+Rキーを押下して「ファイル名を指定して実行」を表示します。ファイル名に「winver」と入力し「OK」ボタンを押下すると、次のように「Windowsのバージョン情報」が立ち上がります。
上記のように、バージョン 2004、ビルド 19041よりも前の場合は、次のサイトからWindows10更新アシスタント(Windows10Upgrade9252.exe)をダウンロードしてWindowsを更新します(1時間以上かかります)
https://www.microsoft.com/ja-jp/software-download/windows10
更新前に重要なファイルのバックアップをとっておくことをお勧めします!
Windows更新後にバージョン、ビルドが更新されていることを確認します。
仮想マシンプラットフォームを有効にする
管理者としてPowerShellを実行します。
次のコマンドを実行します。
PS > dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
展開イメージのサービスと管理ツール
バージョン: 10.0.19041.329
イメージのバージョン: 10.0.19041.421
機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。
コマンド実行後にPCを再起動します。
WSLの規定バージョンを2に変更する
管理者としてPowerShellを実行します。
次のコマンドを実行します。
PS > wsl --set-default-version 2
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
ちなみに、わたしの環境では、コマンドを実行した後に下記のエラーが発生していました。
エラー: 0x1bc
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
エラーが発生した場合は下記のサイトから最新のLinuxカーネル更新プログラムパッケージ(wsl_update_x64.msi)をダウンロードして実行して下さい。
https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-kernel
最新のLinuxカーネル更新プログラムパッケージ適用後に、再度コマンドを実行してエラーが発生しないことを確認して下さい。
CentOS7をインストールする
通常はMicrosoft StoreからインストールしたいLinuxのディストリビューションを選択します。
しかし、ここで一つ残念なことが、、、UbuntuやDebianは無料のため問題ないのですが、CentOSは有料となっています。
(・ )ェ( ・)・・・(230円)
有料版を使用しても問題ないと思いますが、ここではGitHubで公開されているWSL用のCentOSを導入することにします。
https://github.com/yuk7/CentWSL
2020年8月時点だと次のzipファイルが最新のCentOS7になるのでダウンロードして下さい。
https://github.com/yuk7/CentWSL/releases/download/7.0.1907.3/CentOS7.zip
C:\Users\ユーザ名\AppData\Local\PackagesにCentOS7ディレクトリを作成して、その中にCentOS7.zipを解凍してできたCentOS7.exeとrootfs.tar.gzをコピーします。
コピー後にCentOS7.exeを直接実行、もしくは、PowerShellから実行します。
インストールが完了するとメッセージが表示される(直接実行した場合はコマンドプロンプトが立ち上がります)ので適当に何かキーを叩きます。
Installing...
Installation Complete!
Press any key to continue...
インストールされたことを確認するために、PowerShellから次のコマンドを実行して下さい。
PS > wsl -l -v
NAME STATE VERSION
* CentOS7 Running 2
CentOS7が表示されており、VERSIONが2となっていれば問題ありません。なお、CentOS7が停止中の場合はSTATEがStoppedになります。
CentOS7の動作確認をする
次にPowerShell上でオプションを指定せずにwslコマンドを実行します。
PS > wsl
# 適当にLinuxのコマンドを実行
・・・
# exit
logout
PS >
何も指定せずにwslコマンドを実行したら、CentOS7にrootユーザでログインすることになります。
ログインした後は通常のLinuxコマンドが使用可能になります。
もしログインしてPowerShellが文字化けする場合は、日本語に対応していないフォントが設定されている可能性があるため、フォントの見直しを行って下さい。
具体的には、PowerShellのタイトルバーを右クリック → プロパティを選択 → フォントタブを選択 → フォントを「MS ゴシック」にしてみて下さい。
CentOS7をアンインストールする
PowerShellから次のコマンドを実行して下さい。
PS > C:\Users\ユーザ名\AppData\Local\Packages\CentOS7\CentOS7.exe clean
This will remove this distro (CentOS7) from the filesystem.
Are you sure you would like to proceed? (This cannot be undone)
Type "y" to continue:y ← yを入力して下さい。
Unregistering...
再度インストールしたい場合は、CentOS7.exeを実行して下さい。
Kitaru
Programmer
Windows10 Home+WSL2でLinux(CentOS7)を動かす Windows10 Home+WSL2でLinux(CentOS7)を動かす 2020-08-02 23:43:16- CentOS7にNextCloudを導入する 1 year ago
- DockerでCodeigniter4 betaを動かす 1 year ago
- Laravel mix vue No.1 - Docker Environment - Dockerでlaravel環境 (laradockを使わない) 9 months ago
- Asterisk16について調べてみた 1 year ago
- Windows10 Home+WSL2でLinux(CentOS7)を動かす 5 months ago
- PHP7.4のpreloadでLaravel7を高速化!? 5 months ago
- 負荷試験ツール「Gatling」を試してみた。【Windows 10 編】 8 months ago
- PipenvによるWindows上でのPython仮想環境の構築について 9 months ago
- CentOS6を使ったルーティング 1 year ago
- 【Docker環境】FluentdとMySQLのbulk insertを使用したログ収集【前編】 8 months ago
- Unity初心者がawsサーバーとWebSocketを使ってのリアルタイム同期通信について学ぶ① 2 weeks ago
- Dockerコンテナ(Fluentd)のTimeZoneをUTCからJSTに変更する 1 month ago
- 端末でのサマータイム確認でログインできない 1 month ago
- laravelを経験した後のEC-CUBE3の所感 2 months ago
- Amazon Auroraのレプリケーション 2 months ago
- Asteriskの音声ガイダンスを日本語化 2 months ago
- AsteriskでCDR(通信履歴)をODBC接続でMySQLへ保存する 3 months ago
- AsteriskのRealtime DatabaseでODBCを使わずにMySQLへ接続する 3 months ago
- Laravel で開発をして思ったこと② 3 months ago
- Asteriskの通話を録音する 3 months ago