今天想從Microsoft Store安裝一個游戲到E盤,但實際上卻自動安裝到了C盤上。在Windows設置-應用里想要移動這個游戲到E盤,就出現了0x80073d0d的問題。在網絡上搜索也不得要領,只好自己來排除問題。
首先嘗試移動到D盤和F盤,都可以成功,說明一定是E盤本身出了問題而不是非系統盤的問題。想到之前我似乎在E盤裝過應用商店里的應用,卸載之后覺得WindowsApps目錄很礙事,就強行刪掉了,有可能Windows內還有這個目錄的記錄,會去讀這個目錄,導致問題。於是我重建了這個目錄,仍然不行。考慮到Windows自動建的目錄和手動建的目錄在權限上是有區別的,這里說不定還有其他的不同,所以還不能排除目錄不存在導致問題的可能性。
然后我想到Windows里所有系統設置都存在於注冊表中,於是我用regedit命令打開注冊表,在其中搜索E:\WindowsApps,果然搜到了一條記錄:
我本想直接刪掉這條記錄,不過我也不能保證不引起其他的問題,所以還是搜索了關鍵字Appx\PackageVolumes(就是這條記錄的路徑的一部分)。於是就找到了這個文檔:https://docs.microsoft.com/en-us/powershell/module/appx/?view=win10-ps。這個文檔介紹了用Powershell處理Appx的命令,關鍵是里面有個Remove-AppxVolume命令。看上去就是我要找的內容。
后面就簡單了,打開Powershell,先用Get-AppxVolume列出所有的卷:
1
2
3
4
5
6
7
8
|
PS C:\WINDOWS\system32> Get-AppxVolume
Name PackageStorePath IsOffline IsSystemVolume
---- ---------------- --------- --------------
\\?\Volume{9f858015-0000-0000-0000-5bbd845b28aa} C:\Program Files\WindowsApps False True
\\?\Volume{cc7509fe-0000-0000-0000-100000000000} E:\WindowsApps True False
\\?\Volume{f2d20792-0000-0000-0000-100000000000} F:\WindowsApps False False
\\?\Volume{e15d089a-0000-0000-0000-d77c098a6902} D:\WindowsApps False False
|
可以看到其中E盤對應的卷是離線的,說明目錄並不正常存在。用Remove-AppxVolume命令把它刪掉:
1
|
PS C:\WINDOWS\system32> Remove-AppxVolume cc7509fe-0000-0000-0000-100000000000
|
如果這里沒有錯誤信息,就是刪除成功了。再用Get-AppxVolume的話就看不到這個卷了。
再去Windows設置-應用里移動這個游戲到E盤,WindowsApps目錄不存在的時候,系統就會自動創建新的目錄,而不是報錯了。