У меня есть ISO настроенного GCompris на основе Ubuntu. Он предназначен для записи на компакт-диск (тип ISO 9660 FS). Когда я пытаюсь записать его на USB, Pendrive «становится» CD и не загружается ...
Парень, который сделал этот ISO как школьный проект некоторое время назад, говорит, что не может вспомнить, как он сделал это в первую очередь, но это как-то связано с извлечением squashfs и воссозданием его с помощью chroot.
Может ли кто-нибудь из вас указать мне пошаговое руководство о том, как это сделать - сверху?
Установите программу, названную 'syslinux' sudo apt-get install syslinux
. Затем создайте/получите файл ISO9660 (например, filename.iso). В типе окна терминала: isohybrid filename.iso
. Теперь файл ISO является гибридом, можно использовать его в качестве файла образа USB и образа CD. Процесс гибридизации изменит контрольную сумму файла. Удостоверьтесь, что проверили его по новой контрольной сумме.
можно найти больше деталей здесь: http://www.syslinux.org/wiki/index.php?title=Isohybrid .
Вот ответ с помощью тех же утилит из ответа ipse лютни, но с полной процедурой и большим количеством детали, согласно просьбе OP.
Внимание: эта процедура использует dd
команда; удостоверьтесь, чтобы Вы знали, как использовать его правильно.
Этот документ объясняет, как "гибридизировать" файловую систему ISO 9660 (.iso файл), такой, что это может быть загружено от оптических сред и дисковых устройств хранения, таких как карты флэш-памяти с интерфейсом USB. Этот процесс достигается с помощью инструментов, разработанных Проектом Syslinux: http://www.syslinux.org/wiki/index.php?title=The_Syslinux_Project
Начальная настройка: Установите необходимое программное обеспечение
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe"
sudo apt-get install syslinux isolinux syslinux-utils syslinux-efi
Определите, не гибридизируется ли Ваш ISO, работайте:
fdisk -l <your.iso>
Вы будете видеть вывод как (точное содержание может отличаться):
Disk your.iso: 709.3 MiB, 743718912 bytes, 1452576 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Если у Вас уже будет гибридизированный ISO, то Вы будете видеть вывод как следующее (Рабочий стол Надежного человека Ubuntu, используемый в качестве примера; все ISOs Ubuntu гибридизируются; форматирование от stdout было искажено здесь):
Disk ubuntu-14.04.4-desktop-amd64.iso: 1020 MiB, 1069547520 bytes, 2088960 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1a447608
Device Boot Start End Sectors Size Id Type
ubuntu-14.04.4-desktop-amd64.iso1 * 0 2088959 2088960 1020M 0 Empty
ubuntu-14.04.4-desktop-amd64.iso2 26268 30811 4544 2.2M ef EFI (FAT-12/16/32)
Если Ваш ISO уже гибридизируется, пропустите к шагу 4. Если Вы имеете негибридизированный ISO, устанавливаете соответствующие пакеты следующим образом: В дистрибутиве Linux Debian, выполненном как корень (например, с sudo
):
apt-get install syslinux isolinux syslinux-utils syslinux-efi
Гибридизация: Если требуется сохранить исходный, негибридизированный ISO, сначала сделайте новую копию, которую мы назовем your.hybrid.iso
. На новой копии, Выполнении:
isohybrid <your.hybrid.iso>
Примечание: это перезапишет содержание существующего ISO. Если Вы не нуждаетесь в оригинале, просто воздействуете на него.
Сделайте загрузочный диск из ISO (например, Карта флэш-памяти с интерфейсом USB)
Определите файл устройств, присвоенный Карте памяти. Откройте терминал и работайте
tail -f /var/log/syslog
Это позволит Вам быть АБСОЛЮТНО УВЕРЕННЫМИ, какой файл устройств ядро присваивает устройству, когда это вставляется. Необходимо видеть строку как:
Aug 5 11:04:34 yourbox kernel: [2407408.163088] sd 23:0:0:0: [sdX] Attached SCSI removable disk
Это указывает, что Карта памяти была присвоена /dev/sdX
, где X
обычно строчный буквенный символ.
/dev/sdX
путем наблюдения вывода syslog
.Размонтируйте все разделы флеш-накопителя, если кто-либо был автоматически смонтирован.
Выведите файл к Карте памяти. Используйте С ЭКСТРЕМАЛЬНОЙ ОСТОРОЖНОСТЬЮ dd
вывести ISO к диску
Сделайте абсолютно уверенными, что Вы заменяете X буквой, связанной с файлом устройств Вашего диска в следующей команде, и что Вы не делаете опечаток (например, случайный пробел) в аргументах!! Если Вы портите, Вы могли бы уничтожить свою целую систему.
Выполненный, как корень:
dd if=<your.hybridized.iso> of=/dev/sdX bs=4M && sync
Удалите Карту памяти, вставьте ее в машину, которая будет загружена и загрузитесь от Карты памяти в режиме BIOS. По умолчанию, isohybrid
создаст режим BIOS загрузочный диск, но существует опция создать загрузочный диск UEFI. Посмотрите man isohybrid
для получения дополнительной информации.
Любите устанавливать свою новую ОС!