Windows 10では、WSLにUbuntuの複数の別個のインスタンスをどのようにインストールしますか?作業スペースごとに個別のインスタンスが欲しいです。たとえば、Python開発、1つはRuby開発、1つは.Net Core開発など。 WSLインスタンス上のUbuntuですが、これらのシナリオごとに個別のUbuntuが必要です。
可能ですが、いくつかの作業が必要です。 LxRunOffline -"Windows Subsystem for Linux(WSL)用のフル機能ユーティリティ"を使用できます。 Chocolateyからインストールできます:choco install lxrunoffline
、またはダウンロードして解凍します。 PATHにLxRunOffline.exeを追加することもできます。https://lxrunoffline.apphb.com/download/{distro}/{version}
は、目的のディストリビューションのダウンロードページにリダイレクトします。この場合、lxrunoffline wikiによると、.../ubuntu/xenialまたは同様のものになります。または、 Canonical から直接ダウンロードできます。その後、次のことができます。LxRunOffline install -n someName -d where/to/install -f path/to/downloaded/distro
名前とターゲットディレクトリが異なる複数回。
その後、lxrunoffline -w -n someName
を使用して目的のインストールを開始します。最後に、特定のワークスペースのさまざまなオプションを使用してデスクトップ上に複数のショートカットを作成できます。
LxRunOfflineで使用可能なコマンド:
list List all installed distributions.
get-default Get the default distribution, which is used by bash.exe.
set-default Set the default distribution, which is used by bash.exe.
install Install a new distribution.
uninstall Uninstall a distribution.
register Register an existing installation directory.
unregister Unregister a distribution but not delete the installation directory.
move Move a distribution to a new directory.
duplicate Duplicate an existing distribution in a new directory.
run Run a command in a distribution.
get-dir Get the installation directory of a distribution.
get-env Get the default environment variables of a distribution.
set-env Set the default environment variables of a distribution.
get-uid Get the UID of the default user of a distribution.
set-uid Set the UID of the default user of a distribution.
get-kernelcmd Get the default kernel command line of a distribution.
set-kernelcmd Set the default kernel command line of a distribution.
get-flags Get some flags of a distribution. See https://msdn.Microsoft.com/en-us/library/windows/desktop/mt826872(v=vs.85).aspx for details.
set-flags Set some flags of a distribution. See https://msdn.Microsoft.com/en-us/library/windows/desktop/mt826872(v=vs.85).aspx for details.
version Get version information about this LxRunOffline.exe.
まず、そのWindowsストアAppxのインストール場所を見つける必要があります。そのパスを見つけるためのPowershellスクリプトを次に示します。最初にディストリビューション名を入力します(例:Ubuntu18.04
)。
$DistroName=Read-Host "Enter Distribution Name"
$path = (Get-AppxPackage *DistroName*).InstallLocation
echo $path
Invoke-Item $path
pause
Ubuntu 18.04のインストールパスは次のとおりです。
%ProgramFiles%\WindowsApps\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.427.0_x64__79rhkp1fndgsc
PSスクリプトでは、Invoke-Item
は、エクスプローラーでそのパスを開きます。そのパスが表示されないか、セキュリティ上の問題が表示されない場合は、プロパティメニューからそのフォルダーのアクセス許可を付与します。次の2つの必須ファイルのみをコピーします。
次のセクションがあります。このレジストリのバックアップと削除HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
。これらの2つのファイルを次のようなフォルダー構造に配置します(または必要に応じて)。
C:\MyFiles
|
+-- UbuntuPython
| |
| +-- ubuntu.exe
| +-- install.tar.gz
|
+-- UbuntuRuby
|
+-- ubuntu.exe
+-- install.tar.gz
フォルダー名前は異なる必要があります。最初のものをダブルクリックし、インストールされるまで待ちます。開いた HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss\<some-GUID>
およびDistributionName
文字列レジストリをUbuntuPython
(または任意)に変更します。すべてのインスタンスでこの手順を繰り返します。 GUIDはすべてのインスタンスで新しいものになります。[DistributionName
レジストリを変更それぞれが異なる場合は、ubuntu.exeがwslを実行します。これらのEXEファイルのソースコードは、こちらから GitHub:Microsoft/WSL-DistroLauncher を参照してください。