
我是 Windows 新手,已根據提供的說明安裝了 WSL2這裡。
它工作正常,但我無法找到它在我的電腦上的安裝位置。的輸出pwd
是home/nkp68
.
如何從 WSL2 存取 Windows 電腦中的檔案?
答案1
如果我從字面上閱讀您的帖子,可能會有一些不同的問題:
- 您的 WSL Ubuntu 實例安裝在電腦上的什麼位置?
- (大概是基於第一個問題)如何從 Windows 存取 WSL2 中的檔案?
- “如何從 WSL2 存取 Windows 電腦中的檔案?” (有點像對面的前兩個問題)
您的 WSL Ubuntu 實例在哪裡?
簡短回答:在您的情況下,考慮到基本安裝,實際檔案位於名為 的虛擬磁碟中ext4.vhdx
。此時您實際上不需要擔心“位置”(因為它是虛擬驅動器),但您通常會在%userprofile%\AppData\Local\Packages\Canonical...\LocalState\ext4.vhdx
.你的 %userprofile%
通常是這樣的C:\Users\<username>
。
更多詳情:
這是預設安裝的情況。您可以安裝多個發行版,甚至可以安裝同一發行版的多個實例。 WSL 的一大優點是能夠快速複製發行版、測試某些內容並丟棄測試。這可以防止你用包包、測試或其他可能長期造成「麻煩」的東西污染你的「好的」日常發行版。
查看全部您已安裝的發行版,請前往 PowerShell 並執行:
Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" -Recurse
就您而言,您可能會看到類似以下內容:
{cff9bfd6-39db-42af-a85b-d6fca State : 1
94beff8} DistributionName : Ubuntu
Version : 2
BasePath : C:\Users\krutik\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
Flags : 15
DefaultUid : 1000
PackageFamilyName : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
KernelCommandLine : BOOT_IMAGE=/kernel init=/init
DefaultEnvironment : {HOSTTYPE=x86_64, LANG=en_US.UTF-8, PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games, TERM=xterm-256color}
我還有很多,在不同的地方。
如何從 Windows 存取 WSL2 中的檔案?
但是你的問題的標題「哪裡」並不重要,除非你需要對文件做一些事情ext4.vhdx
(例如也許回收空間)。
若要從 Windows 存取 WSL 中的文件,請使用\\wsl$\Ubuntu
路徑(或您的發行版的任何名稱)。在這裡,您會發現\\wsl$\Ubuntu\home\nkp68
,您可以在其中安全地複製輸入和輸出檔案。
更新說明: 在 Windows 11 下,\\wsl$\<distro_name>
仍然有效,但也有一個新的\\wsl.localhost\<disro_name>
路徑。兩者的工作原理相同,但wsl.localhost
在某些情況下應該更強大一些。
如何從 WSL2 存取 Windows 電腦中的檔案?
如果您使用 Ubuntu 並需要存取 Windows 磁碟機上的檔案(例如C:
),那麼您會發現這些檔案(預設)會自動為您安裝:
ls /mnt/c/Users
ls /mnt/c
在 WSL 中處理 Windows 磁碟機上的檔案存在一些細微差別,特別是在權限和效能方面。您通常需要保留所有專案文件裡面Ubuntu ext4 檔案系統(例如在您的/home/nkp68
目錄下)。但您當然可以根據需要在磁碟機之間存取、複製和移動檔案。
WSL 功能位於哪裡?
問題的標題可以解釋為您想知道實際的 WSL 功能安裝在哪裡。我知道原發文者的情況並非如此,但這個問題是其他人提出的,所以我將在此處添加它,以防他們根據標題找到此問題。
WSL 功能在您系統上的位置將取決於您使用的 WSL 版本:
至少從 Windows 10 21H2(或許更早)開始,舊版的 WSL 就作為 Windows 功能包含在 Windows 本身中,並且今天仍然可以啟用此功能。
當您開啟 WSL Windows 功能時,可在 下找到 WSL 適用的二進位
C:\Windows\System32\lxss
。您很少需要擔心此資料夾,但有時它會派上用場。WSL2 核心也位於此資料夾中,如果您想要回滾多個版本,可以備份較舊的核心。
較新版本的 WSL 作為應用程式套件安裝,通常來自 Microsoft Store。
安裝 WSL 應用程式套件時,檔案位於(Windows 應用程式套件的典型情況)
C:\Program Files\WindowsApps\<package_dir>
。請注意,這
C:\Program Files\Windows Apps
是一個受保護的目錄,預設情況下您將無法看到其中的內容。你不應該嘗試變更此目錄的權限,這將損害系統的安全性和穩定性。不過還是可以看到裡面的內容包裹目錄,假設您知道其名稱。要找到它,請從 PowerShell 執行以下命令:
Get-AppxPackage |? { $_.Name -like "*WindowsSubsystemforLinux*" } | tee-object -Variable packageMatches
您應該會看到
InstallLocation
返回的結果。如果只有一個結果(應該是這種情況),您可以使用以下命令打開它:explorer "$($packageMatches.InstallLocation)"
此外,在此目錄中,您會發現
tools\kernel
,它是此版本的 WSL2 核心。在 Windows 10 系統上,您可能會有兩個都這些。
在 Windows 11 系統上,您可能如果您安裝了 WSL1,則具有這兩個安裝位置。