我想將實際的 Ubuntu/home
目錄(該目錄位於我的磁碟機上的 ext4 分割區上)掛載到 WSL。
基本上,我需要那裡的一切,並且我希望與 ext4 和一些工具有更好的兼容性。另請參閱這個問題有關在現有 WSL Ubuntu 目錄中編輯文件時出現問題的一些範例/home
。
是否可以?如何?
答案1
在提出這個問題時,這在 WSL 中是不可能的,因為無法訪問真實的ext4 分割區。
然而,Github 問題中提到的問題透過通過\\wsl$\<distroname>\
.這允許安全地編輯這些文件。另請參閱當時相應的 Microsoft 部落格文章,不要使用 Windows 應用程式和工具來更改 Linux 文件。
而且,在 Windows 11(但不是 Windows 10)下,您現在可以使用wsl --mount
.一旦原始驅動器可供 WSL2 使用,您就可以sudo mount
(或通過/etc/fstab
)該驅動器上包含您的/home/
.
注意事項:
您必須(目前)手動
wsl --mount
原始分區前在 WSL 中啟動發行版(例如 Ubuntu)。如果不這樣做,那麼您將無法/home
啟動 WSL,並且很可能會失敗。如果我沒記錯的話,您目前無法安裝已在 Windows 中使用的磁碟機。因此 ext4 分割區至少需要位於 Windows 磁碟機以外的磁碟機上。
答案2
使用 Samba 匯出您的主分割區並將其安裝在 Windows 中(我就是這樣做的)。
為了澄清,如果您不想安裝/home
到驅動器,請建立
/home
符號連結\\yourmachine\home
(假設您已將主驅動器匯出為/home
)。
例如,我/Documents
指向//Bliss/Documents
Under cygwin+bash,我看到(在我的根目錄中):Documents -> //Bliss/Documents/
在 Windows 中,使用dir
,該檔案如下所示:<SYMLINKD> Documents [\\Bliss\Documents]
(Bliss 是我的伺服器的名稱)。
在 Windows 中,我透過 cd'ing 到 root 在 root 中建立它,然後:(
來自 bash - 注意 Windows 路徑名周圍的單引號和反斜線)
cmd /c mklink /d Documents '\\Bliss\Documents'