Читайте, как и для чего используется ISO-образ. Как создать ISO-образ с оптического диска, монтировать его на виртуальный оптический диск вашего ПК или извлечь из него данные, в случае необходимости.
Персональные стационарные и мобильные компьютерные устройства имеют огромную популярность и получили широчайшее применение во всех сферах нашей жизни. Каждая отрасль экономики, образования, здравоохранения, социальной культуры и т.д., так или иначе, использует для своих нужд компьютерную технику. Весь учет, контроль, обработка и хранение разнообразной информации осуществляется при помощи таких устройств.
Содержание
- Что такое «ISO-образ»
- Как подключить «ISO-образ»
- Как записать «ISO-образ» на диск
- Как извлечь данные из ISO-образа
- Как создать собственный файл «ISO» с оптического диска
- Вопросы и ответы
- Комментарии
Естественно, что и для личного использования компьютерные устройства применяются пользователями достаточно широко. Выполнение различных заданий, общение при помощи электронных приложений, создание любых информационных файлов, редактирование и обмен звуковыми, видео файлами и изображениями, отправка и получение электронных писем, организация досуга и развлечений и многое другое.
Неудивительно, что для корректной работы компьютерных устройств необходимо наличие современного высокопроизводительного программного обеспечения, которое в полной мере позволит использовать их возможности.
Большинство современных компьютерных программ, обладающих большим диапазоном возможностей, поставляются пользователю на оптических носителях или другим способом в определенном цифровом формате. И довольно часто возникает ситуация, когда необходимо сохранить копию определенного диска. В этом случае может помочь «ISO-образ». «ISO-файл» (часто называемый образом «ISO») – это архивный файл, который содержит идентичную копию (или образ) данных, найденных на оптическом диске, например, на компакт-диске или «DVD-диске». Такой вид формата файлов часто используются для резервного копирования оптических дисков или для распределения больших наборов файлов, предназначенных для записи на оптический диск.
Перейти к просмотру
Как скачать оригинальные ISO образы Windows 10, 8, 7 (x64, x32 бита) и Microsoft Office 📀💻 🛠️
Что такое «ISO-образ»
Название «ISO» взято из названия файловой системы, используемой оптическими носителями, обычно это «ISO 9660». Вы можете представить образ «ISO» как полную копию всего, что хранится на физическом оптическом диске, таком как «CD», «DVD» или «Blu-ray» диске, включая собственную файловую систему. Он представляет собой секторальную копию диска, при этом никакое дополнительное сжатие не используется. Идея образов «ISO» заключается в том, что вы можете архивировать точную цифровую копию диска, а затем использовать этот образ для записи нового диска, который в свою очередь является точной копией оригинала. Большинство операционных систем (и многие «утилиты» – вспомогательные компьютерные программы, осуществляющие выполнение специализированных типовых задач для корректной работы оборудования или операционной системы) также позволяют монтировать образ «ISO» как виртуальный диск. В этом случае, все ваши приложения обрабатывают его таким же образом, как если бы это был реальный оптический диск, вставленный в привод вашего персонального компьютера.
Перейти к просмотру
Как создать образ восстановления и восстановить систему Windows 10 из образа ⚕️💻🤔
В то время как многие пользователи используют «ISO» для создания резервных копий своего оптического диска, «ISO-образ», в наши дни, используется в основном для распространения больших программ и операционных систем, поскольку он позволяет хранить все файлы в одном легко скачиваемом файле. Затем люди могут решить, хотят ли они монтировать этот образ для последующего использования или применить его для записи оптического диска.
Большинство загружаемых операционных систем, включая «Windows» и различные дистрибутивы «Linux», распространяются как образы «ISO». Это пригодится вам при загрузке текущей версии «Ubuntu» для последующей установки на вашем компьютере или установки любого старого игрового диска на ноутбук при отсутствии реального физического диска.
Как подключить «ISO-образ»
Понятие «установка ISO-образа» означает, что вы будете монтировать образ вашего диска на виртуальный оптический диск. Все ваши приложения будут обрабатывать смонтированный образ так, как если бы это был физический диск в приводе вашего персонального компьютера.
Версии операционной системы «Windows 8, 8.1 и 10» позволяют монтировать образ диска «ISO» без привлечения дополнительного стороннего программного обеспечения. Для этого достаточно открыть в проводнике файлов «Windows» папку, где храниться образ требуемого «ISO-диска», и щелкнуть по нему правой кнопкой мыши для вызова всплывающего контекстного меню. В открывшемся списке доступных действий нужно выбрать раздел «Подключить».
Или в проводнике файлов «Windows» отметьте левой кнопкой мыши требуемый образ «ISO», а затем на ленте главного меню проводника во вкладке «Средства работы с образами диска» в разделе «Управление» нажмите кнопку «Подключить».
Если вы используете на своем персональном компьютере операционную систему «Windows 7» (или предыдущую, более раннюю, версию системы), то вам понадобится выполнить установку дополнительного приложения стороннего производителя, такое как бесплатное и простое в использовании, приложение «WinCDEmu».
Как записать «ISO-образ» на диск
Функция «запись ISO-образа» на физический диск пригодится вам в том случае, если вы планируете создать загрузочный диск, который будете использовать для установки программного обеспечения или операционной системы на другой сторонний компьютер. Это особенно полезно, когда вы устанавливаете операционную систему (или создаете специальный системный диск) и должны использовать этот диск для его последующей загрузки. Он также может быть полезен для создания физической резервной копии диска или когда вам просто нужно поделиться копией диска с кем-либо еще.
Операционные системы «Windows 7, 8 и 10» имеют функцию записи образа «ISO» на диск, непосредственно встроенную в предустановленные службы самой системы. Все, что вам нужно для осуществления записи «ISO-образа», так это вставить в привод компьютера, подготовленный к записи, оптический диск, а затем воспользоваться одним из двух способов на выбор. По аналогии с ранее описанными способами подключения «ISO-образа» вам будет необходимо открыть в проводнике файлов «Windows» папку, содержащую ваш «ISO-образ». Теперь щелкните по нему правой кнопкой мыши и в открывшемся всплывающем контекстном меню выберите команду «Записать образа диска».
Либо отметить левой кнопкой мыши файл «ISO-образа» и во вкладке «Средства работы с образами диска» в разделе «Управление» нажать на кнопку «Запись на диск».
Примечание: Если на вашем персональном компьютере нет устройства, позволяющего производить запись на оптический диск, то вы не увидите эту кнопку. Кроме того, если у вас установлено приложение для сжатия файлов (например, «7-Zip»), и оно связано с расширением файла «ISO», для вас также будет недоступна эта кнопка. Мы расскажем об этом более подробно в следующем разделе.
В операционной системе «MacOS» функция записи «ISO-образа» на диск работает по тому же принципу, что и в системе «Windows», поэтому детально описывать ее нет необходимости.
Перейти к просмотру
Создание загрузочной флешки для установки Windows 10, 8, 7 💽💻🛠️
Как извлечь данные из ISO-образа
Если вы не хотите монтировать «ISO-образ» или записывать его на диск, но все же вам необходимо получить доступ к хранящимся внутри файлам, то вы можете извлечь его содержимое на свой компьютер. Для этого вам понадобится стороннее приложение, например «WinRAR» или «7-Zip». Мы покажем способ для получения данных из «ISO-образа» на примере приложения «WinRAR», но вы можете использовать то приложение, с которым вы привыкли работать.
Если при установке приложения «WinRAR» вы ассоциировали его с расширение файлов «.iso», то чтобы открыть и просмотреть его содержимое, вам нужно лишь дважды щелкнуть требуемый «ISO-образ». В зависимости от размера исходного «ISO-файла», процесс открытия может занять некоторое время, поэтому будьте терпеливы.
Вы можете скопировать любые файлы из «ISO-образа» в обычную папку, просто перетаскивая их.
Если хотите, вы также можете извлечь полное содержимое «ISO-образа» в обычную папку. В проводнике файлов просто щелкните правой кнопкой мыши по «ISO-образу» и откройте всплывающее контекстное меню. Среди доступных действий вы можете воспользоваться одним из трех разделов по выбору, каждый содержащий определенную команду извлечения файлов. Команда «Извлечь файлы» позволяет вам самостоятельно выбрать местоположение последующего извлечения файлов, команда «Извлечь в текущую папку» извлекает файлы в то же место, где находится файл «ISO-образа», а команда «Извлечь в «имя папки»» создает новую папку в месте расположения «ISO-образа» и присваивает ей название «ISO-файла».
Другие приложения для сжатия файлов, такие как «7-Zip», работают по тому же принципу и предлагают аналогичные возможности, что и вышеописанное приложение.
Однако следует отметить одну немаловажную деталь. Если вы устанавливаете приложение для сжатия файлов, такие как «7-Zip» или «WinRar», и вы позволяете этому приложению производить ассоциирование с файлами «ISO», то вы больше не увидите встроенные команды управления «ISO-образами» в проводнике файлов «Windows» для полноценной работы с ними. Поэтому лучше иметь средство управления «ISO-образами» в проводнике файлов, ведь вы, все равно, можете щелкнуть их правой кнопкой мыши, и получить доступ к командам приложений сжатия для извлечения данных из «ISO-образа», когда захотите.
Если вы уже установили одно из этих приложений, и оно ассоциируется с файлами образа, то вы можете легко переназначить расширение файла «ISO» для проводника файлов «Windows». Для этого вам придется воспользоваться приложением «Параметры». Данное приложение содержит все основные настройки операционной системы. И разработчики «Windows 10» намерены заменить им приложение «Панель управления» для повышения удобства работы пользователей. Поэтому мы более подробно остановимся на возможных способах открытия приложения «Параметры». Мы покажем вам пять способов доступа к приложению, и вы сможете выбрать любой, понравившийся вам, способ, для дальнейшего применения.
-
1 способ: Откройте проводник файлов «Windows» «Этот компьютер». На ленте главного меню проводника выберите вкладку «Компьютер». На открывшейся панели вкладки в разделе «Система» нажмите синюю кнопку с белой шестеренкой «Открыть параметры».
-
2 способ: Нажмите в левом нижнем углу рабочего стола кнопку «Пуск», расположенную на «Панели задач», и откройте главное пользовательское меню «Windows». Выберите в левой панели меню кнопку с, изображенной на ней, шестеренкой, и откройте приложение. Или в списке установленных приложений опустите бегунок полосы прокрутки вниз, и, в соответствующем пункте меню, выберите раздел «Параметры».
-
3 способ: Найдите на «Панели задач» кнопку «Поиск», представленную в виде лупы и расположенную рядом с кнопкой «Пуск», и откройте поисковую панель. В поле запроса введите поисковую фразу «параметры». Система проведет анализ и в графе «Лучшее соответствие» нажмите на ссылку искомого приложения.
-
4 способ: Нажмите значок «Центра уведомлений Windows», который расположен в правом нижнем углу рабочего стола на «Панели задач». Во всплывающей боковой панели меню найдите, в нижней ее части, кнопки быстрого доступа. Для вызова требуемого приложения нажмите кнопку «Все параметры».
-
5 способ: Наиболее простой и самый быстрый способ для вызова приложения «Параметры» – нажмите вместе сочетание клавиш «Windows + I» и откройте приложение сразу напрямую.
На главной странице перейдите в раздел «Приложения». Далее в левой панели новой страницы выберите раздел «Приложения по умолчанию». В правой панели опустите бегунок полосы прокрутки вниз страницы и нажмите текстовую ссылку «Выбор стандартных приложений для типов файлов».
В следующем окне отображается очень длинный список расширений файлов. Используя бегунок полосы прокрутки, найдите в представленном списке расширение «.iso». Напротив указанного значка в правой половине окна щелкните любое приложение, которое в настоящее время связано с расширением файла «.iso». Во всплывающем меню выберите опцию проводника файлов «Windows».
Как создать собственный файл «ISO» с оптического диска
Процесс создания «ISO-файла» с дисков позволяет вам получить цифровую резервную копию физических дисков. Затем вы можете использовать созданные «ISO-файлы» для установки их на компьютеры, у которых нет оптического дисковода. В будущем, вы можете создавать дополнительные копии образа диска с, имеющегося у вас, «ISO-файла», не используя для этого оригинальный физический диск. И, конечно, вы можете делиться этим «ISO-образом» с другими людьми.
В то время, как операционные системы «MacOS» и «Linux» поставляются с предустановленным программным обеспечением, которое позволяет вам создавать «ISO-образ» с физического диска, в операционной системе «Windows» такой возможности нет. Вместо этого вам придется использовать приложение сторонних производителей для создания «ISO-файла» в системе «Windows». Во всемирной компьютерной сети «Интернет» можно найти множество приложений для создания «ISO-образа» и выбрать наиболее подходящее именно вам. Каждое приложение обладает стандартным набором функций, а также содержит различные дополнительные инструменты, выгодно отличающие его от других приложений. В зависимости от ваших требований, вы можете выбрать соответствующее приложение для его дальнейшего использования.
Операционная система «Windows» позволяет вам выполнять минимальный набор действий с файлами «ISO», не требуя установки дополнительных инструментов. Вы всегда можете подключить, записать или скопировать «ISO-образ» на свой персональный компьютер быстро и легко без дополнительных затрат.
В этой статье я хочу поговорить об ISO-файлах, на которых, как известно, распространяются дистрибутивы операционных систем. Начиная писать статью, я немного сомневался в её актуальности, так как я ассоциировал ISO-образы с оптическими дисками, которые, ввиду ряда причин, уходят в прошлое. У меня было стойкое понимание, что ISO-файлы в основном нужны только для хранения образов оптических дисков, которые содержат установщик операционной системы. Но, как оказалось, всё гораздо сложнее и интереснее, особенно применительно к современному железу.
Если у вас нет много времени читать эту статью или набирать исходный код и команды, вы всегда можете найти на GitHub мой проект с исходным кодом, который можно запустить и поэкспериментировать с ним.
Также у меня была статья на Хабре, где я затрагивал тему загрузочных ISO, но не вдавался в подробности реализации.
Что вы найдёте в этой статье
Не знаю, как для кого, но для меня лучше всего запоминается то, что ты сам попробовал на практике, когда ты сделал немало ошибок, чтобы разобраться с темой. Поэтому мой рассказ о загрузочных ISO-образах будет совмещён с практикой.
Для лучшего понимания материала стоит рассматривать тему на простых воспроизводимых примерах, а потом, разобравшись в основах, разбирать более сложные вопросы. Поэтому я, как и в предыдущей статье, создал минимальный пример, который, с моей точки зрения, достаточно хорошо раскрывает тему загрузочных образов ISO.
После прочтения этой статьи вы сможете создать универсальный загрузочный образ ISO, который можно будет записать на оптический диск, внешний жёсткий диск или флеш-накопитель так, что при загрузке с него будут выполняться минимальные программы Hello, World, никак не зависимые от операционной системы. Эти программы можно считать заглушками для реальных загрузчиков операционных систем. Пример из статьи позволит вам разобраться со структурой загрузочных ISO-образов и улучшит ваше понимание процесса загрузки компьютера (bootstrapping).
Немного теории, которую необходимо знать
Как известно, теория без практики ничего не значит, справедливо и обратное утверждение. Поэтому приведу немного теории, которая позволит лучше понять, что же вы делаете.
Загрузка операционной системы на компьютере x86
При включении питания компьютера процессор сразу начинает выполнять команды. Первые команды, выполняемые процессором, принадлежат предустановленной программе, которая располагается в ROM памяти на материнской плате компьютера. Основное назначение программы – базово проверить компьютер на ошибки, проинициализировать часть устройств для дальнейшей загрузки и передать управление загрузчику, предоставив программный интерфейс для взаимодействия с собой.
Существует два вида программ, располагающихся в ROM — BIOS (Basic Input/Output system) и UEFI (Extensible Firmware Interface). Обычно компьютеры с UEFI позволяют эмулировать BIOS, если выбрать опцию Legacy Mode.
Механизм загрузки BIOS (Legacy)
BIOS не имеет никакого представления о файловых системах, установленных на устройствах, с которых осуществляется загрузка. Он рассматривает устройства как блочные, которые могут возвращать блоки данных (сектора), располагающиеся по определённым LBA (Logical Block Address). Ранее дисковые устройства ещё имели режим адресации CHS (Cylinder, Head, Sector), который был более близок к физической геометрии жёстких дисков, но сейчас он практически не используется.
Если данные удовлетворяют определённому критерию, BIOS загружает их в память, рассматривает их как программу и передаёт ей управление.
Эта программа может работать с устройствами компьютера через специальный интерфейс на основе программных прерываний. Она обычно пишется на ассемблере.
Когда BIOS передаёт управление, то процессор x86 находится в реальном режиме, а это значит, что в программе можно обратиться только к 1МiB оперативной памяти и, если вы хотите использовать всю оперативную память, то необходимо позаботиться о том, чтобы перевести процессор в защищённый режим. Такие загрузчики, как GRUB 2, как раз это и делают.
Механизм загрузки UEFI
UEFI знает о файловой системе FAT. При загрузке с устройства UEFI пытается найти на устройстве раздел с этой файловой системой и исполняемый файл UEFI в ней, после чего запустить его на выполнение.
Программа, находящаяся в исполняемом файле, может взаимодействовать с UEFI при помощи специального программного интерфейса, который использует так называемые сервисы UEFI. Она обычно пишется на языке высокого уровня С или C++.
Когда UEFI передаёт управление программе, то процессор находится в защищённом режиме, и из программы вы уже можете обращаться ко всей оперативной памяти, которая присутствует на компьютере.
Загрузка с жёсткого диска или флеш-накопителя
Загрузка с жёсткого диска или флеш-накопителя в большинстве случаев подразумевает, что они размечены на разделы, а на одном или нескольких разделах находятся загрузчики и операционные системы, которые необходимо загрузить. Мне известно о двух видах разметки: MBR (Master Boot Record) и GPT (GUID Partition Table).
MBR – более ранний способ разметки, подразумевающий разметку диска на 4 первичных раздела. Существует способ увеличить общее количество разделов за счёт создания так называемых расширенных разделов, но загрузка с таких разделов усложняется.
GPT – современный способ разметки, подразумевающий разметку диска на большое количество разделов и поддержку дисков размером более 2TiB.
На просторах Интернета существует очень распространённое заблуждение, которое заключается в том, что на компьютерах с BIOS используется ТОЛЬКО MBR-разметка, а с UEFI TOЛЬКО GPT-разметка. Это неверно.
BIOS не имеет понятия как о GPT, так и о MBR, он только знает о том, что нужно загрузить и выполнить программу, находящуюся в нулевом секторе, если этот диск является загрузочным и последние два байта в секторе равны 55AAh. Но если в результате будет передано управление загрузчику, который «понимает» GPT, то последний сможет загрузить операционную систему с раздела GPT. Разумеется, сама операционная система должна поддерживать GPT-разметку. Но даже если она не поддерживает GPT, в нулевом секторе можно разместить таблицу разделов MBR, которая будет указывать на подмножество разделов GPT (максимум 4 шт., которые находятся в пределах первых 2ТiB размеченного диска), и они будут видны этой операционной системе.
Чтобы компьютер загрузил ОС средствами UEFI, необходимо наличие системного раздела EFI на диске (EFI System Partition (ESP)), с которого осуществляется загрузка. Неважно, какая разметка используется (MBR или GPT), важно наличие самого раздела, а также наличие приложения UEFI с прописанным именем в системных переменных UEFI или имеющего стандартное имя bootx64.efi и располагающегося в директории EFI\boot в разделе ESP.
Таким образом, различие BIOS и UEFI-загрузки заключается в том, как загрузится и выполнится самая первая программа (приложение) после них. В BIOS загружается и выполняется программа, которая находится в нулевом секторе диска, в UEFI выполняется программа, которая находится на системном UEFI разделе диска.
Файловая система оптических дисков
Для хранения файлов на оптических дисках очень часто используется файловая система ISO 9660. Она имеет несколько уровней (Level 1, Level 2, Level 3) и расширений (Rock Ridge, Joliet). Также часто используется файловая система UDF, но для нашей задачи эти знания не понадобятся, так как фактически мы будем работать с секторами диска. В статье я не буду подробно рассматривать файловые системы для оптических дисков. Загрузчик, который будет загружен BIOS или UEFI для выполнения дальнейшей загрузки, должен «понимать» файловую систему оптических дисков, а я для краткости это не рассматриваю.
Загрузка с оптического диска
Для того, чтобы компьютер смог загружаться с оптического диска, BIOS или UEFI должны поддерживать стандарт El Torito, придуманный специально для этого. И тут, как и при загрузке с жёсткого диска, для BIOS важен сектор, в котором находится программа начальной загрузки, а для UEFI важен системный UEFI-раздел на диске c программой UEFI.
Скажу честно, я до последнего думал, что UEFI запускает файл bootx64.efi, который находится в файловой системе ISO 9660 на оптическом диске, однако это не так, так как UEFI понимает загрузку только с ESP, поэтому ему нужно предоставить образ ESP с файлом bootx64.efi, а в специальной структуре Booting Catalog указать расположение образа.
Гибридный ISO-образ
В настоящее время большинство дистрибутивов Linux распространяются в виде так называемых гибридных ISO-образов.
Суть гибридных ISO-образов в следующем: один и тот же образ можно посекторно записать на оптический диск или на флеш-накопитель/внешний жёсткий диск. Загрузка будет выполнена с любого из устройств, если его выбрать в качестве загрузочного. Это очень удобно для конечного пользователя. Он просто берёт образ и записывает его на оптический диск или флеш-накопитель, не выполняя никаких преобразований.
Как же это происходит? Дело в том, что первые 16 секторов в файловой системе ISO 9660, каждый из которых размером 2048 байт, используются для системных нужд, поэтому там можно разместить MBR и/или GPT. Они игнорируются BIOS/UEFI при загрузке с оптического диска, но при загрузке с флеш-накопителя они используются.
Запись о разделе в MBR или GPT будет указывать на файл с образом ESP, а в случае MBR для BIOS будет содержаться код начальной загрузки, который уже будет каким-то образом читать код из секторов и выполнять его, продолжая тем самым дальнейшую загрузку.
При всём своём удобстве этот подход не стандартизован и, например, Windows или какие-то программы по разметке диска могут считать такую информацию в MBR или GPT неверной.
Структура загрузочного ISO-образа
Любой ISO-образ должен содержать список дескрипторов томов. Каждый дескриптор занимает целый сектор (2048) байта. Дескрипторы томов размещаются начиная с 16-го сектора, если нумерация секторов осуществляется с 0.
Дескриптор тома с загрузочными записями El Torito располагается в 17-м секторе.
Структура загрузочного ISO-образа для современных компьютеров х86 представлена на рисунке.
Для загрузки с оптического диска нас интересует Boot Record Volume Descriptor. С описанием Primary Volume Descriptor и Volume Descriptor Set Terminator вы можете ознакомиться в спецификации файловой системы ISO 9660 (ECMA-119)
▍ Boot Record Volume Descriptor
Назначение Boot Record Volume Descriptor — указать, где находится Booting Catalog, который содержит информацию для BIOS или UEFI о том, что именно и каким способом можно загрузить с оптического диска.
▍ Booting Catalog
Booting Catalog – это массив записей размером 32 байта каждая. Количество записей не ограничено. Всего в спецификации определены 5 типов записей: Validation Entry, Default Entry, Section Header, Section Entry, Section Entry Extension. Последнюю описывать не буду, так как я не встречал её применение.
Validation Entry
Назначение Validation Entry — это подтверждение того, что образ ISO (оптический диск) действительно является загрузочным.
Default Entry
Назначение Default Entry — указать, что будет загружено по умолчанию. Обычно это сектора для загрузки при помощи BIOS.
Section Header
Назначение Section Header — сгруппировать возможные виды загрузки, однако обычно на практике существует ещё только один вид загрузки через UEFI.
Section Entry
Назначение Section Entry — указать, что может быть загружено и откуда. Обычно это сектора образа ESP для загрузки при помощи UEFI.
Практическая часть
Создание образа
Изначально я хотел описать в статье, как создать образ с нуля без использования сторонних программ, но потом мне показалось, что это раздует статью, её будет сложно читать, и вы потратите много времени на изучение. Поэтому использовал уже готовые решения, которые используются в Linux: Xorriso для создания образов, а для того, чтобы увидеть наглядно структуры загрузочного ISO, xxd для просмотра содержимого образа в шестандцатиричном формате
Вы всегда можете попробовать создать загрузочный ISO-файл сами, написав небольшие программы на C, Java или другом языке программирования, но в статье я на этом останавливаться не буду.
Минимальные программы-заглушки загрузчиков для BIOS и UEFI
Загрузчик для BIOS — это один или несколько секторов на диске, содержащих инструкции, которые используют сервисы (программные прерывания) BIOS и осуществляют дальнейшую инициализацию компьютера, загружают и запускают на выполнение ядро операционной системы.
Загрузчик для UEFI — это исполняемый файл, располагающийся в ESP-разделе и содержащий инструкции, которые используют сервисы UEFI, чтобы осуществлять дальнейшую инициализацию компьютера, загружать и запускать на выполнение ядро операционной системы.
Для упрощения понимания наши загрузчики не будут ничего делать кроме вывода тривиальных фраз типа «Hello, world!» на экран. Можно сказать, что это заглушки, которые могут быть использованы для написания полноценных загрузчиков в дальнейшем.
Код программы-заглушки загрузчика BIOS
Загрузчик для BIOS – это один или несколько секторов на диске. Инструкции, содержащиеся в них, процессор выполняет в реальном режиме, где доступно только 1MiB оперативной памяти.
Обычно исходный код загрузчика при помощи ассемблера превращается в бинарный файл, содержимое которого потом посекторно записывается на диск.
Для меня проще всего получить такой код, используя ассемблер fasm.
use16
org 0x7c00
cli
jmp 0:start
times 8-($-$$) nop ; Pad to file offset 8
; iso_boot_info structure is filled by xorriso when we generate ISO file.
iso_boot_info:
bi_pvd: dd 16 ; LBA of primary volume descriptor
bi_file: dd 0 ; LBA of boot file
bi_length: dd 0xdeadbeef ; Length of boot file
bi_csum: dd 0xdeadbeef ; Checksum of boot file
bi_reserved: times 10 dd 0xdeadbeef ; Reserved
iso_boot_info_end:
signature: dd 0x7078c0fb ; used by ISOLINUX hybrid MBR
start:
xor ax, ax
push ax
pop es
push ax
pop ds
sti
mov ax, 0x03
int 0x10
mov si, hello_message
mov ah, 0xe
print_loop:
lodsb
or al, al
jz done
int 0x10
jmp print_loop
done:
jmp $
hello_message:
db "Hello world BIOS", 0x0a, 0
times 510 - ($ - $$) db 0
dw 0xaa55
Код у нас получается достаточно простой, но существуют моменты, на которые необходимо обратить внимание.
- Так как процессор будет выполнять код в реальном режиме, нам нужно использовать директиву use16.
- Наш код будет загружаться в BIOS по адресу 0x7c00. Чтобы ассемблер закрепил корректные адреса за метками, используется директива org.
- Чтобы аппаратные прерывания не помешали начальной инициализации регистров, используется команда процессора cli.
- Очень важно проинициализировать регистры. Во многих статьях по созданию загрузочных секторов забывают этот факт. В результате вроде всё гладко работает в qemu или VirtualBox, однако в VMWare или на реальном железе код отказывается работать. Я потратил достаточно много времени, пока это не понял.
- Так как часть полученного кода будет модифицироваться Xorriso, который записывает нужные данные, то нам необходимо выполнить команду jmp, а дальше в коде зарезервировать место под эти данные.
- Я не создавал свою MBR для ISO-образа, а использовал ту, которую предоставляет загрузчик ISOLINUX, поэтому необходимо прописать значение signature, ожидаемое загрузчиком из MBR, иначе наша заглушка загрузчика для BIOS не будет выполнена.
- Значение 55AA и заполнение нулями в конце программы необязательно, но я хотел получить полноценный загрузочный сектор, который можно было бы записать в нулевой сектор жёсткого диска или флеш-накопителя, и он тоже бы выполнялся.
Код программы-заглушки загрузчика UEFI
Загрузчик для UEFI – это уже исполняемый файл, который помимо программного кода и данных содержит дополнительную информацию о том, как размещать их в оперативной памяти. Файлы .efi по формату практически совпадают с исполняемыми файлами Windows. Разумеется, в них нет вызовов функций операционной системы. Обычно исходный код пишется на языке C или С++. Мы для простоты будем использовать C.
При сборке в операционной системе Linux нам понадобится кросс-компилятор.
Необходимости комментировать что-то в программе нет ввиду её простоты, однако я добавлю, что для компиляции программы у вас должен быть установлен пакет gnu-efi, а вечный цикл (while (1)) я сделал для наглядности, чтобы сообщение не исчезало при завершении работы программы, и EFI_SUCCESS она никогда не вернёт.
#include <efi.h>
#include <efilib.h>
EFI_STATUS EfiMain (EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable ) {
SystemTable->ConOut->OutputString(SystemTable->ConOut, L"UEFI Hello World!\n");
while(1);
return EFI_SUCCESS;
}
Алгоритм создания загрузочного диска вручную
Я собирал образ загрузочного диска на Ubuntu 22.10.
Для начала необходимо поставить следующие пакеты, если они не установлены.
1. Создаём необходимые директории.
$ cd ~
$ mkdir -p boot-hello-world
$ cd boot-hello-world
$ mkdir -p build
$ mkdir -p out
2. Создаём файлы bioshello.asm и efihello.c с исходным кодом наших программ-заглушек загрузчиков.
3. Компилируем заглушку для загрузчика BIOS.
$ fasm bioshello.asm build/bootsec.bin
4. Компилируем заглушку для загрузчика UEFI.
$ x86_64-w64-mingw32-gcc -shared -I/usr/include/efi -nostdlib -mno-red-zone -fno-stack-protector -Wall -e EfiMain efihello.c -o build/bootx64.efi.dll
$ objcopy --target=efi-app-x86_64 build/bootx64.efi.dll build/bootx64.efi
5. Создаём образ ESP, создаём в нём директории, копируем в него файл bootx64.efi.
$ dd if=/dev/zero of=build/uefi.img bs=512 count=2880
$ mkfs.msdos -F 12 -n 'EFIBOOTISO' build/uefi.img
$ mmd -i build/uefi.img ::EFI
$ mmd -i build/uefi.img ::EFI/BOOT
$ mcopy -i build/uefi.img build/bootx64.efi ::EFI/BOOT/bootx64.efi
6. Создаём структуру из файлов и директорий, которые будут размещены в образе ISO.
$ mkdir -p build/iso-image/boot
$ mkdir -p build/iso-image/EFI/boot
$ cp build/bootx64.efi build/iso-image/EFI/boot/
$ cp build/bootsec.bin build/iso-image/boot/
$ cp build/uefi.img build/iso-image/boot/
7. Создаём гибридный загрузочный образ ISO.
$ xorriso -as mkisofs -V "HYBRID" -o out/bootdisk.iso -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -c boot/boot.cat -b boot/bootsec.bin -no-emul-boot -boot-info-table \
-boot-load-size 4 -eltorito-alt-boot -e boot/uefi.img -no-emul-boot -isohybrid-gpt-basdat build/iso-image --sort-weight 0 /boot --sort-weight 1 /
8. Экспериментируем и проверяем работу образа в различных эмуляторах, например qemu, виртуальных машинах (VMWare, Virtual Box), записываем образ на оптический диск и флеш-накопитель (при помощи программ Win32DiskImager, balenaEtcher).
Например, чтобы запустить в qemu-эмуляторе загрузочный ISO с использованием BIOS, если бы он был записан на оптический диск:
$ qemu-system-x86_64 -boot d -cdrom out/bootdisk -nographic -net none -monitor telnet::45454,server,nowait -serial mon:stdio
Чтобы запустить в qemu-эмуляторе загрузочный ISO с использованием UEFI, если бы он был записан на флеш-накопитель:
$ qemu-system-x86_64 -bios /usr/share/ovmf/OVMF.fd -boot d -hda $(BOOT_ISO) -nographic -net none -monitor telnet::45454,server,nowait -serial mon:stdio
Чтобы выйти из эмулятора, нужно нажать клавиши Ctrt + A, а потом X.
Я думаю, о том, как запустить эмуляцию запуска загрузочного диска с использованием BIOS с флеш-накопителя и с использованием UEFI с оптического диска вы догадаетесь сами.
Ещё один способ создания загрузочного флеш-накопителя в Windows
Внимательный читатель мог заметить, что зачем-то в ISO-образ помимо образа ESP помещается и файл bootx64.efi. Напрашивается вопрос, зачем это делается, если UEFI нужен именно образ ESP в ISO-образе? Ответ заключается в том, что, разместив файл в образе ISO, можно создать загрузочный флеш-накопитель путём простого копирования всех файлов из ISO-образа.
Единственное, что нужно это разметить и отформатировать флеш-накопитель, используя команду diskpart. Обращаю внимание, что хотя способ и простой, вы обязательно должны понимать, что вы делаете и выполнять эту процедуру очень внимательно, так как вы можете уничтожить содержимое вашего жёсткого диска, если неправильно выберете диск, на котором будете осуществлять разметку и форматирование.
- Запускаем программу diskpart.
- Выводим на экран список доступных дисков командой list disk.
- Выбираем среди них флеш-накопитель, который мы будем размечать и форматировать командой select disk.
- Выполняем очистку выбранного диска командой clean.
- Создаём первичный раздел командой create partition primary.
- Форматируем раздел командой format fs=fat32 quick.
- Выходим из diskpart командой exit.
- Копируем файлы из ISO-образа на флеш-накопитель простым копированием файлов
В нашем случае нам достаточно скопировать только директорию EFI, так как остальные файлы использоваться не будут, но для простоты скопируйте все файлы из ISO-образа.
Изучение структуры созданного загрузочного ISO-образа
Созданный образ у нас находится в директории out и имеет имя bootdisk.iso.
1. Выведем номер сектора, где располагается Booting Catalog:
$ xxd -l 4 -s $(expr 17 \* 2048 + 71) out/bootdisk.iso
Здесь 4 — это количество байт, которые выводим, 17 — номер сектора с Boot Record Volume Descriptor, 2048 — размер сектора, 71 — смещение внутри сектора, где располагается LBA Booting Catalog.
Номер сектора занимает 4 байта, поэтому нужно знать, какой порядок байтов используется Big Endian или Little Endian. Я не нашёл в спецификации El Torito, какой порядок используется, но, судя по всему, это Little Endian, поэтому байты нужно читать справа налево, получая 0x00000021.
2. Выведем первые четыре записи Booting Catalog:
$ xxd -l $(expr 32 \* 4) -s $(expr $(echo $((0x21))) \* 2048) out/bootdisk.iso
Здесь 32 — это размер записи в Booting Catalog, 4 — количество записей, $(expr $(echo $((0x21))) — десятичное представление 0x21, 2048 — размер сектора.
3. Выведем LBA-адрес сектора, который будет загружен при загрузке средствами BIOS:
$ xxd -l 4 -s $(expr $(echo $((0x21))) \* 2048 + 32 + 8) out/bootdisk.iso
Здесь 4 — количество байт, которые выводим, 32 — размер записи в Booting Catalog (мы берём данные из Default Entry, поэтому пропускаем 32 байта), 8 — смещение внутри Default Entry, где располагается LBA загрузчика для BIOS, 2048 — размер сектора.
4. Выведем первые 512 байт этого сектора (это наша программа, которую мы написали на ассемблере и откомпилировали).
$ xxd -l 512 -s $(expr $(echo $((0x22))) \* 2048) out/bootdisk.iso
5. Выведем LBA сектора, где располагается образ раздела ESP, необходимый для загрузки средствами UEFI.
$ xxd -l 4 -s $(expr $(echo $((0x21))) \* 2048 + 32 \* 3 + 8) out/bootdisk.iso
6. Выведем первые 512 байт образа ESP.
$ xxd -l 512 -s $(expr $(echo $((0x23))) \* 2048) out/bootdisk.iso
LBA адресов теоретически могут быть у вас быть другие. Я привёл те, которые были у меня.
Вы можете получить LBA адресов, по которым располагается откомпилированная программа на ассемблере, используя структуры MBR и GPT, находящиеся в первых секторах, изучив документацию по MBR и GPT. Здесь я приводить не буду, оставляю на самостоятельное изучение. Скажу только, что они будут отличаться, так как используются в этом случае сектора по 512 байт, а не по 2048.
Создание среды для сборки
Для создания воспроизводимого окружения для сборки очень удобно использовать Docker. Он позволяет создавать изолированные окружения с необходимыми зависимостями. Мы тоже будем использовать его, ниже я привожу Dockerfile.
FROM ubuntu:22.10
RUN apt update && apt install --yes make gcc-mingw-w64 fasm gnu-efi binutils
RUN apt install --yes mtools dosfstools xorriso isolinux xxd
RUN apt install --yes qemu-system-x86 ovmf
WORKDIR /app/
Вы можете собрать образ Docker со всеми необходимыми для сборки зависимостями, используя команду.
$ docker build -t boot-hello-world:latest .
Для запуска контейнера в интерактивном режиме в PowerShell в директории, где у вас содержатся файлы bioshello.asm и efihello.c нужно ввести команду.
$docker run --name isobuilder -v ${pwd}:/app --rm -it boot-hello-world bash
Автоматизация сборки ISO-образа
Для автоматизации сборки из исходников существует множество различных утилит, но для простоты мы будем использовать make.
Основное отличие утилиты make от обычных shell-скриптов заключается в том, что она:
- отслеживает зависимости в исходных файлах;
- пересобирает только при наличии изменений.
Ниже привожу файл Makefile, который автоматизирует сборку и позволяет запускать этот образ в эмуляторе qemu в различных режимах.
CC = x86_64-w64-mingw32-gcc
CFLAGS = -shared -I/usr/include/efi -nostdlib -mno-red-zone -fno-stack-protector -Wall -e EfiMain
BUILDDIR = build
OUT = out
ISO_DIR = $(BUILDDIR)/iso-image
EFI_BOOT_DIR = $(ISO_DIR)/EFI/boot
EFI_APP = bootx64.efi
BIOS_APP = bootsec.bin
ESP_IMAGE = uefi.img
BOOT_ISO = $(OUT)/bootdisk.iso
HYBRID_MBR = /usr/lib/ISOLINUX/isohdpfx.bin
TARGETS = $(BOOT_ISO)
all: $(TARGETS)
$(BUILDDIR):
mkdir -p $(BUILDDIR)
mkdir -p $(OUT)
$(BUILDDIR)/$(BIOS_APP): bioshello.asm | $(BUILDDIR)
@echo "[BUILDING BIOS APP]"
fasm $< $@
$(BUILDDIR)/$(EFI_APP): efihello.c | $(BUILDDIR)
@echo "[BUILDING EFI APP]"
$(CC) $(CFLAGS) $< -o $@.dll
objcopy --target=efi-app-x86_64 $@.dll $@
$(BUILDDIR)/$(ESP_IMAGE): $(BUILDDIR)/$(EFI_APP) | $(BUILDDIR)
@echo "[BUILDING ESP IMAGE]"
dd if=/dev/zero of=${BUILDDIR}/${ESP_IMAGE} bs=512 count=2880
mkfs.msdos -F 12 -n 'EFIBOOTISO' ${BUILDDIR}/${ESP_IMAGE}
mmd -i ${BUILDDIR}/${ESP_IMAGE} ::EFI
mmd -i ${BUILDDIR}/${ESP_IMAGE} ::EFI/BOOT
mcopy -i ${BUILDDIR}/${ESP_IMAGE} ${BUILDDIR}/${EFI_APP} ::EFI/BOOT/bootx64.efi
$(ISO_DIR): $(BUILDDIR)/$(BIOS_APP) $(BUILDDIR)/$(ESP_IMAGE)
@echo "[CREATING ISO DIRECTORY WITH FILES]"
mkdir -p ${ISO_DIR}/boot
mkdir -p ${EFI_BOOT_DIR}
cp ${BUILDDIR}/${EFI_APP} ${EFI_BOOT_DIR}/
cp ${BUILDDIR}/${BIOS_APP} ${ISO_DIR}/boot/
cp ${BUILDDIR}/${ESP_IMAGE} ${ISO_DIR}/boot/
$(BOOT_ISO): $(ISO_DIR)
@echo "[BUILDING HYBRYD ISO FILE]"
xorriso -as mkisofs -V "HybridBootISOSample" -o $@ -isohybrid-mbr $(HYBRID_MBR) -c boot/boot.cat -b boot/$(BIOS_APP) -no-emul-boot -boot-info-table \
-boot-load-size 4 -eltorito-alt-boot -e boot/$(ESP_IMAGE) -no-emul-boot -isohybrid-gpt-basdat $(ISO_DIR) --sort-weight 0 /boot --sort-weight 1 /
@echo "The Hybrid ISO file [$@] was created. You can burn it to CD/DVD or to the flash disk and test"
clean:
@echo "[PERFORMING CLEAN]"
rm -rf $(BUILDDIR)
rm -rf $(OUT)
qemu-bios-cdrom: $(BOOT_ISO)
@echo "[STARTING QEMU WITH BIOS FIRMWARE FROM CDROM]"
qemu-system-x86_64 -boot d -cdrom $(BOOT_ISO) -nographic -net none -monitor telnet::45454,server,nowait -serial mon:stdio
qemu-efi-cdrom: $(BOOT_ISO)
@echo "[STARTING QEMU WITH UEFI FIRMWARE FROM CDROM]"
qemu-system-x86_64 -bios /usr/share/ovmf/OVMF.fd -boot d -cdrom $(BOOT_ISO) -nographic -net none -monitor telnet::45454,server,nowait -serial mon:stdio
qemu-bios-flash-disk: $(BOOT_ISO)
@echo "[STARTING QEMU WITH BIOS FIRMWARE FROM FLASH DISK]"
qemu-system-x86_64 -boot d -hda $(BOOT_ISO) -nographic -net none -monitor telnet::45454,server,nowait -serial mon:stdio
qemu-efi-flash-disk: $(BOOT_ISO)
@echo "[STARTING QEMU WITH UEFI FIRMWARE FROM FLASH DISK]"
qemu-system-x86_64 -bios /usr/share/ovmf/OVMF.fd -boot d -hda $(BOOT_ISO) -nographic -net none -monitor telnet::45454,server,nowait -serial mon:stdio
Данный Makefile позволяет собрать ISO-образ (make clean all), а также запустить его в эмуляторе с BIOS, UEFI, с флеш-накопителя и cdrom, что понятно из названий.
Полезные ссылки
- Спецификация ISO 9660 (ECMA 119).
- Cпецификация El Torito.
- Спецификация UEFI.
- Docker Desktop.
- SD Card Memory Formatter — программа для форматирования (форматирует USB-накопители тоже). Иногда помогает, когда программы записи образов отказываются записывать образ.
- balenaEtcher — программа для записи образов на флеш-накопитель.
- Win32 Disk Imager — программа для записи образов на флеш-накопитель. Иногда записывает, когда и balenaEtcher отказывается.
- wiki.osdev.org — сайт с информацией по разработке ОС, где среди прочего есть информация по загрузке ОС.
- wiki.archlinux.org — сайт с исчерпывающей информацией по операционным системам, но лучше искать информацию на нём с помощью Google.
Заключение
В статье создан минимальный гибридный ISO-образ, который позволяет понять основы загрузки на компьютерах (BIOS и UEFI c жёсткого диска, флеш-накопителя, оптического диска). Многие вопросы не были рассмотрены с целью упрощения, так как статья имеет познавательный, а не энциклопедический характер и не рассчитана на тех, кто имеет значительный опыт по этой теме.
Минимальный гибридный образ не содержит никаких операционных систем, он содержит только заглушки для загрузчиков, которые позволяют понять механизмы загрузки и структуру самого гибридного образа.
Я не рассматривал загрузочные образы операционной системы Windows и реализацию загрузки с оптических дисков в Windows, но, получив знания из статьи, вам будет гораздо проще понять, так как там тоже используется El Torito.
Надеюсь, я раскрыл тему создания загрузочных ISO-образов хотя бы на базовом уровне и не сильно утомил детализацией, а вы не будете так пугаться темы загрузочных образов, как пугался я. Вы гораздо лучше будете понимать, почему у вас не грузится операционная система с ISO-образа дистрибутива, и что вы сделали не так.
Играй в нашу новую игру прямо в Telegram!
Есть несколько вариантов — выбирайте тот, что больше нравится.
Файлы ISO являются одним из форматов образов или, другими словами, точных копий дисков. Они используются для распространения установщиков операционных систем, программного обеспечения, игр, медиаконтента. ISO‑файл можно записать на физический носитель или просмотреть его содержимое, минуя этот шаг.
По большому счёту, ISO — это архив со структурированными файлами. Их можно открыть средствами операционной системы или с помощью подходящего приложения.
1. Как открыть файл ISO средствами ОС
Все современные ОС умеют работать с ISO‑файлами, они монтируют их к файловой системе и позволяют взаимодействовать с содержимым. Помимо просмотра, можно также записать образ на физический носитель.
Windows
Начиная с Windows 8 в системе реализована поддержка ISO, поэтому для работы с образом нужно лишь найти его в проводнике и открыть двойным щелчком. Через пару секунд образ диска появится в разделе съёмных носителей в «Моём компьютере». Для записи следует вызвать контекстное меню и выбрать «Записать образ диска».
Если у вас Windows 7 — воспользуйтесь другими вариантами, описанными ниже.
macOS
Операционная система Apple также умеет монтировать файлы ISO и делает это с помощью встроенной утилиты DiskImageMounter. Она запускается автоматически, если попытаться получить доступ к образу в Finder или через пункт контекстного меню «Открыть».
Linux
Все популярные Linux‑дистрибутивы легко открывают ISO‑файлы собственными средствами без какого‑либо дополнительного ПО. Нужно лишь сделать правый клик на файле и выбрать «Подключить архив» или «Открыть с помощью…» → «Менеджер архивов». В первом случае ISO‑образ смонтируется, во втором — станет доступным для просмотра.
Кроме того, можно записать образ на диск, если выбрать в меню «Открыть с помощью…» → Disk Image Writer.
2. Как открыть файл ISO с помощью архиватора
Поскольку ISO‑образ по сути является архивом — его легко открыть в любом архиваторе. Например, WinRAR, 7‑Zip и других. Достаточно вызвать контекстное меню и выбрать соответствующую команду.
- Скачать WinRAR →
- Скачать 7‑Zip →
3. Как открыть файл ISO с помощью специализированного ПО
Такие приложения понадобятся, когда необходимо не просто просмотреть содержимое образа, а эмулировать его подключение к виртуальному приводу для установки игры или воспроизведения в проигрывателе Blu‑ray. Подобные программы имитируют работу дисковода и заставляют систему думать, что в компьютер вставлен физический диск, даже если отсутствует сам привод.
Существует множество утилит для эмуляции дисковода и работы с образами. Рассмотрим, как открыть ISO‑файл в двух наиболее популярных.
Daemon Tools Lite
Самая известная программа для работы с образами дисков. Она платная, но имеет бесплатную Lite‑редакцию с базовыми возможностями, которых будет более чем достаточно, чтобы открыть ISO‑файл.
Скачайте Daemon Tools Lite по ссылке и установите, следуя подсказкам мастера. Для получения бесплатной версии выберите вариант «Бесплатная лицензия с рекламой».
Запустите утилиту и нажмите на кнопку «Быстрое монтирование». Укажите файл ISO‑образа и щёлкните «Открыть». После этого диск появится в проводнике, а если в нём есть меню автозапуска — оно тут же будет предложено.
UltraISO
Как и предыдущее, это приложение позволяет монтировать, редактировать, конвертировать и записывать образы, а также создавать загрузочные носители. UltraISO предлагается на платной основе, однако имеет бессрочный пробный период с ограничением в 300 МБ на редактирование образов и напоминанием о покупке. К счастью, на монтирование дисков это не распространяется.
Скачайте UltraISO по ссылке и установите его. Откройте приложение, выбрав в окне запуска «Пробный период».
Перейдите в меню «Сервис» → «Смонтировать на виртуальный диск…».
Щёлкните по кнопке с тремя точками, выберите ISO‑файл и нажмите «Смонтировать». Образ появится в проводнике, и можно будет просмотреть его содержимое или выполнить автозапуск.
4. Как открыть файл ISO на Android
Довольно редкий сценарий, но тоже вполне реальный. Открыть образ на смартфоне можно с помощью архиватора с поддержкой ISO. Например, RAR или ZArchiver. Просто установите приложение, запустите его и извлеките файлы из нужного образа.
Читайте также 💿⚙️💻
- 16 бесплатных программ для Windows, которые должны быть у каждого
- Как переустановить Windows: пошаговая инструкция
- Как создать образ диска в формате ISO
- Как конвертировать DjVu в PDF: 4 бесплатных инструмента
- Как создать загрузочную флешку с Linux
Самый распространенный формат образов дисков – это ISO. Открыть ISO способны любые эмуляторы цифровы…
Самый распространенный формат образов дисков – это ISO. Открыть ISO способны любые эмуляторы цифровых дисков, а в некоторых ОС стандартные утилиты. Формат получил такое название от наименования файловой системы компакт дисков ISO 9660 – отсюда и расширение ISO. Чем открыть такие файлы на разных ОС, разберемся ниже.
Общее описание формата iso
ISO – цифровая копия CD, DVD, Blue Ray дисков и иных физических носителей информации. Такие файлы создаются эмуляторами оптических дисков. С компакт-диска копируется информация и файловая система, создается как один файл. Получившийся файл называется виртуальным диском. При наличии эмулятора виртуального привода – программы, которая имитирует дисковод и вставленный в него диск, можно открыть файл ISO.
Образы служат для резервного копирования информации, копирования информации с физических носителей, ее передачи с физических носителей по интернету с сохранением файловой структуры и для тиражирования дисков. При перезаписи данных с одного диска на другой простого копирования недостаточно. Дублировав файлы с диска на диск, структура принимающего диска не меняется. Это значит, что если стоит задача создать диск-установщик какой-либо программы, например Windows, то просто скопировав папки установщик мы не получим. Чтобы копия работала, нужно перенести и файловую систему. Для этого используют образы дисков.
Проще говоря, цифровой копией можно пользоваться также как настоящей, только без физической оболочки. Что, впрочем, редко бывает нужно, поскольку в новых компьютерах, моноблоках и ноутбуках нет дисководов.
Отметим, что область использования образов дисков не ограничивается компакт-дисками. Их можно размещать на любые носители, например, на USB-устройства.
Большинство выпускаемых игр, программ, фильмов создаются именно в формате ISO. Даже такие гиганты как Windows используют это расширение для создания загрузочных флешек и дисков со своей ОС.
Стоит иметь в виду, что ISO-образы содержат меньше данных, чем оригинал. Например, ISO не включает служебную информацию носителя, где находится защита от взлома. Это позволяет создавать нелицензионные копии программ.
Как и чем открыть файл iso расширения
Для просмотра виртуальных дисков нужно специализированное ПО, даже для популярного формата ISO. Открыть виртуальные диски можно эмуляторами.
Программы для открытия ISO:
- Deamon Tools – распространенный эмулятор, который работает с ISO. Открыть можно нажатием на клавишу «создать образ». В вариантах программы функцию этой клавиши могут выполнять иконка «+» или «монтировать образ». Deamon Tools обладает широким функционалом. С его помощью можно не только открывать образы, но и создавать их или записывать на свободные оптические диски;
- Deamon Tools lite – бесплатная версия программы с усеченным функционалом;
- Alcohol 120% — эмулятор, похожий по интерфейсу и функциям на Deamon Tools;
- Alcohol 52% — упрощенная версия программы, которая находится в свободном доступе;
- UltraISO – бесплатный эмулятор, часто используется для конвертации других форматов образов в ISO.
- Winrar – классический архиватор, открывающий ISO. Чтобы это сделать, нужно щелкнуть по файлу правой кнопкой мыши, выбрать строчку «открыть с помощью» и в появившемся окне найти winrar. Однако архив может только открыть образ ISO. Записать его на компакт-диск используя эту программу не получится. Также не получится с помощью архива создать образ. Winrar применим только для распаковки файла ISO. Распространяется платно, однако есть 30-дневный бесплатный период.
На windows 7
Если вы задаетесь вопросом, как открыть файл ISO на windows 7, не беспокойтесь, сложностей это не вызовет. Указанные выше программы и алгоритмы подойдут для решения этой задачи. После установки эмулятора перетяните файл в рабочее окно или откройте ISO, указав его местоположение в окне, которое появится после нажатия клавиши «открыть» или «создать образ». Когда программа смонтирует образ в «Моем компьютере» появится значок дисковода – это виртуальный привод. Нажав на него образ запустится как настоящий диск.
На windows 10
С развитием Microsoft вопрос как открыть файл ISO на windows 10 отпал сам собой. Начиная с Windows 8, разработчики добавили в ОС возможность открывать файлы ISO без постороннего софта. Для этого нужно найти файл в проводнике и нажать «Открыть». Произойдет автоматическое разархивирование и вам откроется доступ к содержимому образа. В случае, когда нужно создать виртуальный диск, такой способ не подойдет. Виртуальные диски монтируются перечисленными выше программами для эмуляции.
На Mac OS
На технике Apple возможность открыть ISO предусмотрена изначально, дополнительных установок не требуется. Как и на Windows 10, софт нужно ставить если нужно полноценно эмулировать образ. Но обычно это не требуется, файлы открываются и так, игр на Mac OS практически не выпускают, а дисководов в компьютерах этой фирмы нет.
На Android
Как открыть файл ISO на смартфоне – редкий вопрос, но возникающий. Есть приложение ISO Extractor, которое способно открывать образы на мобильных устройствах. Однако пользователи пишут, что приложение не стабильно и не в полной мере отображает содержимое виртуального диска. Поэтому надежнее и проще будет смонтировать образ на компьютере, чем пытаться сделать это на телефоне. Хотя продвинутые пользователи через программу DriveDroid загружают на смартфоны образ персонального компьютера и используют его как USB-загрузочник.
Монтирование поврежденных дисков
Образы дисков применяются в ситуациях восстановления поврежденных физических носителей. С помощью программы IsoBuster компьютер минуя операционную систему подключается к приводу и сканирует оптический диск. Затем программа копирует с диска информацию и файловую систему и создает образ поврежденного диска. Он может быть как в формате ISO, так и в других аналогичных форматах.
ISO-файл — это архивный файл, который содержит идентичную копию данных, физического CD или DVD носителя. Они часто используются для резервного копирования дисков или для упорядочивание больших наборов файлов, предназначенных для записи на диск.
Что такое ISO-файл / ISO-образ?
Название ISO взято из названия файловой системы, используемой оптическими носителями, обычно это ISO 9660. Вы можете представить образ ISO как полную копию всего, что хранится на физическом оптическом диске, таком как CD, DVD или Blu- ray. Они представляют собой секторальную копию диска, и никакое сжатие не используется. Идея образов ISO заключается в том, что вы можете архивировать точную цифровую копию диска, а затем использовать этот образ для записи нового диска, который в свою очередь является точной копией оригинала. Windows и другие операционные системы позволяют монтировать образ ISO, представляя его в виде виртуального диска, имитируя тем самым реальный CD или DVD диск, вставленный в дисковод.
Образы ISO в наши дни используются в основном для распространения больших программ и операционных систем, поскольку он позволяет хранить все файлы в одном легко скачиваемом файле. Затем люди могут решить, хотят ли они смонтировать этот диск виртуально или использовать его для записи оптического диска.
Большинство загружаемых операционных систем, включая Windows и различные дистрибутивы Linux, распространяются как образы ISO.
Чем открыть файл .ISO?
Для того что бы открыть файл iso в Windows 8 и 10 не нужны никакие дополнительные программы, данные операционные системы позволяют монтировать образ ISO штатными инструментами. Выберите ISO-файл, нажмите на нем правой кнопкой мыши и кликните «Подключить».
Если у вас Windows 7, то вам понадобится стороннее приложение, например, утилита WinCDEmu, Daemon tools или Alcohol 120%;
Скачать WinCDEmu
Скачать Daemon tools
Скачать Alcohol 120%
Как записать ISO-образ на диск?
Запись ISO на физический диск пригодится, если вы хотите создать диск, который будете использовать для установки программного обеспечения или Windows на другой компьютер. Это особенно полезно, когда вы устанавливаете операционную систему (или создаете служебный диск) и должны использовать этот диск для загрузки системы. Он также может быть полезен для создания физической резервной копии диска или, если вам просто нужно передать копию кому-то другому.
Windows 7, 8 и 10 имеют функцию записи образа ISO на диск, встроенный в него. Все, что вам нужно — вставить записываемый оптический диск, щелкните правой кнопкой мыши на файле ISO и выберите команду «Записать образ диска».
Как записать ISO-образ на диск в macOS?
MacOS работает практически так же. Выберите файл изображения в Finder, а затем перейдите в меню File> Burn Disk Image (Name) на Disc.
Как вытащить отдельные файлы из образа ISO
Если вы не хотите монтировать ISO или записывать его на диск, но все же необходимо получить доступ к файлам внутри, вы можете извлечь содержимое на свой компьютер. Для этого вам понадобится стороннее приложение, например, WinRAR или 7-Zip. Для примера рассмотрим 7-Zip.
Скачать 7-Zip
Когда вы устанавливаете 7-Zip, Windows сама автоматически будет открывать файлы iso через 7-Zip. Итак, все, что вам нужно сделать, — это дважды щелкнуть образ ISO, чтобы открыть его и просмотреть его содержимое. В зависимости от размера ISO это может занять до минуты, поэтому будьте терпеливы.
Вы можете скопировать что-нибудь из ISO в обычную папку, просто перетащив файл в нужное место.
Вы также можете извлечь полное содержимое ISO в обычную папку. Просто щелкните правой кнопкой мыши по ISO, выберите пункт «7-Zip» и выберите одну из команд извлечения. Команда «Извлечь файлы» позволяет выбрать местоположение, команда «Извлечь здесь» извлекает файлы в том же месте, что и файл ISO, а команда «Извлечь в папку_имя» создает новую папку в том месте, где она будет извлечена.
Другие приложения для сжатия, такие как WinRar, работают практически так же.
Здесь есть еще одна важная вещь. Если вы устанавливаете приложение сжатия, такое как 7-Zip или WinRar, и вы позволяете этому приложению связываться с файлами ISO, вы больше не увидите встроенные команды в File Explorer для работы с этими файлами изображений. Лучше иметь Windows Explorer, связанный с файлами ISO, потому что вы все равно можете щелкнуть их правой кнопкой мыши и получить доступ к командам приложений сжатия, когда захотите. Все, что вы теряете, — это возможность дважды щелкнуть их, чтобы открыть их в приложении сжатия.
Если вы уже установили одно из этих приложений, можете быстро переназначить расширение файла ISO с помощью проводника Windows. Откройте «Настройки»> «Приложения»> «Приложения по умолчанию». Справа прокрутите вниз и нажмите ссылку «Выбрать по умолчанию по типу файла».
В следующем окне отображается очень длинный список расширений файлов. Прокрутите весь путь до расширения .iso. Справа щелкните любое приложение, которое в настоящее время связано с расширением. Во всплывающем меню выберите опцию «Проводник Windows».
Как создать собственный файл ISO с оптического диска
Создание ISO-файла с дисков позволяет создать цифровую резервную копию ваших физических дисков. Затем вы можете использовать файлы, установив их на компьютеры, у которых нет оптического дисковода. Вы также можете использовать файлы в будущем для записи другой копии вашего диска. И, конечно же, вы можете поделиться этим ISO с другими людьми.
В то время как MacOS и Linux поставляются с предустановленным программным обеспечением, которое позволяет вам создавать ISO с физического диска, Windows этого не делает. Вместо этого вам придется загрузить стороннее приложение для создания ISO-файла в Windows. Для этого мы рекомендуем программы такие как InfraRecorder , ImgBurn и CDBurnerXP . Просто загрузите ISO файл через эти программы.
Еще встречаются файлы .xml, но как их открыть — это уже совсем другая история.