5

На моем диске C: был файл BOOTSECT.BAK. Не зная, что это такое, я открыл его в HxD, и первые 14 байтов были B \0 O \0 O \0 T \0 M \0 G \0 R \0 соответствующие строке UTF-16LE BOOTMGR . После некоторых исследований я обнаружил, что это VBR для Windows. Это установлено в секторе 63 (или 2048 на Vista+).

После дополнительных исследований, это оказывается копия VBR, а не фактическая вещь. Это смутило меня, так как я почти уверен, что где-то слышал, что Windows предоставляет свой собственный файл где-то в C:\Windows\System32 или C:\Windows\boot . Я также слышал, что Windows назначает MBR файл в одном из этих каталогов.

TL; DR: может ли NTFS (или любая другая файловая система) назначить файл за пределами раздела? Скорее всего, с отрицательными целыми числами или LBA начального сектора (т.е. -2048 для смещения сектора или 2048 для LBA)

3 ответа3

6

Может ли NTFS (или любая другая файловая система) назначить файл за пределами раздела?

Нет, разве это не лишит цели файловую систему? Если вы просто хотите манипулировать необработанными нулями и единицами, хранящимися на диске вне вашего раздела, вы можете использовать множество низкоуровневых инструментов для работы с дисками. Вы также можете смонтировать другой раздел в смонтированном разделе NTFS (т.е. вы можете смонтировать другой раздел в C:\MyNewVol\), если файлы хранятся в другой файловой системе.

Те конкретные файлы, которые вы описали выше, называются метафайлами и хорошо определены в соответствии со спецификацией NTFS. См. Предыдущую ссылку для описания различных метафайлов (например, упомянутый вами VBR хранится в метафайле $Boot ) и того, где они расположены на диске относительно границ раздела NTFS.

Кроме того, что касается всей MBR против VBR, со страницы Википедии на VBR:

[VBR] является первым сектором отдельного раздела на устройстве, причем первый сектор всего устройства является главной загрузочной записью (MBR), содержащей таблицу разделов.

Таким образом, вы можете получить доступ к VBR через файловую систему NTFS (при условии, что у вас есть соответствующие разрешения для этого), но вы не можете получить прямой доступ к MBR; для этого вам нужно дисковых низкоуровневых средств.

4
Does NTFS (or any file system) support files outside of the partition?

Не так много в Windows, но в вариантах Unix, и в зависимости от того, как вы определяете, что такое файл, вы найдете файловые системы, поддерживающие файлы вне раздела.

  • Файлы поддержки tmpfs хранятся частично или полностью в оперативной памяти.
  • procfs содержит файлы в /proc /pid /fd /, которые определенно принадлежат другим файловым системам
  • в /dev (или /devices) у вас есть "файлы", содержимое которых находится за пределами раздела. Вы можете получить доступ к VBR и MBR через них (например: /dev /sda1, /dev /dsk /c0d0t0p1, ...).
  • Все файловые системы, поддерживающие символические ссылки, также могут сортировать файлы из других мест.

Похоже, что установка cygwin предоставит каталог /dev, из которого вы сможете получить доступ к полным исходным данным дисков и разделов, включая VBR и MBR.

1

Файловые системы только адресуют данные внутри своего выделенного пространства.

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

Различие между ОС и ФС может быть небольшим, но оно жизненно важно.

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