Rufus is great for writing Windows ISOs to thumb drives. Sometimes it tries to be too smart though. In particular I had trouble writing a SmartOS disk image successfully.
I tried writing something[1] that would be a little smarter than Win32 Disk Imager. That is, it will adjust EFI partition labeling. Otherwise it will just write the image. After some experimentation that is what was needed to get a SmartOS disk image to boot on my old laptop.
It sounds obvious in retrospect, but you can’t use something like dd to write invalid disk partitioning data and expect it to boot. EFI expects there to be a header at the beginning and end of the disk. Furthermore, I can’t try to “optimize” my disk image writer by skipping zeroed sectors and expect everything to work out fine. Without knowledge of the file system format, leaving sectors uncleared causes all kinds of fun data corruption.
I tried writing something[1] that would be a little smarter than Win32 Disk Imager. That is, it will adjust EFI partition labeling. Otherwise it will just write the image. After some experimentation that is what was needed to get a SmartOS disk image to boot on my old laptop.
It sounds obvious in retrospect, but you can’t use something like dd to write invalid disk partitioning data and expect it to boot. EFI expects there to be a header at the beginning and end of the disk. Furthermore, I can’t try to “optimize” my disk image writer by skipping zeroed sectors and expect everything to work out fine. Without knowledge of the file system format, leaving sectors uncleared causes all kinds of fun data corruption.
[1]: https://github.com/AustinWise/SimpleDiskImager