This works because block devices like /dev/sdX are just files. If you cp a file onto another file, it overwrites the data of the destination with the source. A block device represents the device itself, not the filesystem; if you wanted to put the ISO inside the filesystem, you’d have to mount it first.
Not technically. unetbootin and some similar tools like rufus take the USB, partition it, and copy the contents of the disk to it after manually setting up a bootloader on it. This is not required for most Linux ISOs though where you can just cp or dd the image directly to the USB as they are already setup with all that on the image. But other ISOs, like I believe Windows ones have a filesystem on them that is not vfat so cannot be directly copied. Although these days for windows you just need to format the USB as vfat and copy the contents of the windows ISO (aka the files inside it, not the iso filesystem) to the filesystem.
I tend to find unetbootin and rufus break more ISOs then they actually help with though. Personally I find ventoy is the better approach overall, just copy the ISO as a file to the USB filesystem (and you can copy multiple ones as well).
Isn’t that just ‘sudo cp image.iso /dev/sdX && sync’ ?
The only thing you would have achieved that was would be to copy an iso file onto your stick. EFI or Boot doesn’t know how to do anything with it.
A lot of Linux ISOs are hybrid images which can be booted if flashed directly to a USB stick.
Op was just using
cp
to copy the iso onto the drive no flashing or anything…The cp command will write the ISO file directly onto the device. This is the official way that is recommended by Debian:
cp debian.iso /dev/sdX
Source: https://www.debian.org/releases/stable/amd64/ch04s03.en.html
Woah…
Damn I’m sorry for questioning this method, I didn’t know.
This works because block devices like
/dev/sdX
are just files. If youcp
a file onto another file, it overwrites the data of the destination with the source. A block device represents the device itself, not the filesystem; if you wanted to put the ISO inside the filesystem, you’d have to mount it first.Not technically. unetbootin and some similar tools like rufus take the USB, partition it, and copy the contents of the disk to it after manually setting up a bootloader on it. This is not required for most Linux ISOs though where you can just
cp
ordd
the image directly to the USB as they are already setup with all that on the image. But other ISOs, like I believe Windows ones have a filesystem on them that is not vfat so cannot be directly copied. Although these days for windows you just need to format the USB as vfat and copy the contents of the windows ISO (aka the files inside it, not the iso filesystem) to the filesystem.I tend to find unetbootin and rufus break more ISOs then they actually help with though. Personally I find ventoy is the better approach overall, just copy the ISO as a file to the USB filesystem (and you can copy multiple ones as well).