====== Ubuntu - ISO - Create ISO from a Bootable USB Drive - Using dd ======
**dd** is a powerful Linux tool for a wide range of disk-related tasks:
* creating disk images
* copying data between devices
* performing low-level operations on data
dd makes a bit-for-bit copy of the USB drive’s contents into a single ISO file.
----
===== Make a Copy =====
Create a copy from the bootable USB to a file:
sudo dd if=/dev/sdb1 of=myisofile bs=4M status=progress
**NOTE:** This creates a raw binary copy of the USB in the current directory.
These are optional parameters, but do help:
* **bs=4M**: Read and write up to 4M at a time; to make I/O faster.
* **status=progress**: Provide a progress report while dd runs.
----
===== Convert the raw binary file to an ISO format =====
Install genisoimage:
sudo apt install genisoimage
----
===== Convert the raw file to an ISO format =====
sudo genisoimage -o converted.iso -input-charset utf-8 -R -J myisofile
**NOTE:**
* **-o**: converted.iso specifies the name of the output ISO file in proper ISO 9660 format.
* **-input-charset utf-8**: sets the character encoding for the ISO image.
* **-R**: generates the Rock Ridge extension for UNIX file attributes.
* **-J**: generates the Joliet extension for Windows file systems.
The output **converted.iso** will be in a standard ISO format and can be used for various purposes, including burning to optical media or distributing bootable images.
----
===== Verify the ISO Format =====
Perform a simple check to examine the ISO’s structure and extract information about its content.
sudo isoinfo -d -i converted.iso
returns:
CD-ROM is in ISO 9660 format
System id: LINUX
Volume id: CDROM
...
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 123456
Joliet with UCS level 3 found
Rock Ridge signatures version 1 found
**NOTE:** **isoinfo** is a part of the genisoimage package:
The resulting output confirms that the converted.iso file is in the ISO format.
It provides details about its volume and file system attributes and support for extended file names and attributes.