昨天,一切都很好。今天下午,我從課堂上下載的一些文件導致我的筆記型電腦陷入困境後,我重新啟動了電腦。重新啟動並打開 Ubuntu 後,它預設為root@<mysystem>:~#
.我可以su <username>
,但它會預設該使用者到該/root
目錄。即使在該用戶下,諸如explorer.exe
和code .
打開 VSCode 之類的命令也不起作用。
我在 WSL 1 上運行 Ubuntu
答案1
將 WSL 從 C 驅動器移至 D 驅動器後,我遇到了相同的問題。這很容易解決使用 -
ubuntu config --default-user <your-username>
希望這可以幫助。
答案2
我能想到的故障排除步驟(如果發生這種情況我會嘗試):
你的普通用戶
/home/<username>
目錄還存在嗎?如果是這樣,當以 root 使用者的身份查看時,裡面的一切看起來都「正常」嗎?除此之外,其中的文件是屬於您的一般使用者還是屬於 root?如果它們由 root 擁有,那麼這可能是我們需要進一步解決的問題。
啟動 Ubuntu:
wsl ~ -u <Ubuntu_username> -e bash --noprofile --norc
如果您以該使用者身分登入(您的提示將有所不同),那麼您的檔案中可能存在問題
~/.bashrc
(儘管可能是不同的檔案)。如果上述命令不起作用,請在編輯中將任何錯誤訊息或結果新增至您的問題。然後檢查該使用者是否存在於
/etc/passwd
文件中。附註:
explorer.exe
不起作用的原因可能是su <username>
透過「Linux」方法設定使用者的路徑,但是當您「正常」在 WSL 上啟動 Ubuntu 時,WSL 會將 Windows 路徑新增至 Linux 路徑。使用後su <user>
,嘗試運行/mnt/c/WINDOWS/explorer.exe
- 我希望它能工作,但請在評論中確認結果(無論哪種方式)或(最好)編輯您的問題。您在評論中提到 WSL1,它使用與 WSL2 不同的檔案系統,它更「脆弱」。您提到當您必須重新啟動時,您遇到了文件下載問題。您是否有機會嘗試將檔案直接下載
C:\Users\<youruser>\AppData\Local\Packages\...
到 Ubuntu 中?如果是這樣的話,那可能已損壞主目錄。如果您使用過\\wsl.localhost\Ubuntu
或\\wsl$\Ubuntu
那麼那應該不是問題。不過,我不確定我是否想跳到這個結論並開始“恢復”,除非我們確實無法完成上述所有診斷。但如果您有可能使用該
AppData
路徑存取 WSL1,請告訴我,以便我們在需要進一步排除故障時記住這一點。