Как работает история файлов в Windows 10?
На компьютере с Windows 10 включено резервное копирование истории файлов. Он занимал почти 400 ГБ места, поэтому я изменил его, чтобы удалить сохраненные точки старше 3 месяцев. Что именно входит в историю файлов? Например, если вы загрузите фильм объемом 2 ГБ, это будет сохранено? Как системы, подобные этой, отслеживают файлы, если ожидается, что файл будет изменен?
Например, если есть файл 1 МБ a.exe
и пользователь удаляет его, а затем повторно использует имя, но создает файл размером 10 МБ, это будет считаться новой версией?
2 ответа
История файлов - очень простая утилита. История файлов создает резервные копии только тех файлов, которые находятся в папках "Документы", "Музыка", "Изображения", "Видео" и "Рабочий стол", а также файлов OneDrive, доступных в автономном режиме на вашем ПК. Если упомянутый вами фильм объемом 2 ГБ был сохранен в одной из этих папок, он будет сохранен.
История файлов Сохранит копию файлов в этих папках в другом месте, настроенном в его настройках. Это происходит в частоте, также установленной в его настройках. Как только Windows обнаруживает, что файл был изменен, она создает копию этого файла. Windows создает папку на выбранном вами диске и создает копии файлов. Он переименовывает их с датами в имени файла, а также создает небольшую базу данных.
Восстановление этих файлов основано на выбранной частоте. Если у вас настроено сохранение копий каждый час, и вы меняете файл каждую секунду, вы бы сделали 24 резервных копии этого файла за один день.
Чтобы ответить на ваш последний вопрос, они ответили бы "да", если файл был скопирован до того, как он был изменен. Опять же, все зависит от частоты резервного копирования. Он не будет отслеживать каждую версию файла при изменении, так как это потребует огромных объемов памяти.
История файлов действительно была разработана для не-технических пользователей. Эти пользователи не создавали резервные копии своих данных. Microsoft всегда предоставляла утилиту для резервного копирования в своих ОС, но обнаружила, что не технические специалисты ее не используют. Весь разностный, поэтапный и т. Д. Словоблудие отпугнуло нетехнических людей История файлов делает резервное копирование файлов гораздо проще для непрофессионала. Это простой способ создания резервных копий файлов. Тем не менее, это не так мощно, как настоящая программа резервного копирования.
Вы изучали, как работает Volume Shadow Copy? История файлов W10 основана на этом. Но есть большая разница: в отличие от восстановления системы / восстановления файлов VSC в более старых версиях Windows, история файлов хранит большинство резервных копий на отдельном жестком диске.
Важные вещи, на которые стоит обратить внимание:
Не ожидайте, что история файлов будет охватывать все ваши папки или целые диски - она создает резервные копии всех ваших стандартных и пользовательских библиотек (включая общие папки), а также папок "Контакты", "Рабочий стол" и "Избранное". Но вы можете вручную добавить папки в историю файлов через пользовательский интерфейс Modern UI/Metro.
История файлов не создает резервные копии файлов или папок, которые используют EFS
Он не создает резервные копии элементов в папке OneDrive (иначе SkyDrive), если они не доступны в автономном режиме.
История файлов не требует прав администратора для настройки или резервного копирования и восстановления файлов.
Теперь, чтобы ответить на ваши вопросы:
Да, большие файлы будут также сохранены. Система предназначена для использования внешнего хранилища для своих целей. Кэш также хранится в
C:\Users\(username)\AppData\Local\Microsoft\Windows\FileHistory\Data.
В истории файлов есть полная копия файла, в отличие от VSC, где хранятся изменения файла. На самом деле он работает так: он использует USN Journal для отслеживания изменений и сохраняет изменения файлов в резервной копии. Сохраняет исправленную версию с добавленной датой / временем. Пример:
File1 (2016_10_01 01_11_11).tmp, File1 (2016_10_02 02_12_21).tmp.
- Неизвестно 100% на данный момент, но это, вероятно, не будет иметь никакого значения, каково содержимое файла. В одном из первых технических тестов система смогла отличить файлы по критериям, аналогичным версионированию DLL. Это означает, что совершенно другой a.exe не будет считаться новой версией предыдущей. Я не видел, чтобы это было реализовано в следующих версиях, поэтому, вероятно, оно было удалено.
По сути, FH - это просто средство резервного копирования по расписанию, использующее простое копирование и вставку файлов.
Я решил, что в заголовке этой статьи есть "Какова структура резервной копии? Где она хранится?". так что я немного ковырялся.
Когда вы выбираете диск для резервного копирования, содержимое файла будет сохранено в папке
\FileHistory\userName\computerName
где
userName
имя пользователя, который настроил историю файлов, и
computerName
- это имя компьютера, на котором выполняется резервное копирование файлов.
В этой папке есть
Configuration
папка, содержащая два файла xml и файл EBD (база данных), который, кажется, не содержит много, и
Data
папка, в которой хранятся копии реальных файлов.
Под
Data
папка, первый уровень - это имя диска из исходной системы (например, есть папка D для файлов, резервные копии которых сохранены с диска D:). В этих папках первого уровня файлы имеют точно такую же структуру, как и на исходном диске, за двумя исключениями:
- В имени каждого файла есть дата (вероятно, время начала резервного копирования), закодированная как "
{yyyy_mm_dd hh_mm_ss UTC}
"(обратите внимание на начальный пробел), вставленный непосредственно перед расширением имени файла. - Между добавлением закодированной даты и префиксом полного исходного пути к файлу с помощью \File History\Data имена некоторых файлов могут стать слишком длинными. Этим файлам присваиваются пронумерованные имена, и они помещаются в (очевидно) одноуровневые пронумерованные папки в папке с именем
$OF
непосредственно под Data (таким образом, родственные имена дисков).
Дата изменения файлов резервной копии такая же, как и у исходного файла. Дата создания указывает, когда был создан этот конкретный файл резервной копии. У файла резервной копии установлен атрибут R (только чтение).
Мои эксперименты проводились с использованием файловой системы FAT/FAT32 на USB-накопителе, поэтому я не знаю, какие разрешения будут установлены для файлов резервных копий.
В качестве более конкретного примера у меня есть справочный источник Microsoft в моей системе, и некоторые из этих файлов были зарезервированы в:
F:\FileHistory\kpmartin\TETRON\Data\D\Users\KPMartin\Documents\Reference Source\dotnet462RTM\Source\ndp\fx\src\winforms\Managed\System\WinForms\Printing\PrintDialog {2020_02_02 06_33_12 UTC}.cs
, который является резервной копиейD:\Users\KPMartin\Documents\Reference Source\dotnet462RTM\Source\ndp\fx\src\winforms\Managed\System\WinForms\Printing\PrintDialog.cs
F:\FileHistory\kpmartin\TETRON\Data\$OF\7315\7318 {2020_02_02 06_33_12 UTC}.cs
который является резервной копиейD:\Users\KPMartin\Documents\Reference Source\dotnet462RTM\Source\ndp\fx\src\winforms\Managed\System\WinForms\Printing\PrintControllerWithStatusDialog.cs
Отображение пронумерованных имен, похоже, не сохраняется с самими файлами в папке File History на резервном диске. Вместо этого он хранится в исходной системе, в пользовательской
AppData\Local\Microsoft\Windows\FileHistory\Configuration
папка в файлах базы данных с именем
Catalog1.edb
. Наряду с этим есть файлы XML, называемые
Config1.xml
который, по-видимому, содержит фактические параметры резервного копирования, включая списки включения и исключения папок, а также информацию о целевом диске. В добавление к
Catalog1.edb
и
Config1.edb
, это также
Catalog2.edb
и
Config2.edb
которые кажутся точными копиями аналогов №1.
Файлы EDB представляют собой формат, известный как "База данных ESE", который используется повсеместно в Windows, где требуется нереляционная база данных. Некоторыми примерами, помимо File History, являются Active Directory и индекс, используемый поиском на рабочем столе Windows. Кровавые подробности об этом формате файла и о том, где он используется, доступны в Интернете. Метаданные этого файла можно проверить с помощью
esentutl.exe
команда, которая может существовать в более продвинутой системе Windows (у меня Windows 10 Enterprise). В связанной статье упоминаются две другие команды, которые, возможно, также могут провести некоторое исследование. Выгрузка фактического содержимого таблицы из базы данных, вероятно, потребует написания кода, но для этого есть как собственная, так и управляемая (.NET) поддержка.