Emulating a CD-ROM or DVD-ROM drive

I occasionally encounter situations where a bootable CD or DVD is necessary. Most recently, I had to load an operating system on a server. Before that, I had to burn and boot a CD to update the firmware of a device in my computer. I found out last week that hardware emulators are available that can read .ISO files and pretend to be a CD-ROM or DVD-ROM drive. On the recommendation of a co-worker, I got a Zalman ZM-V350B. It holds a user-supplied 2.5″ hard drive or SSD. Aside from the emulation features, it has a built-in display and jog controller that lets you choose which ISO file you want to emulate (if any), whether the host can see the hard drive or “optical” drive or both, or even write-protect the drive hard drive.

The product works well, but there are some gotchas. The documentation didn’t mention it’s necessary to use an MBR partition table and an NTFS filesystem. You can have multiple partitions, but the ISO files have to reside in the first partition. I had to install a firmware update to make it work reliably, and the newest firmware had a lower version number than the firmware that shipped with the unit. Windows is necessary to install firmware updates. I was able to do accomplish the firmware update using a virtual machine, but I had to use a USB 2.0 cable to make VMware Fusion talk to the device using Windows 7. In all, I wasted half a day on those hurdles.

I used a 256 GB SSD, and set aside 10 GB for ISO files and formatted the rest JHFS+ so I could use it for backups. I wanted FileVault 2 encryption of the backup, which only works with GPT (not MBR). I was able to use a Hybrid GPT/MBR partition table to have my cake and eat it, too.

Since figuring out the device’s quirks, I haven’t had any issues. It’s fast with the SSD, delivering 350MB/s sequential read/write. Overall, it’s a really handy tool and it’s nice to not have to burn single-use discs anymore. Still, it’s hard to recommend this product to anyone but the most dedicated geek.