Ubuntu 24.04: Кастомизация LiveCD – Невозможно найти носитель, содержащий файловую систему Live

Вопрос или проблема

Я работаю над скриптом для абстракции создания ремиксов Ubuntu 24.04, аналогично Cubic. Команды, которые я использую, изложены ниже, и полученный ISO едва загружается в VirtualBox [все, что я создал, не прошло мимо ошибки "Невозможно найти среду, содержащую файловую систему live"]. Тем, кто создает кастомные ISO Ubuntu после 22.04 в эпоху post-isolinux, есть какие-либо предложения? Эти команды должны быть относительно простыми (учитывая, что я еще не пытался модифицировать minimal.squashfs):

cd ~/Desktop

sudo mkdir /mnt/iso

sudo mount -o loop ubuntu-24.04-desktop-amd64.iso /mnt/iso

mkdir ~/custom-ubuntu

cp -r /mnt/iso/* ~/custom-ubuntu/

sudo umount /mnt/iso

cd ~/custom-ubuntu

chmod +w -R .

cd ~/custom-ubuntu/casper

mkdir extract

sudo unsquashfs -d extract minimal.squashfs

sudo chroot extract glib-compile-schemas /usr/share/glib-2.0/schemas/

sudo rm minimal.squashfs

sudo mksquashfs extract minimal.squashfs -comp xz -e boot

sudo rm -rf extract

sudo sed -i "s/^[0-9] ./$(sudo du -sx –block-size=1 extract | cut -f1) minimal.squashfs/" filesystem.size

cd ~/Desktop

orig=ubuntu-24.04-desktop-amd64.iso

mbr=ubuntu-mbr.img

efi=ubuntu-efi.img

dd if="$orig" bs=1 count=446 of="$mbr"

skip=$(fdisk -l "$orig" | fgrep ‘.iso2 ‘ | awk ‘{print $2}’)

size=$(fdisk -l "$orig" | fgrep ‘.iso2 ‘ | awk ‘{print $4}’)

dd if="$orig" bs=512 skip="$skip" count="$size" of="$efi"

new=~/Desktop/ubuntu-custom.iso

disk_title="Ubuntu Custom"

sudo xorriso -as mkisofs \
-r -V "$disk_title" -J -joliet-long -l \
-iso-level 3 \
-partition_offset 16 \
–grub2-mbr "$mbr" \
–mbr-force-bootable \
-append_partition 2 0xEF "$efi" \
-appended_part_as_gpt \
-c /boot.catalog \
-b /boot/grub/i386-pc/eltorito.img \
-no-emul-boot -boot-load-size 4 -boot-info-table –grub2-boot-info \
-eltorito-alt-boot \
-e ‘–interval:appended_partition_2:all::’ \
-no-emul-boot \
-o "$new" \
~/custom-ubuntu

Ответ или решение

Проблема "Невозможно найти носитель, содержащий файловую систему Live" в Ubuntu 24.04: подробное руководство по кастомизации LiveCD

Введение

Кастомизация ISO-образов Ubuntu — это важная задача для IT-специалистов, желающих создать собственные версии операционной системы, адаптированные под конкретные нужды пользователей. Однако, по мере того как версии Ubuntu обновляются, могут возникать сложности, например, ошибка "Невозможно найти носитель, содержащий файловую систему Live". В данном материале мы разберем возможные причины возникновения этой ошибки и предложим решения на основе вашего сценария.

Причины ошибки

Ошибка "Unable to find a medium containing a live file system" часто возникает из-за неправильной структуры образа или отсутствия необходимых файлов, которые либо были удалены, либо неправильно перенастроены. В вашем сценарии очевидная проблема может возникать в следующих областях:

  1. Коэффициенты и параметры команд: Неправильное указание параметров при создании ISO может привести к тому, что загрузчик не сможет обнаружить файловую систему.

  2. Проблемы с файловой системой: Если минимальная файловая система (minimal.squashfs) была повреждена или неправильно собрана, это может также привести к ошибке.

  3. Отсутствующие заголовки: Некорректные заголовки ISO-образа могут препятствовать правильной интерпретации структуры файловой системы.

Решения и шаги по устранению

1. Проверка файловой системы

Убедитесь, что minimal.squashfs корректно извлекается и собирается. Вам следует выполнить команды:

sudo unsquashfs -d extract minimal.squashfs
sudo chroot extract glib-compile-schemas /usr/share/glib-2.0/schemas/

Убедитесь, что команды проходят успешно, и в процессе нет сообщений об ошибках. Обратите внимание на возможные проблемы с правами доступа.

2. Правильная установка файловой системы

При создании нового minimal.squashfs рекомендую использовать следующие параметры:

sudo mksquashfs extract minimal.squashfs -comp xz -no-duplicates -e boot

Проверка и исключение дубликатов может помочь устранить потенциальные проблемы с неявными конфликтами.

3. Корректная сборка ISO-образа

Обратите внимание на параметры, используемые при создании вашего образа с помощью xorriso и убедитесь, что все разделы правильно прописаны:

sudo xorriso -as mkisofs \
  -r -V "$disk_title" -J -joliet-long -l \
  -iso-level 3 \
  -partition_offset 16 \
  --grub2-mbr "$mbr" \
  -append_partition 2 0xEF "$efi" \
  -appended_part_as_gpt \
  -c /boot.catalog \
  -b /boot/grub/i386-pc/eltorito.img \
  -no-emul-boot -boot-load-size 4 -boot-info-table \
  -eltorito-alt-boot -e '--interval:appended_partition_2:all::' \
  -no-emul-boot -o "$new" ~/custom-ubuntu

Здесь ключевыми моментами являются корректных путь к файлам и их доступность в момент исполнения.

4. Проверка на виртуальной машине

По завершению всех вышеуказанных шагов, попробуйте загрузить ISO-образ в VirtualBox. Убедитесь, что параметры виртуальной машины настроены корректно под вашу кастомизацию (Boot Order, Память и т.д.).

Заключение

Кастомизация Ubuntu 24.04 — это процесс, требующий точности и внимательности. Ошибка, связанная с загрузкой файловой системы Live, может быть устранена с помощью описанных выше шагов. Проверяйте каждую часть процесса, чтобы убедиться в правильности настройки. Если вы столкнетесь с дополнительными проблемами, рассмотрите возможность использования других инструментов, таких как Cubic, которые могут упростить задачу создания кастомизированных ISO.

Следуя данному руководству и рекомендациям, вы сможете повысить успешность своего проекта по созданию пользовательских образов Ubuntu.

Оцените материал
Добавить комментарий

Капча загружается...