2

Поэтому мне нужен файл .img для использования с гипервизором xen. В настоящее время у меня есть образ диска моей текущей установки vmdk. Кажется, qemu может конвертировать из vmdk в необработанный образ диска, и, насколько я понимаю, файл .img также является форматом необработанного образа диска. У меня вопрос, если вывод преобразования qemu (который имеет расширение .raw btw) такой же, как файл .img, и я могу просто переименовать его? или есть разница?

Если это не так, как я могу преобразовать vmdk в img?

2 ответа2

0

У меня сложилось впечатление, что .img на самом деле не формат, точно так же .raw на самом деле не формат. Это, вероятно, строка двоичного текста. Не мешало бы переименовать изображение из .raw в .img. Но чтобы быть в безопасности, я бы сначала сделал резервную копию. Если это необработанный образ, он, вероятно, будет огромным, поэтому я бы просто сделал сжатый архив образа диска, прежде чем пытаться что-либо делать. 7-zip хорошо работает в Windows, а xz из xz-utils хорошо работает в Linux / Unix.

0

К сожалению, вы не можете точно сказать точно по расширению файла.

Прежде всего, расширения имени файла могут быть переименованы. Например, было много случаев, когда файл JPG переименовывался в файл PNG (или наоборот), возможно, потому, что человек находится в графическом редакторе и думает, что он сохраняет в одном формате, когда он фактически сохраняет в другом формате. В некоторых случаях это действительно не имеет значения. Например, если веб-браузер использует инструкции "обработки графики", чтобы попытаться обработать файл PNG, а библиотека "обработки графики" просматривает графику и обнаруживает, что это файл JPG, конечный результат может заключаться в том, что все заканчивается работает хорошо

Еще во времена MS-DOS я обнаружил, что.Расширение имени файла IMG чаще всего использовалось для "сырых" образов дисков. Тем не менее, иногда было несколько программ, которые имели другие форматы, которые они называли "образ". ,IMG чаще всего представлял собой "сырой образ диска", но эта истина не была абсолютной. Исключения были довольно редкими, но иногда они существовали. Как правило, я думаю, что исключения чаще всего были с изображениями дискет или совершенно не связанными форматами файлов (например, могут быть какие-то "необработанные" данные для графики). Для больших файлов, таких как те, которые содержат десятки мегабайт (или больше), я склонен думать, что это, вероятно, образ раздела или всего "жесткого диска" (или другого "долговременного хранилища"; например, SSD),

Чтобы смягчить путаницу, я лично предпочитаю использовать расширение имени файла .raw. За прошедшие годы я практически никогда не видел, чтобы «.raw» ссылался на что-либо, кроме необработанного образа диска, в то время как «.img» (или «.ima») иногда являются расширениями, которые используются некоторыми другими пользовательскими форматами. ,

В качестве более современного примера в посте Usenet есть некоторые инструкции, которые будут выводить данные в формате QCOW2 с использованием имени файла «virtual.img». У меня есть догадка, что такая документация, возможно, даже была включена в документацию пакета Qemu для какой-либо операционной системы. Ситуация улучшилась с новыми версиями Qemu, где в документации теперь чаще указывается .qcow2, но я помню, как работал со старыми версиями Qemu и думал, что в документации не указано расширение имени файла по умолчанию для формата QCOW2. (Как человек, который любит использовать «.htm» и «.jpg» и «.mid», предпочитая короткие расширения, я обычно сам использую «.qc2».)

Когда я сталкиваюсь с файлом «.img», я думаю о нем как о «вероятно, образе диска и, скорее всего, необработанном образе, но немного менее определенном, чем если бы он использовал расширение .raw». Когда я знаю, в каком формате находятся данные, я стараюсь избегать назначения расширения ".img", чтобы не было ничего неоднозначного.

Если файл действительно является необработанным файлом изображения, его переименование может быть успешно выполнено. К сожалению, для программного обеспечения нет простого способа протестировать формат .raw. По определению, формат .raw не имеет никаких дополнительных байтов, служащих метаданными, которые описывают остальную часть файла. Форматы файлов имеют правила, и в основном одно "правило" формата "необработанного образа диска" заключается в том, что нет байтов, кроме того, что было бы на самом деле на диске, если бы изображение было записано на физический диск. Любое отклонение от этого правила будет означать, что файл на самом деле не просто "сырой" образ диска. Я полагаю, что какое-то программное обеспечение может анализировать MBR и видеть, имеют ли данные там смысл, но я не чувствую себя очень уверенным в таком процессе, поскольку все равно чувствую, что все еще будет слишком много возможностей для обнаружения ошибок. На самом деле я чувствовал бы больше уверенности при чтении документации, которая определяет, какой формат использует файл.

Что касается вашего последнего вопроса: «Если он другой, как я могу преобразовать vmdk в img?"

Использование qemu-img должно работать. Обязательно укажите «-O raw». Я не включаю пример командной строки, потому что разные версии qemu-img ожидали, что параметр командной строки "-O указанноеFormat" находится в разных местах командной строки. Если вы поместите «-O raw» в неправильное место, результатом будет сообщение об ошибке (вместо создаваемого файла), так что вы сразу узнаете. Вы можете проверить документацию, прилагаемую к вашей копии qemu-img, для получения инструкций, относящихся к версии программного обеспечения, установленного на машине, которую вы используете.

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