Здесь есть три отдельных понятия:
- Блочное устройство , которое является физическим или виртуальным устройством , которое представляет собой ряд одинаковых по размеру блоков данных. Жесткие диски являются блочными устройствами. Как и диски с данными.
- Файловая система , которая определяет способ хранения данных в блочное устройство , которое представляет собой набор файлов и директорий и другой информации файловой системы. ext3 - это файловая система, как и ISO9660.
- Файл изображения - это копия данных на блочном устройстве в виде файла (в другой файловой системе). Файлы изображений могут иметь любое расширение;
.img
распространено
.iso
Файл обычно представляет собой файл изображения из блочного устройства , содержащего файловую систему ISO9660 . Он содержит точное представление данных, хранящихся на компакт-диске. Аналогично, вы могли бы иметь .img
файл (назовем его , .ext3
если вы предпочитаете) , который представляет собой файл изображения из блочного устройства , содержащего файловую систему ext3 . Это распространенный способ распространения загрузочных образов USB или дискет. Название произвольно, .iso
это просто то, что мы называем файлами изображений, содержащими файловую систему ISO9660 (или, иногда, файловую систему UDF, которая является более современной).
Вы не можете напрямую монтировать файлы изображений, так как они не являются блочными устройствами, а просто копируют данные на блочном устройстве. Тем не менее, Linux и другие ОС имеют функцию, называемую петлевыми устройствами, которая позволяет получить доступ к файлу изображения в качестве блочного устройства. Чтобы смонтировать файл ISO, вы сначала создаете устройство цикла, которое представляет собой виртуальное блочное устройство с тем же содержимым, что и файл ISO. Затем вы можете смонтировать его так же, как физический компакт-диск или USB-диск с файловой системой ext3, или что-то еще. Команда mount
может сделать это для вас автоматически, но под капотом они представляют собой отдельные шаги.
Разделы - это способ разбить блочное устройство на несколько меньших логических блочных устройств. Разделы не являются обязательными. В этом отношении компакт-диск аналогичен нераспределенному USB-накопителю или дискете, где файловая система хранится на всем устройстве без таблицы разделов. Поэтому файлы ISO не содержат таблицы разделов. Однако ничто не мешает вам создать файловую систему ISO9660 в разделе жесткого диска. Когда вы делаете есть разделы, файл изображение может быть из одного раздела или всего физического устройства , включая таблицу разделов, но диски не распределяли, поэтому различие не имеет значения для изображений ISO.
Вам не нужно монтировать устройство - или файл образа - чтобы получить доступ к файлам, содержащимся в нем. Некоторые приложения и библиотеки имеют возможность доступа к данным напрямую, без участия операционной системы. Они просто понимают файловую систему напрямую и имеют код, который имитирует действия ОС при обращении к файлам в файловой системе. Вот почему существуют инструменты, которые могут показать вам содержимое файла ISO, без фактического монтирования его через ОС. Монтирование - это концепция операционной системы, но это не единственный способ доступа к данным на блочном устройстве. Некоторые люди могут подумать о простом действии сделать это «монтаж» в пути.
То, на что вы монтируете устройство (или файл ISO через устройство обратной связи), не имеет значения. Именно в этой иерархии путей вы просите ОС показать содержимое устройства. В Linux вы обычно выбираете каталог в уже смонтированной файловой системе. Но ничто не мешает вам, скажем, загрузиться с компакт-диска и попросить ядро смонтировать его как корневую файловую систему. Конечно, поскольку файл ISO - это, ну, файл, вероятно, он существует в некоторой файловой системе для начала, которую нужно где-то смонтировать, чтобы вообще получить доступ к ISO.
dd
.