23

На моем SSD недостаточно свободного места, и в Windows, похоже, торчит папка размером 19 ГБ (% windir%\Installer), которую нельзя безопасно удалить (как описано здесь: https://serverfault.com/q/15746).

Теперь mklink предоставляет небольшую вещь, называемую Junction links - если я загружаюсь в командной строке cmd, перемещаю все файлы на другой жесткий диск и запускаю это:

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

Буду ли я портить Windows каким-то образом, или это нормально? Разрешения / атрибуты папки останутся неизменными по всей ссылке?

Раньше я использовал жесткие ссылки, и это работало как чудо, значительно освобождая мой SSD, но я никогда не пробовал его в системных папках (я не понимаю, почему он не работает, но я не в настроение переустановки целых окон на случай если я ошибаюсь)

5 ответов5

26

Хорошо, я рискнул, и это того стоило - все работает нормально, но теперь я освободил 17 ГБ на моем SSD.

В основном, шаги:

  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» (это может быть любая папка, просто в соответствии)

Это должно сделать свое дело.

3

При попытке освободить место на моем главном диске, SSD на 120 ГБ, я нашел эти инструкции о том, как переместить Users , Program Files , Program 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/ ПРОГРАММНОМ ОБЕСПЕЧЕНИИ /Microsoft/Windows NT /CurrentVersion / ProfileList (то есть %SystemDrive%\ProgramData станет D:\ProgramData)
2

Вы можете использовать один и тот же трюк для pagefile.sys и swapfile.sys (не уверен, если также для hiberfile.sys, не проверял, так как я ненавижу гибернацию на мультизагрузке).

Просто убедитесь, что вы деактивировали виртуальный оперативный памяти и перезагрузите, прежде чем создавать символические ссылки, а затем после их создания реактивировать виртуального оперативного диска.

Я имею тенденцию создавать (с помощью блокнота) пустой файл по назначению ссылки до создания ссылки.

Помните: когда Windows10 UpGrade удалит ссылки и поместит реальные файлы, после UpGrades вы можете повторить процесс.

Работа до Windows 10 версии 1803.48, начиная с WindowsXP (самая старая, которую я пробовал).

2

Я предпринял аналогичные шаги, но я хотел иметь возможность использовать мой компьютер, пока я делал копию файла (моя папка была 40 ГБ).

  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
1
  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 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .