Запрет удаления (если есть SID)
Сначала убедитесь, что hiberfil.sys
не наследует разрешения, не забудьте добавить разрешения.
Затем убедитесь, что у каждого пользователя есть доступ, кроме возможности удалить файл:
Таким образом, файл не может быть удален, если к нему прикреплен хотя бы идентификатор безопасности.
Глядя на то, что Microsoft говорит о файле гибернации.
Когда пользователь впоследствии включает компьютер, происходит обычный процесс загрузки, за исключением того, что Bootmgr проверяет и обнаруживает действительный образ памяти, сохраненный в файле гибернации. Если файл гибернации содержит сохраненное состояние системы, Bootmgr запускает Winresume, который считывает содержимое файла в память, а затем возобновляет выполнение в той точке памяти, которая записана в файле гибернации.
Если Windows включила настройку BCD, чтобы информировать Bootmgr о возобновлении спящего режима, это ускоряет процесс загрузки, запуская Winresume.exe, который считывает содержимое файла в память и передает управление коду в ядре, которое возобновляет работу спящего режима. Этот код отвечает за перезапуск драйверов, которые были активны при выключении системы. Hiberfil.sys будет действителен только в том случае, если при последнем выключении компьютера он находился в спящем режиме.
После включения Bootmgr защищенного режима он полностью работает. Однако он по-прежнему полагается на функции, предоставляемые BIOS, для доступа к системным и загрузочным дискам на основе IDE, а также к дисплею.
Функции Bootmgr для взаимодействия с BIOS на короткое время переключают процессор обратно в режим, в котором могут выполняться службы, предоставляемые BIOS, называемые реальным режимом. Затем Bootmgr читает BCD-файл из каталога \Boot, используя код встроенной файловой системы.
Bootmgr содержит NTFS-код только для чтения (Bootmgr также поддерживает другие файловые системы, такие как FAT, El Torito CDFS, UDFS и WIM-файлы); в отличие от кода загрузочного сектора, код файловой системы Bootmgr может читать подкаталоги.
- Windows Internals
Итак, нет, поскольку он использует встроенный код файловой системы, сделать это простым способом, скорее всего, невозможно.
Лучшее, что вы можете попробовать, это изменить BCD:
HKEY_LOCAL_MACHINE\BCD00000000\Objects\{db7f3566-bd6f-11df-b716-db3964014abb}\Elements\22000002\Element
Возможно, вы могли бы попробовать изменить его на X:\Some\Path\To\Whatever\File.Ext
или полностью определенный путь.
Решение, которое обязательно сработает, что сделает ваш вопрос возможным.
Установите Windows на свой жесткий диск.
Переместите все на свой SSD, кроме hiberfil.sys
.
Создайте точки соединения со всем на вашем SSD.
Вы также можете уменьшить размер файла гибернации.
Вы можете сделать это на 50%, используя powercfg.exe
-HIBERNATE, -H
Enables-Disables the hibernate feature. Hibernate timeout is not
supported on all systems.
Usage: POWERCFG -H <ON|OFF>
POWERCFG -H -Size <PercentSize>
-Size Specifies the desired hiberfile size in percentage of the
total memory. The default size cannot be smaller than 50.
This switch will also enable the hiberfile automatically.