You have the ISO and a blank disc, but the burn fails or the disc won't boot
You downloaded the Fedora Workstation ISO. Your target machine is a legacy server with no USB ports, or you are preparing installation media for an air-gapped environment. You insert a blank DVD, but the file manager offers no burn option, or the previous attempt produced a disc that the BIOS refuses to recognize. You need to write the image reliably from the terminal without corrupting the filesystem structure or wasting media.
What's actually happening
An ISO image is not a file you copy to a disc. It is a complete filesystem image containing the directory structure, boot sectors, and metadata of the final disc. Writing an ISO to optical media requires more than dumping bytes. The drive firmware expects a session structure with tracks, lead-in areas, and specific encoding for the physical pits and lands.
xorriso handles this complexity. It speaks the SCSI commands required to initialize a session, write the data track, and finalize the disc. It also understands ISO9660 and UDF filesystem rules. Fedora ISOs are hybrid images. They contain an ISO9660 layer for boot compatibility and a UDF layer for modern filesystem features. xorriso preserves both layers during the write.
Using dd to write an ISO to an optical drive is a common mistake. dd writes raw bytes to a block device. Optical drives reject raw writes because they require the session protocol. If you force dd to /dev/sr0, the drive may accept the data as a raw track, but the result will not be bootable and the filesystem will be unreadable. dd is for USB drives and raw disk images. xorriso is for optical media.
Check the source ISO before burning. A corrupted download produces a corrupted disc. Verify the checksum against the Fedora release signature. A bad source file wastes time and media.
The fix
Identify the optical drive device node. Fedora usually assigns /dev/sr0 to the first drive, but systems with multiple drives or virtual machines may differ. Use lsblk to find the correct device.
Here's how to list block devices and filter for optical drives.
lsblk -d -o name,rota,type,tran
# -d shows only the disk device, excluding partitions
# -o selects columns: name, rotational status, type, transport
# Look for type=rom and rota=1 to identify optical drives
The output lists devices. Find the line where TYPE is rom. The NAME column gives the device path, typically /dev/sr0. If you see multiple rom devices, check the TRAN column for sata or usb to distinguish internal drives from external burners.
Burn the ISO using xorriso. The command requires the output device, the ISO file, and the OSIRROX mode to handle the filesystem rules correctly.
Here's how to burn the ISO with speed control and automatic ejection.
xorriso -outdev /dev/sr0 -osirrox on -speed 8 -eject ~/Downloads/Fedora-Workstation-Live-x86_64-40-1.14.iso
# -outdev specifies the optical drive device node
# -osirrox on enables OSIRROX mode, which enforces ISO9660/UDF compliance
# -speed 8 caps the write speed to reduce jitter on the boot sector
# -eject opens the tray when the session is finalized
# The ISO path is the last argument; xorriso reads the image and writes to the drive
The -speed flag limits the write speed. High-speed burns can introduce jitter that affects the boot sector reliability. Speed 8 is a safe balance for most modern drives. If the drive is older, reduce the speed to 4. The command runs with verbose output by default, showing progress and any SCSI errors.
If you encounter Permission denied, run the command with sudo. Some systems restrict direct device access to the cdrom group. Adding your user to the cdrom group avoids the need for sudo on future burns.
Here's how to add your user to the cdrom group for persistent access.
sudo usermod -aG cdrom $USER
# -aG appends the user to the cdrom group without removing other groups
# $USER expands to your current username
# Log out and log back in for the group membership to take effect
Verify the group change by checking your groups.
groups
# Lists all groups your user belongs to
# Confirm cdrom appears in the output
Verify it worked
The burn completes and the tray ejects. The disc is not necessarily good. Verify the integrity of the written media.
Mount the disc and check the filesystem. Optical drives mount read-only by default.
mkdir -p /mnt/iso
mount /dev/sr0 /mnt/iso
# Creates a mount point and mounts the optical drive
# mount defaults to read-only for optical media
ls /mnt/iso
# Lists the contents; you should see EFI, LiveOS, and other directories
umount /mnt/iso
# Unmounts the drive before removing the disc
If the mount fails with wrong fs type or bad superblock, the burn corrupted the filesystem. The disc is unusable. Try a different disc or reduce the write speed.
For a deeper check, use xorriso to read the system area. This dumps the volume descriptors and checks for structural errors.
xorriso -indev /dev/sr0 -report_system_area
# -indev reads from the drive instead of writing
# -report_system_area dumps volume descriptors and integrity info
# Check the output for the volume ID and no error messages
The output includes the volume ID, which should match the Fedora release string. If you see FAILURE or WARNING lines, the disc has defects. Boot the disc in a virtual machine before using it on production hardware. A VM test confirms bootability without risking a live system.
Check the source hash before burning. A corrupted ISO makes a useless disc.
Common pitfalls and what the error looks like
Optical burning fails for specific reasons. Recognizing the error saves time.
xorriso: FAILURE: -outdev /dev/sr0: could not open device: Permission denied
This error means your user lacks access to the device. Run the command with sudo or add your user to the cdrom group. Check the group membership with groups.
xorriso: WARNING: -outdev /dev/sr0: media is write-protected
The disc is write-protected. Check the physical lock switch on the disc. Some DVD-RW discs have a slider on the edge. If the switch is stuck, the disc is defective.
xorriso: FAILURE: -outdev /dev/sr0: SCSI command failed: Illegal Request
The drive rejected the command. This often happens with incompatible media types. Ensure you are using the correct disc type. DVD-R and DVD+R are different formats. Some drives only support one type. Check the drive manual or try a different brand of media.
xorriso: FAILURE: -outdev /dev/sr0: media is not writable
The disc is already finalized or is a read-only format. You cannot overwrite a finalized disc. Insert a blank disc.
xorriso: WARNING: -outdev /dev/sr0: write speed too high for media
The drive tried to write faster than the disc supports. Reduce the speed with -speed. High-speed writes on cheap media cause read errors later.
Use dmesg | tail after a failure to check for hardware errors. The kernel log may show SCSI sense keys or drive firmware issues.
dmesg | tail -n 20
# Shows the last 20 kernel log messages
# Look for sr0 errors or SCSI sense data
Convention aside: dmesg captures hardware events that user-space tools miss. If xorriso reports a generic failure, dmesg often reveals the underlying SCSI error code.
When to use this vs alternatives
Use xorriso when you are burning an ISO image to DVD or Blu-ray and want strict filesystem compliance.
Use gnome-disk-utility when you need a graphical interface for burning and your desktop environment supports it.
Use dd when you are flashing a raw disk image to a USB stick, not burning an ISO to optical media.
Use cp when you are copying files to a formatted disc, not writing a bootable image.
Use bsdtar when you need to extract the ISO contents without mounting the image.
Trust xorriso. It handles the SCSI protocol so you don't have to.