Перемещение 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):
- Отключите файлы подкачки на всех дисках (через Панель управления -> Система и безопасность -> Система -> Дополнительные настройки системы-> Дополнительно -> Параметры производительности -> Дополнительно -> Виртуальная память).
- Перезагрузите компьютер.
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).