Как файловая системная информация хранится в памяти? - PullRequest
0 голосов
/ 22 сентября 2010

Компьютеры распознают разные файловые системы. У меня вопрос, где именно эта информация хранится в устройстве памяти (конкретное место, если таковые имеются). Или он нигде не хранится, а операционная система проверяет систему (устройство памяти) на соответствие известному набору файловых систем (например, ext3, ntfs и т. Д.)?

Со ссылкой на вышесказанное, если я скопирую каждый бит (с первого по последний) с устройства памяти на другое, с таким же объемом памяти (скажем, на двух одинаковых флеш-накопителях), будет ли последним полный клон? Будет ли клонированное устройство автоматически наследовать файловую систему?

Если клон не может быть получен побитовым копированием, что еще требуется?

Я полагаю, что этот вопрос должен быть где-то еще в SE, но я не уверен в этом месте.


РЕДАКТИРОВАТЬ: Я здесь работаю с микропроцессором 8085, поэтому не очень-то ищу программное обеспечение для клонирования.

Ответы [ 3 ]

1 голос
/ 22 сентября 2010

Жесткие диски включают таблицу разделов (выполните поиск Google по этому термину).Флэш-карты и флэш-USB-диски обычно не имеют таблиц разделов, и в этом случае ОС просто спрашивает у каждого драйвера файловой системы «это ваша файловая система?».

Что касается клонирования - если вы скопируете устройство на идентичное устройство, у вас будет клон.Если жесткие диски имеют разную конфигурацию (разное количество цилиндров, головок и т. Д.), То клонирование не так просто, но также возможно.Флэш-карты обычно копируются блок-блоком, и клонирование тривиально.Существуют такие приложения, как Acronis Disk Director или Norton Ghost, которые выполняют такое клонирование.Вы можете взять пробную версию и поиграть с ней.

1 голос
/ 22 сентября 2010

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

0 голосов
/ 25 сентября 2010

И еще несколько деталей, которые вы никогда не хотели знать:

В каждой таблице разделов, которую я знаю, хранятся некоторые сведения о типе раздела:

  • «MBR» (IBM / PC) имеет «тип раздела» для каждого раздела. 0x00 - это свободное место, а остальные «выделяются» тем, кто туда доберется первым (я думаю, что было несколько столкновений). Linux использует один тип раздела (0x83) для всех своих файловых систем, предположительно для уменьшения коллизий, и просто запрашивает все драйверы файловой системы. Microsoft использует разные типы для каждого типа файловой системы (во IIRC есть две разные FAT16 или FAT32; я не помню).
  • «APM» (Apple_partition_map, a.k.a. «Classic» Mac) хранит строку типа раздела (до 31 символа или около того).
  • «GUID» («Карта разделов GUID» EFI, используемая на Intel Macs) хранит GUID типа раздела. GUID эффективно гарантированно являются уникальными.

Байт-байтовая копия обычно работает при условии, что оба устройства имеют одинаковый размер сектора (поскольку множество смещений / размеров указано в секторах, а не в байтах). Почти каждый жесткий диск и флэш-накопитель используют сектор размером 512 байт, но есть некоторые исключения:

  • Некоторые iPod Shuffles используют 2048 байт. По-видимому, иногда вы можете загрузить образ компакт-диска с одного (обычно компакт-диски имеют сектора по 2048 байт).
  • Некоторые новые жесткие диски имеют сектора по 4096 байт (с перемычкой совместимости, претендующей на наличие секторов по 512 байт).
  • Некоторые «корпоративные» жесткие диски поддерживают несколько большие сектора (например, Barracuda ES.2 имеет 512, 512 + 8, 512 + 12, 512 + 16). Дополнительные байты предположительно полезны для зашифрованных дисков.
...