1

Мне интересно, возможно ли сохранить данные в спящем режиме после восстановления, чтобы даже после перезагрузки был восстановлен тот же сеанс, который был у меня до этого. Я знаю, что это будет просто с использованием ВМ, но я изучаю другие возможности, прежде чем идти по этому пути.

Я подумывал о том, чтобы сделать файлы доступными только для чтения или забрать разрешение у системы, хотя думал, что приду сюда, чтобы посмотреть, есть ли лучший способ.

В идеале я хотел бы иметь возможность выбрать новую перезагрузку, не нарушая также «сохраненную сессию». Я думаю, что отличным инструментом была бы программа, которая выполняет резервное копирование данных гибернации и позволяет вам выбрать, какие данные будут там (если есть). Я также с радостью сделал бы это вручную или написал бы сценарий, чтобы сделать это, мой контрольно-пропускной пункт там получает мои данные, поскольку они удаляются после успешного резюме, не так ли?

Заранее спасибо.

1 ответ1

2

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

Суть в том, что NTFS сильно зависит от состояния. Драйвер файловой системы хранит кучу метаданных о текущем состоянии низкоуровневых структур данных NTFS в ОЗУ (например, указатели блоков для открытия дескрипторов, данные кэша, позиция перемотки журнала, чистые или грязные страницы ОЗУ для загруженных блоков, копирование на написать статус и т. д.).

При переходе в режим гибернации вся эта оперативная память копируется в файл гибернации, и полное состояние гибернации должно оставаться согласованным между перезагрузками. Если даже один байт данных изменяется на жестком диске между временем сохранения состояния гибернации и его возобновлением, то это состояние перестает быть согласованным, и весь файл гибернации считается недействительным. Действовать по-другому, как если бы две разные операционные системы монтировали том одновременно. Они двое не соглашались бы с состоянием файловой системы и обходили все отчеты друг друга, вызывая серьезное повреждение файловой системы. Вот почему файловые системы хранения кластеров, используемые в корпоративных сетях SAN, используют файловую систему, предназначенную для этой цели. Это просто невозможно с NTFS.

Даже если вы возьмете автономную резервную копию на уровне блоков спящей системы и восстановите ее на идентичном диске, это все равно сделает недействительным состояние гибернации, так как изменится аппаратный GUID диска, что также является частью данных о состоянии.

Единственное исключение из этого правила - это функция HORM (H ibernate O nce, R esume M any) функции расширенного фильтра записи Microsoft (EWF). Эта функция доступна только в версиях Windows Embedded и корпоративной версии Windows 10. Это позволяет вам переводить систему в спящий режим один раз и выходить из этого спящего режима столько раз, сколько вы хотите. Однако, предостережение, касающееся этой функции, заключается в том, что любые изменения, внесенные в файловую систему, полностью перенаправляются на диск ОЗУ и сбрасываются каждый раз при выключении системы, что делает всю файловую систему доступной только для чтения после этого момента.

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