Что означают новые атрибуты Windows 8/10: Нет файла очистки (X), Целостность (V), Закреплено (P), Закреплено (U)

2832
LogicDaemon

Я только что открыл справку для ATTRIBкоманды в Windows 10.0.15063 и обнаружил, что есть новые атрибуты, о которых я не знал.

>attrib /? Displays or changes file attributes.  ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [+O | -O] [+I | -I] [+P | -P] [+U | -U] [drive:][path][filename] [/S [/D]] [/L]  + Sets an attribute. - Clears an attribute. R Read-only file attribute. A Archive file attribute. S System file attribute. H Hidden file attribute. O Offline attribute. I Not content indexed file attribute. X No scrub file attribute. V Integrity attribute. P Pinned attribute. U Unpinned attribute. [drive:][path][filename] Specifies a file or files for attrib to process. /S Processes matching files in the current folder and all subfolders. /D Processes folders as well. /L Work on the attributes of the Symbolic Link versus the target of the Symbolic Link 

(в частности, X, V, P, U)

И я могу установить +Xчерез ATTRIBкоманду, даже если она не указана как изменяемая.

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

7

3 ответа на вопрос

4
DavidPostill

Есть новые атрибуты, о которых я не знал.

V Атрибут целостности.

Это связано с проверкой файловых повреждений:

Integrity-streams - ReFS использует контрольные суммы для метаданных и, необязательно, для файловых данных, предоставляя ReFS возможность надежного обнаружения повреждений.

Обзор исходной устойчивой файловой системы (ReFS)

FILE_ATTRIBUTE_INTEGRITY_STREAM

Каталог или поток пользовательских данных настроен на целостность (поддерживается только на томах ReFS). Он не входит в обычный список каталогов. Настройка целостности сохраняется с файлом, если он переименован. Если файл копируется, для файла назначения будет установлена ​​целостность, если для исходного файла или каталога назначения установлена ​​целостность.

Константы атрибутов исходного файла


X Нет атрибута файла скраба.

Это связано с исправлением ошибок:

Упреждающее исправление ошибок - В дополнение к проверке данных перед чтением и записью, ReFS представляет сканер целостности данных, известный как скруббер. Этот скруббер периодически сканирует том, выявляет скрытые повреждения и активно запускает восстановление поврежденных данных.

Обзор исходной устойчивой файловой системы (ReFS)

FILE_ATTRIBUTE_NO_SCRUB_DATA

Поток пользовательских данных не должен читаться фоновым сканером целостности данных (AKA scrubber). При установке в каталог он обеспечивает только наследование. Этот флаг поддерживается только в томах Storage Spaces и ReFS. Он не входит в обычный список каталогов.

Константы атрибутов исходного файла


P Прикрепленный атрибут.

Это указывает на то, что файл является разреженным файлом :

Разреженный файл имеет атрибут, который заставляет подсистему ввода-вывода выделять только значимые (ненулевые) данные. Ненулевые данные размещаются на диске, а не значащие данные (большие строки данных, состоящие из нулей) - нет. При чтении разреженного файла выделенные данные возвращаются в том виде, в котором они были сохранены; нераспределенные данные возвращаются по умолчанию в виде нулей.

NTFS освобождает разреженные потоки данных и поддерживает другие данные только как распределенные. Когда программа обращается к разреженному файлу, файловая система выдает выделенные данные как фактические данные, а освобожденные данные - как нули.

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

С установленным атрибутом разреженного файла файловая система может освобождать данные из любого места в файле и, когда приложение вызывает, получать нулевые данные по диапазону вместо хранения и возврата фактических данных. Интерфейсы прикладного программирования (API) файловой системы позволяют копировать или резервировать файл в виде фактических битов и диапазонов разреженных потоков. Конечным результатом является эффективное хранение и доступ к файловой системе. На следующем рисунке показано, как данные хранятся с заданным атрибутом разреженного файла и без него.

Исходные NTFS разреженные файлы

FILE_ATTRIBUTE_SPARSE_FILE

Файл, который является разреженным файлом.

Константы атрибутов исходного файла


Дальнейшее чтение

