Перемещение swapfile.sys из Linux

У меня установлены две операционные системы (windows 8 и mint), и я пытаюсь сжать исходный раздел Windows, но на этом пути есть постоянный файл swapfile.sys. Поэтому мне было интересно, возможно ли войти в систему на стороне Linux, затем получить доступ к swapfile.sys и переместить его, когда он не открыт?

3 ответа

Вы можете двигатьсяswapfile.sys отключив файл подкачки, а затем создав символическую ссылку на C:\swapfile.sys (при условии, что C: ваш системный диск). Вся процедура может быть выполнена в среде Windows.

Следующие шаги отключат swapfile.sys (протестировано в Windows 8 и Windows 8.1 Preview):

  1. Отключите файлы подкачки на всех дисках (через Панель управления -> Система и безопасность -> Система -> Дополнительные настройки системы-> Дополнительно -> Параметры производительности -> Дополнительно -> Виртуальная память).
  2. Перезагрузите компьютер.
  3. swapfile.sys должен уйти сейчас. Если он все еще присутствует, он может быть удален вручную.

Затем введите в командной строке следующую команду (требуются права администратора):

mklink C:\swapfile.sys "<NEW LOCATION>:\swapfile.sys"

Если новый путь местоположения не содержит пробелов, кавычки могут быть опущены. Обратите внимание, что в Windows PowerShell (который продвигается в Windows 8.1) mklink Команда не доступна. Вы должны вызвать обычную командную строку, набрав cmd а затем перейдите в том же окне.

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

Это новый файл подкачки для "Приложения Магазина Windows". Я искал способ переместить его, но так и не нашел. Вы можете остановить создание, только если полностью отключите файл подкачки.

Существует также недокументированный параметр реестра, который определяет, где хранится:

  • Ключ реестра:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
  • Имя значения:SwapFile
  • Тип:REG_MULTI_SZ

Его значение должно быть одной строкой следующего формата:<path> <min_size> <max_size>. Например, чтобы переместить файл подкачки вd:\swapfile.sysс минимальным размером 100 МБ и максимальным размером 600 МБ вы устанавливаете запись наd:\swapfile.sys 100 600:

      reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v "SwapFile" /t REG_MULTI_SZ /d "d:\swapfile.sys 100 600"

Синтаксис тот же, что и дляPagingFilesзначение в том же разделе реестра, который управляет расположением и размером файлов. Теоретически установка 0 как для минимального, так и для максимального размера должна позволить Windows управлять размеромswapfile.sysавтоматически, как это имеет место дляpagefile.sysфайлы. Но это, похоже, не работает, поэтому вам придется вручную установить размер в параметре реестра. Использование 0 для обоих размеров фактически предотвращает создание файла.

По умолчанию минимальный размер установлен на уровне 256 МБ, а максимальный размер — на 150 % от общего объема оперативной памяти или 10 % от общего пространства жесткого диска (в зависимости от того, что является минимальным). Для небольших дисков минимальный размер вместо этого устанавливается равным 16 МБ, а максимальный размер — тому же значению, если размер диска меньше или равен 16 ГБ, или 256 МБ, если размер диска меньше или равен 32 ГБ.

По сравнению сmklinkМетод изменения значения в реестре должен позволить сохранить настройки между основными обновлениями Windows (10).

Другие вопросы по тегам