2010-09-22 6 views
0

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

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

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

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


EDIT: Я работаю с 8085 микропроцессором здесь, так что на самом деле не ищу программное обеспечение на клонировании.

ответ

1

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

+1

Вы даже можете клонировать MBR и ВСЕ разделы диска в клоне. Но вы можете копировать только разделы в другое место, и это будет работать, так как файловые системы всегда используют относительное смещение к началу своего раздела. – LatinSuD

+0

- это не файловая система, хранящаяся в таблице разделов? И разве это не место, где ОС определяет, какая файловая система она есть? – jjczopek

+0

Действительно ли таблицы разделов на данный момент имеют значение? Хорошо Carl & latinSud ясно описывает, что все будет скопировано отлично. – loxxy

1

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

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

+0

Я не думаю, что в этот момент времени в игру вступает в игру таблица разделов? Что касается типа памяти, они, очевидно, должны были бы быть идентичными во всех физических аспектах. В любом случае спасибо. – loxxy

+0

Таблица разделов определяет тип файловой системы, используемой в каждом разделе. Что касается типа памяти - это не совсем так. Количество голов/цилиндров имеет значение только при копировании жесткого диска целиком (с таблицей разделов), поскольку таблица разделов содержит определенную информацию о головке/цилиндре. Если вы копируете раздел как логический объект (набор кластеров), то физические характеристики вообще не имеют значения. Таким образом, вы можете скопировать флеш-карту 2Gb на флеш-карту 4Gb, а на карте назначения у вас будет тот же раздел 2Gb. –

+0

Файловая система, указанная в разделе, является скорее намеком на ОС, чем чем-либо еще. Нет гарантии, что раздел, который утверждает, что он был отформатирован X, на самом деле отформатирован с помощью X. – Sparky

-1

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

Каждая таблица разделов я знаю магазинов некоторые информации о типе раздела:

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

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

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

Хотя существует более дюжины различных типов разделов, используемых только для FAT, Windows к настоящему времени отказалась от модели выбора файловой системы по типу разделов (действительно, для UDF ее нет). Mac OS X будет относиться к типу раздела, но устройствам памяти вообще не нужно разделять. Байт для копии байта будет работать, если не требуется информация вне диапазона, такая как серийный номер накопителя (Xbox делает это). Перемещение раздела может вызвать проблемы с загрузчиками, которые иногда хранятся в фиксированных положениях или даже вне разделов. –

+0

@tc: дополнительная информация о чем угодно всегда приветствуется. @Yann: Я пытаюсь скопировать на аналогичные устройства. Это всего лишь проблема с зудом. Ничего больше. – loxxy

+0

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

Смежные вопросы