如何将iso9660 ISO转换为USB ISO

我有一个基于Ubuntu的定制GCompris的ISO。 它打算在CD(iso 9660 FS型)上刻录。 当我尝试将其刻录到USB时,pendrive“变成”CD并且它将无法启动…

不久之后将这个ISO作为学校项目的人说,他不记得他是如何制造它的,但它与提取squashfs并使用chroot重新创建它有关。

你们中的任何人都可以指点我一步一步指导如何做 – 从顶部?

以下是使用ipse lute答案中相同实用程序答案,但是根据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 
  1. 确定您的ISO是否是非杂交的,运行:

     fdisk -l  

    您将看到类似的输出(确切内容可能不同):

     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 Trusty Desktop用作示例;所有Ubuntu ISO都是混合的;来自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) 
  2. 如果您的ISO 已经被恶意化,请跳至步骤4.如果您有非混合 ISO,请按如下方式安装相应的软件包:在Debian Linux发行版中, 以root身份运行(例如,使用sudo ):

     apt-get install syslinux isolinux syslinux-utils syslinux-efi 
  3. 杂交:如果您想保留原始的,未杂交的ISO,请首先制作一份新副本,我们称之为your.hybrid.iso 。 在新副本上,运行:

     isohybrid  

    注意:这将覆盖现有ISO的内容。 如果您不需要原件,只需操作即可。

  4. 从ISO制作可引导磁盘(例如USB闪存驱动器)

    1. 确定分配给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 

      这表示USB驱动器已分配/dev/sdX ,其中X通常是小写字母字符。

      1. 插入USB驱动器,通过观察syslog的输出来记下设备文件/dev/sdX
    2. 卸载闪存驱动器的所有分区(如果有的话)是自动安装的。

    3. 将文件转储到USB驱动器。 使用WITH EXTREME注意 dd将ISO转储到驱动器

      1. 绝对确保在以下命令中将X替换为与驱动器设备文件关联的字母,并且在参数中不进行拼写错误(例如,杂散空格)!! 如果你陷入困境,你可能会破坏你的整个系统。

      2. 以root身份运行:

         dd if= of=/dev/sdX bs=4M && sync 
  5. 卸下USB驱动器,将其插入要引导的计算机,然后在BIOS模式下从USB驱动器引导。 默认情况下, isohybrid将创建BIOS模式可引导驱动器,但可以选择创建UEFI可引导驱动器。 有关更多信息,请参阅man isohybrid

  6. 享受安装新操作系统!

通过sudo apt-get install syslinux安装一个名为’syslinux’的程序。 然后创建/获取ISO9660文件(例如filename.iso)。 在终端窗口中输入: isohybrid filename.iso 。 现在iso文件是混合的,你可以用它作为CD和USB图像文件。 杂交过程将更改文件的校验和。 确保根据新的校验和进行检查。

您可以在此处找到更多详细信息: http : //www.syslinux.org/wiki/index.php?title = Isohybrid 。