I'm trying to add a file to an ISO then reburn it. In Disk Utility, I mount the original ISO, choose "Create From ..." to create a new image file with "read/write" access and save it. When I mount the new image file, it's read-only and I can't change it or add files.

What am I doing wrong? Why can't I mount the image with write permissions?

  • Why not copy the files from the iso to a folder, add your new files, then reburn? Commented Mar 5, 2019 at 17:11
  • The ISO is bootable. I'm not confident that it would still work when I'm done. The benefit of the ISO is that it keeps the boot information. Commented Mar 5, 2019 at 18:03
  • You may have to use the hdiutil command to create the new iso file. Basically, I do not think you can accomplish your task using the Disk Utility application. Do you know how the current iso file is configured to boot? Commented Mar 5, 2019 at 18:13
  • Yes, I'm trying to make an ISO for unattended installs of Windows. Commented Mar 5, 2019 at 18:47
  • Windows? Why didn't you say? Are you doing a legacy eltorito boot or EFI boot? You can do this using macOS, but would it not be better to do this using Windows? Commented Mar 5, 2019 at 18:50

2 Answers 2


Let's assume you have a physical or virtual FAT32 or ExFAT formatted drive. You could mount the ISO file and then copy all the files to this drive. I would recommend using the Terminal application to do the copy. Using the Finder application may result in the creation of ._* files. Although these files can be removed by using dot_clean.

To create a legacy bootable ISO file, use the command given below.

hdiutil makehybrid -o windows10.iso /Volumes/ESD-USB -no-emul-boot -boot-load-size 8 -eltorito-boot /Volumes/ESD-USB/boot/etfsboot.com

In this example, the name of the drive shown in the finder was ESD-USB. The -boot-load-size was set to 8 sectors, because the size of the etfsboot.com file was 4096 bytes and the sector size is 512 bytes. ( 8 * 512 = 4096 )


You cannot modify ISO files using Disk Utility, nor using diskutil on the commandline. This is not built in to those programs.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .