題 使用連接鏈接移動Windows文件夾(mklink)


我的SSD上的空間運行得非常低,Windows中似乎有一個19GB的文件夾(%windir%\ Installer)並且無法安全刪除(如下所述: https://serverfault.com/q/15746)。

現在 mklink 提供一個稱為Junction鏈接的簡潔小東西 - 如果我在cmd提示符下啟動,並將所有文件移動到另一個硬盤驅動器,然後運行:

mklink /J C:\Windows\Installer D:\Windows\Installer

我會以某種方式搞砸我的Windows,或者這是一件好事嗎?文件夾權限/屬性是否會在鏈接中保持不變?

我之前使用過硬鏈接,它起到了很大程度上釋放我的SSD的魅力,但我從來沒有嘗試過系統文件夾(我不明白為什麼它不起作用,但我不在如果我錯了,重新安裝整個窗戶的心情)


23
2018-06-24 12:32


起源




答案:


好吧,我冒了風險,這是值得的 - 一切正常,但我現在已經釋放了我的SSD上的17GB。

基本上,步驟是:

  1. 重新啟動電腦,連續按F8打開啟動菜單,然後選擇“安全模式命令提示符”(這是為了確保您可以移動Windows文件夾)
  2. 顯示命令提示符後,鍵入命令將文件夾移動到另一個驅動器:
    robocopy C:\Windows\Installer D:\Windows\Installer /MOVE /e
  3. 接下來,為丟失的文件夾創建一個“Junction”鏈接:
    mklink /J C:\Windows\Installer D:\Windows\Installer

當然,這假設您的%WINDIR%是C:\ Windows,您的D盤是具有更多空間的那個,您希望目標位於“D:\ Windows \ Installer”(它可以是任何文件夾,只是一致)等...

這應該可以解決問題。


26
2017-07-08 08:18



這在Windows 10中有效嗎? - Syaiful Nizam Yahya
應該 - 所有信息仍然適用於AFAIK。如果您嘗試它,請告訴我們它是怎麼回事! - veljkoz
在Windows 10上工作 - 謝謝! - Matthew Fritz
在Windows 7上工作! - glenviewjeff
請注意,這可能會在安裝主要Windows更新(例如Windows 10 Fall Creators Update)時導致問題,因為聯結將替換為空文件夾。 - 0xA3


我發現,在試圖回收我的主驅動器上的空間時,一塊120GB的SSD 這些說明 關於如何搬遷 UsersProgram FilesProgram Files (x86),和 ProgramData。它包括一些註冊表編輯“設置默認位置”,如下所示:

  1. 替換HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersion中列出的路徑的驅動器號(例如 C:\Program Files\Common Files 會成為 D:\Program Files\Common Files
  2. 替換環境變量 %SystemDrive% 在HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows NT / CurrentVersion / ProfileList的驅動器路徑(即 %SystemDrive%\ProgramData 會成為 D:\ProgramData

3
2018-05-09 23:51



注意:如果任何已安裝的應用程序的配置/註冊表項指向此更改之前已解析的位置,則它們仍可能會查找舊位置。重新安裝這些應用程序可能會解決問題。 - TWiStErRob


我採取了類似的步驟,但我希望能夠在我完成文件複製時使用我的電腦(我的文件夾是40 GB)。

  1. 手動將文件夾複製到F:\ Installer
  2. 我使用的是Windows 8.1,所以要在命令行啟動時按住Shift鍵,同時單擊“重新啟動”,然後單擊“高級”
  3. 一旦進入命令行,我必須弄清楚要使用哪個驅動器號(它不是C:即使這是我的操作系統完全啟動時的%SystemDrive%)。我不得不使用 echo list volume | diskpart 發現C:驅動器現在被稱為E:而F:驅動器仍然是F:驅動器
  4. 我刪除了E:\ Windows \ Installer上的隱藏和系統屬性 attrib -s -h E:\Windows\Installer 並重命名為 rename "E:\Windows\Installer" "Installer_old"
  5. 然後我可以用它創建交匯點 mklink /J E:\Windows\Installer F:\Installer

2
2018-05-11 21:09





您可以對pagefile.sys和swapfile.sys使用相同的技巧(不確定是否也用於hiberfile.sys,未經測試,因為我討厭在多重啟動時休眠)。

只需確保在創建符號鏈接之前停用虛擬RAM並重新啟動,然後在創建它們之後重新激活虛擬RAM。

在創建鏈接之前,我傾向於在鏈接的命運上創建(帶記事本)空文件。

記住:當Windows10 UpGrade它將刪除鏈接並放入真實文件時,在UpGrades之後你可以重複這個過程。

在WindowsX版本1803.48上運行,因為WindowsXP(我試過的最老的)。


2
2018-05-18 10:37





  1. 複製 C:\Windows\Installer 到另一個磁盤,如 D:\C\Windows\Installer
  2. 如果源目錄在,則檢查並比較兩個文件夾的大小 C: 複製期間未更改。
  3. 重命名磁盤上的文件夾 C:,例如 Installer => InstallerX
  4. 以管理員身份運行該命令並啟動運行此命令:
    • mklink /d C:\Windows\Installer D:\C\Windows\Installer
  5. 如果一切正常,請等一段時間(幾天)。
    • 如果是,您可以刪除備份文件夾 C:\Windows\InstallerX
    • 如果不是,請刪除符號文件夾 C:\Windows\Installer 並重命名 InstallerX 至 Installer,或複制回文件夾 D:\C\Windows\Installer 至 C:\Windows\Installer

1
2018-04-19 16:44



這複製了另一個答案,並沒有添加任何新內容。請不要發布答案,除非您確實有新的貢獻。 - DavidPostill♦