xorriso конвертировать необработанное изображение в ISO не удается (размер файла слишком большой)

967
DaveM

Как видно из названия, я пытаюсь преобразовать необработанный файл изображения в ISO-изображение.

Я использовал их в качестве ссылки при этом.

https://www.turnkeylinux.org/blog/convert-vm-iso

https://manpages.debian.org/cgi-bin/man.cgi?sektion=1&query=xorrisofs&apropos=0&manpath=sid&locale=en

краткое (tldr :) (внизу есть расширенный фон, если это помогает)

Я создал необработанный образ из моей виртуальной машины qcow2 и установил его как устройство обратной связи в

virtMachineIMG.mount 

Когда я запускаю следующее

xorrisofs -v -J -r -V -o ./MyCentos_img.iso ./virtMachineIMG.mount/ 

В конце я получаю ошибку, что изображение слишком велико и не может быть записано.

У кого-нибудь есть идеи, как мне это обойти?

Мой необработанный файл изображения имеет размер 8 ГБ. Я не уверен точно, сколько из этого используется, или как безопасно «сжать» диск до размера данных внутри.

Я пропускаю шаг в моей подготовке? я должен создать другой диск с qemu, на который я затем запишу свой сырой образ?

Я должен отметить, что мое необработанное изображение (оригинальный файл qcow2) использовало LVM, это имеет значение?

Вся помощь с благодарностью принимается и высоко ценится.

Дэвид.

пс. если вам нужны подробности подробного вывода, просто спросите, я всегда могу перезапустить xorrisofs - это занимает около 2 часов, это нормально?

___________ Фон : ____________

Я настроил тестовую систему на локальном компьютере в виртуальной машине. Хост: Debian Гость: Centos, используя: Qemu / KVM в Virtual Machine Manager.

Из-за особенностей тестовой системы мне нужно было «установить из исходного кода» и настроить все необходимые компоненты (Postgres, Tomcat и т. д. и т. д. и т. д.).

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

Рассуждение:

  • Они могут загружаться в эту систему с любого компьютера.
  • Его можно было бы легче перенести на другой сервер (по мере необходимости).
  • Я не хотел беспокоить моих коллег необходимостью что-либо устанавливать, просто подключите USB-накопитель с ISO к вашему компьютеру и загрузитесь с него напрямую.
  • Также намного проще проводить любые презентации платформы.
  • может использовать его для создания виртуальной машины на одном из наших серверов для расширенного тестирования (я предполагаю, что для этого будет проще использовать ISO, а не raw или qcow2)

Очевидно, что если бы там были rpms или debs основной части платформы (не нужно устанавливать из исходного кода), то я бы просто создал CentOS ISO со ссылками на необходимые rpms для начала установки.

Также я хочу, чтобы мои коллеги получили доступ к некоторым «образцам данных» на платформе, и таким образом я могу быть уверен, что мы все работаем с одной и той же базы.

0

1 ответ на вопрос

0
Thomas Schmitt

Спасибо за полет ксоррисо.

Не зная точного сообщения об ошибке, я должен несколько догадаться. Такой отказ может произойти, если полученный ISO-образ не поместится на ваш локальный диск. Время выполнения 2 часа указывает на цикл каталогов внутри ./virtMachineIMG.mount. Если это так, то программы типа "du" и "find" также должны показывать странно повторяющиеся результаты.

В любом случае, в вашем xorriso не хватает загрузочного оборудования, подходящего для файловых систем ISO. Поскольку вы, похоже, хотите загрузить реальную машину с USB, ей потребуется MBR и, возможно, таблица разделов GUID. Кроме того, файловая система ISO должна содержать все файлы, необходимые для запуска операционной системы на реальной машине, а загрузчик, который запускается по MBR или GPT, должен знать, как загрузить вашу операционную систему. (Общий ISO называется классически «Live CD».)

Если ваша виртуальная система уже загружается через загрузчик GRUB2, то вы не слишком далеко от этого. Программа "grub-mkrescue" позаботится о программном обеспечении загрузчика и составит экспертные опции xorriso. См. Https://www.gnu.org/software/grub/manual/html_node/Making-a-GRUB-bootable-CD_002dROM.html.

Остальной задачей эксперта будет получение файла «grub.cfg» для «grub-mkrescue» из файла «grub.cfg» в образе диска виртуальной машины.

Альтернативой GRUB2 является ISOLINUX с изогибридом. См. Http://www.syslinux.org/wiki/index.php?title=Isohybrid. Многие дистрибутивы Linux используют ISOLINUX для прошивки BIOS и GRUB2 для прошивки EFI в одном и том же образе ISO.


xorrisofs -v -J -r -V -o ./MyCentos_img.iso ./virtMachineIMG.mount/

Эта командная строка неверна, потому что опция -V ожидает строку как Volume Id (он же метка диска). Он будет использовать опцию -o, оставляя "./MyCentos_img.iso" в качестве входного пути (как и предназначен для "./virtMachineIMG.mount").

Если "./MyCentos_img.iso" еще не существует, запуск должен завершиться неудачно с

xorriso : FAILURE : Cannot determine attributes of source file './MyCentos_img.iso' : No such file or directory 

В противном случае вы получаете много двоичных данных на свой терминал (потому что stdout является значением по умолчанию, если опция -o не распознается).

Ах, так что мне нужно проверить мою командную строку. Я надеялся, что правильно добавил необходимые данные для grub и т. Д. Но с вашей дополнительной информацией я смогу определить, сработало ли это. Цикл каталогов в моем изображении звучит возможно (я использую жесткие ссылки для определенных вещей, которые контролируются источником), и, возможно, это является артефактом использования LVM на виртуальной машине. На данный момент вы дали мне много вещей для расследования. Я вернусь к вам в ближайшее время. Спасибо DaveM 7 лет назад 0

Похожие вопросы