хм как ты связал "приколот" с разреженным? Кроме того, как возможно, что атрибут "Sparse" может быть установлен или удален с помощью команды ATTRIB? И еще один: есть атрибут «Unpinned», который является взаимоисключающим с «Pinned», но и Pinned и Unpinned могут быть сброшены одновременно (так что нет никакого объяснения, что это?). LogicDaemon 6 лет назад 0
@LogicDaemon Потому что `p` было редким в предыдущих версиях Windows. Нет никаких указаний на то, что API атрибутов файлов изменился для этой версии Windows 10. DavidPostill 6 лет назад 0
@LogicDaemon Note также редкие исчезли из списка. DavidPostill 6 лет назад 0
хорошо, но вы можете просто пометить любой файл разреженным? Вы можете пометить любой файл закреплен. Высота не требуется http://imgur.com/aotouix LogicDaemon 6 лет назад 0
еще больше: есть «закрепленные», которые должны как-то быть связаны с «закрепленными», потому что они взаимоисключающие. Но я не могу придумать, что может быть взаимоисключающим для "разреженного" http://imgur.com/NEqVYfV LogicDaemon 6 лет назад 0
еще кое-что. V и X должны быть доступны только в ReFS по указанным вами ссылкам. Я могу установить X на NTFS, хотя. Как это может быть? Это ничего не делает или делает? LogicDaemon 6 лет назад 0
Обратите внимание, что в последних заголовках SDK есть `FILE_ATTRIBUTE_PINNED`. Это относится к параметру «Всегда доступно на этом устройстве» для файлов OneDrive. Jonathan Potter 6 лет назад 1
3
sba923

На самом деле есть больше новых атрибутов, найденных в C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\um\winnt.h:

FILE_ATTRIBUTE_UNPINNED = 0x00100000 FILE_ATTRIBUTE_PINNED = 0x00080000 FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS = 0x00400000 

Только последний документально описан по адресу https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx.

Основываясь на https://techcommunity.microsoft.com/t5/OneDrive-for-Business/Files-on-demand-difference-in-locally-available-and-always/mp/118203#M2781, я предполагаю, что "закреплен" «Флаг используется для предотвращения удаления файла из локального хранилища при нехватке места на диске. Атрибут «Не закреплен», OTOH, кажется, используется, чтобы указать, что вы хотите принудительно заставить файл не храниться локально.

В настоящее время я изучаю, как эти атрибуты используются новой функцией «Файлы OneDrive по требованию» ( https://support.office.com/en-us/article/Learn-about-OneDrive-Files-On-Demand-0E6860D3. -D9F3-4971-B321-7092438FB38E ).

См. Https://social.technet.microsoft.com/Forums/windows/en-US/375f3933-fcab-450c-bb9c-da54155549e2/how-do-i-getset-onedrive-files-on-demand-status-from -powershell? forum = ITCG, если вы хотите извлечь уроки из этих исследований.

2
BugMeNot114514

Это правильно, чтобы иметь возможность установить NO SCRUB (X) с NTFS.
NTFS проверяет читаемость и восстанавливает при необходимости.
Поскольку контрольной суммы нет, NTFS не проверяет правильность данных.
Это имеет смысл только на избыточных дисковых пространствах.
Это один из источников информации.
(см. слайд № 30)

P не является редким атрибутом.
Потому что «Get-Item | Format-List Attributes» в Powershell будет печатать «Sparse» при разреженном атрибуте.
Но атрибут Pinned будет шестнадцатеричным значением, а не значащей строкой.
Извините, я не знаю, что это заколотое / не закрепленное.

Microsoft [говорит] (https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117.aspx) о No scrub (X): «Этот флаг поддерживается только в томах Storage Spaces и ReFS». Я не уверен, что они имеют в виду под "поддерживается" или это связано с NTFS. Однако я сомневаюсь, что есть какое-то фоновое сканирование на целостность для NTFS, поэтому X тогда ничего не сделает (не фоновые проверки, такие как `chkdsk / r`, обязательно проверят файл, помеченный * No scrub *) в любом случае) LogicDaemon 6 лет назад 0
[Но в другом месте Microsoft говорит: «NTFS и ReFS поддерживают этот атрибут».] (Https://msdn.microsoft.com/en-us/library/cc232128.aspx#Appendix_A_163) [И это называется FILE_ATTRIBUTE_NO_SCRUB_DATA] (https : //msdn.microsoft.com/en-us/library/cc232110.aspx#Appendix_A_Target_163) BugMeNot114514 6 лет назад 1
P был разреженным атрибутом в проводнике Windows. Это новый атрибут Pinned, который использует ту же букву, что вызывает некоторую путаницу. Explorer09 6 лет назад 1

Похожие вопросы