Каково назначение C:/$Boot?

Каково назначение C:/$Boot?

Отдаленно связанные:Какова функция c:\BOOT?. Это папка «boot», в которой хранятся BCD и другие загрузочные данные, а не файл.

Выполнение любой из этих команд выдает информацию о местоположении файла (на диске), его размере, атрибутах и ​​т. д.:

fsutil volume filelayout C:\$MFT
fsutil file queryextents C:\$MFT

Однако попытка сделать то же самое с $Bootфайлом в том же каталоге приводит к следующему:

Error:  Access is denied.

Даже работая от имени Администратора. Каково назначение этого файла, каково его содержимое и как узнать, где он хранится на диске?

Я пытаюсь подтвердить утверждения о том, что:

При форматировании тома NTFS программа форматирования выделяет первые 16 секторов для файла метаданных $Boot.

и

Для Windows PBR загружает дополнительные 16 секторов с начала раздела. Эти сектора составляют первую стадию загрузчика Windows, который в свою очередь загружает один из двух файлов в зависимости от версии Windows

Причина, по которой я спрашиваю, в том, что я думал, что PBR — этоодинокийсектордораздел (на диске, отформатированном как MBR), за которым следует основное хранилище данных (отформатированное в любой файловой системе по вашему выбору).

решение1

Я выполнил еще несколько команд (которые я должен был проверить раньше) и обнаружил, что первые 2 кластера используются файлом $Boot. На моем ПК кластеры по 4 КиБ, а секторы по 512 байт, так что это действительно подтверждает, что первые 16 секторов зарезервированы для файла $Boot.

C:\windows\system32>fsutil volume querycluster c: 1 0
Cluster 0x0000000000000000 used by -S--D \$Boot::$DATA
Cluster 0x0000000000000001 used by -S--D \$Boot::$DATA

Вот HEX-дамп первых двух секторов:

Шестнадцатеричный дамп

Первый блок здесь соответствуетЗагрузочный сектор раздела, о котором вы можете прочитать больше в Интернете, но по сути это просто загрузки NTLDRили bootmgr, в зависимости от вашей версии Windows.

Связанный контент