Файлы изображений Ubuntu .iso используют формат Monster Frankenstein, разработанный для поддержки нескольких способов и устройств загрузки:
Загрузочный носитель Запись изображения на DVD для загрузки с использованием ISO-9660 и El Torito Копирование изображение «raw» на USB-накопитель или аналогичный носитель для загрузки с использованием обычных систем разбиения дисков. Режим загрузки. Режим BIOS. Загрузка EFI-mode booting. Чтобы работать со многими форматами и способами загрузки, разработчики играют в игры с структурами данных. Эти образы действительно не должны рассматриваться как «нормальные» образы дисков, и, в частности, вы должны наиболее решительно НЕ пытаться каким-либо образом модифицировать изображения, если вы не являетесь экспертом на высшем уровне в этих структурах данных. FWIW, я написал инструмент разметки GPT fdisk (gdisk, cgdisk и sgdisk), и я не буду пытаться делать то, что вы говорите, вы пытаетесь!
Вместо этого, если вам нужно измените установочный носитель, вы должны сделать одно из двух:
Загрузочный носитель Запись изображения на DVD для загрузки с использованием ISO-9660 и El Torito Копирование изображения «raw» на USB-флешку диск или аналогичный носитель для загрузки с использованием обычных систем разделения дисков Подготовьте свой собственный образ. У меня нет указателей на документацию о том, как это сделать, но изображения Ubuntu, конечно, создаются автоматическими инструментами, а не вручную редактируемыми таблицами разделов с шестнадцатеричными редакторами. Если вы отслеживаете инструменты и сценарии, используемые для создания изображений, вы можете создать изображение, которое было изменено так, как вам хотелось бы. Этот подход используется людьми, которые создают «спины» Ubuntu, поэтому вы можете начать с поиска документации о том, как это сделать.Из этих двух подходов первое, вероятно, лучшее для того, что вы хотите. На самом деле, я уверен, что некоторые инструменты такого типа предлагают возможность делать именно то, что вы хотите. (Я не помню, какой инструмент предлагает такую функцию). Второй подход, скорее всего, будет полезен для таких задач, как добавление пакетов в пользовательский установочный образ.
Если вы когда-либо были способный делать такие вещи раньше, скорее всего, это изменилось, потому что разработчики обнаружили необходимость сделать более чудовищный взлома структуры данных, чтобы обойти проблемы с конкретными системами. Например, если компьютеры Brand X не могут разобрать таблицу разделов Monster Frankenstein, разработчики могут настроить ее так, чтобы она работала с компьютерами Brand X, даже если это означает, что структура данных еще более странная, чем была раньше. Это только предположение с моей стороны, и я, конечно, не могу говорить о специфике, которую вы описали.