Well have to say Rufus is good. But there is a far better tool: Ventoy.
You will only need to format your thumb drive once and for all. After that, you will simply only need to copy the image file such as .iso, .vhd etc on to the drive and you are all set. Check details from the following sites.
Ventoy is indeed one of the best (if not THE best) tool for this. Even if it does not support absolutely everything (last time I checked), it is by far the most hassle free and sure-fire solution.
For context, I have professionally deployed Linux on USB, ever since around 2004. I honestly don't care to remember all the odd issues/failures I've encountered during those 17 years. The situation certainly got better/easier with the years, but it can still be a gamble if an odd Linux distro will actually boot successfully from USB or not.
Until I discovered Ventoy, about a year or two ago, I would always be hesitant to recommend running Linux from USB, unless I knew the exact setup (or it involved someone with a decent technical skills).
Ventoy is great!!! I'd recommend everyone to at least have a look at it. It's one of the very few tools I endorse without any hesitation or reservation.
I am in no way personally involved with Ventoy, nor do I have a stake in it. I just love the tool for what it is.
For the benefit of those who may not know, this has been possible (by way of Grub2) with many Linux distros for a while now without custom software. Typically you just add extra boot arguments that point to the iso and flag that booting from it is desired.
Unfortunately the required arguments tend to be poorly documented and quite specific to each distro. This looks like a neat tool that's sidestepping that issue. If anyone knows of a good resource that documents these boot arguments for a range of distros, please share!
I just wrote Ventoy to my megastick, wrote FreeBSD and Debian Install images, and it works. Debian Bullseye install image complains about low-memory mode, but the booted machine had >500MB still available. Abstraction breaks somewhere, I would love to know why/how.
Without diving into the source code. :) Has anyone seen architecture/design documents on how it actually mounts the ISO file and "boots" from it? What does prevent "the other 10%" from not working?
I looked through the docs, found these so far:
Memdisk[1] section mentions:
> In normal mode, Ventoy will only read the iso file at booting time, and only read the content needed for boot.
Ventoy Compatible?[2] mentions a hook. What does this mean?
> Once Ventoy treats the iso file as Ventoy Compatible, it will just make the virtual disk and will not do the hook.
A great software solution. I had a look and once Linux boots it actually uses devicemapper to map a dm device to the raw sectors containing the iso which it extracts (as it may be fragmented) to feed to dmsetup. Kinda crazy.
There is also a couple of hardware projects that to that in hardware. I used the ISOstick for many years.
You can also PXE NetBoot a lot of installers with dynamic menu selection - see http://netboot.xyz
What a great tool! There goes my collection of small old 1-8 GB USB thumb drives, just use a big one for installs.
A nice companion could be a small *PI like board with a script that scans repositories for iso updates then downloads them using torrent to avoid taxing the servers too much, then when necessary (but not more than once every N days to avoid wearing the memory) updates the dongle automatically overnight. Just stick the dongle when you're back at home and the next morning if necessary it is updated to the latest images.
Another vote for ventoy. Means I can use my large fast USB drive (actually an mSATA SSD pulled from a broken laptop, in an adapter) as a collection of boot media while keeping the rest of the space for other use. I don't need to boot from a distro CD often these day, but when I do it is nice that it is much faster than my other USB sticks, more convenient than carrying a few (Debian, Ubuntu, psSense, Kali, ...) around, and more convenient to update when I need something new or otherwise specific for the situation.
Windows images that are over 4.3GB(I don't remember the exact max size) most image burning tools will fallback to NTFS on the USB formatting and some motherboards/laptops don't like this. (Even on my rather modern Dell laptop)
The best solution so far I've found is to manually partition the USB into a 1GB FAT32 partition and the rest NTFS. Then you extract the files where needed [0]
I learned this method just last year but it seems it's pretty universal. At least for Win10 ISOs. And I don't have to boot Windows and wait for its updates!
Edit: I just remembered that you might not be on a Windows device, in which case you may well want to download the ISO and use Rufus to make a bootable stick from it.
That seems far more complicated than just using DISM, PowerShell or wimlib (on Linux or Windows) to split the install.wim file into two parts, which I believe older versions of Rufus (or a similar utility) offered to do.
I used the same method as you, but from different source.
I tried to dig into my documentation for the link that I saved, it doesn't seem like I saved the google search terms for it, but they can be deduced from the link anyway.
Ventoy is AWESOME. No more continuously formatting your drive for every ISO you want. You just copy your ISOs on and off the drive and they all just work.
Ventoy is great, for a long time I used E2B but lately I've been using ventoy because of it's native support of UEFI, my only complaint is that I find it to be a bit slower on accepting keyboard input compared to E2B. Also E2B has great keyboard shortcut support which ventoy entirely lacks (last I checked)
With the disclaimer than I'm primarily a Linux user and may be missing something from Microsoft, isn't it weird that there are no tools for this functionality that come with Windows? I've tried a few times through the life of Windows 10 to make installer USB drives from inside Win10 with only microsoft tools but never found anything that worked.
Rufus comes through for me again and again, but why do we need to download a 3rd party tool for even basic configs? Nothing fancy, just a windows installer on USB.
Rufus is a light and effective tool when Windows user want to create USB bootable.
In the past, I faced some issues about disk partition. The Windows Media Creation Tool usually created MBR partition but my disk was on GPT partition. Rufus did well on creating USB bootable with detail log. No need to type complicated command. No need to copy and edit files. Just select, select and press Start.
Easy2Boot is another good one. Creates USB boot disks with multiple OS ISOs on and boot into any of them. It’s no longer being updated, but still works, just used it this week.
The only caveat is you need to make sure each ISO is stored on the USB in a contiguous file, since it tricks the host machine into thinking each ISO is separate partition. It includes a .cmd script for doing this on Windows, or on Linux you can use `rsync —preallocate` to copy the ISOs continuously.
Why do you say it's no longer being updated? Looks like he last posted 3/30/21.
He's actually great, when he's online he has a chat option on his website and he'll help you with any questions you have, I somehow screwed up an E2B MBR and he very graciously walked me through fixing it.
This has been my go to for years now. It’s especially useful whenever a friend or family member hits me up with a “computer question” that inevitably leads to “let’s just reinstall whatever you had before” and I just need something quick that works.
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 this once but was annoyed at it being an Electron app, and sure enough it has analytics that spy on your usage by default including "information about the type of SD cards and USB drives": https://www.balena.io/docs/learn/more/collected-data/#balena...
As in, even when I turned off 'report usage statistics', it kept making outbound network connections. That was it for me... trust lost; uninstalled immediately.
I love that something that basically clones what "dd" can do is ONE HUNDRED AND TWENTY FOUR MEGABYTES. And people just accept that as normal. dd is 76k
Imagine if the binary is 128MB how big the source code repo must be.
I prefer Etcher over Rufus because there's very little to configure. It's easy to get the settings wrong in Rufus and it can make an ISO unbootable or unusable if you don't know what you're doing.
I've had issues with most bootable USB creation tools, including Rufus, particularly with CentOS (even though it's listed as known working!). I'm not sure whose fault this is, really. I think the problem is that the tools just try to be too "smart" instead of simply dd-ing the bytes over. The best tool I've found for this on Windows is Rawrite32.
However, this was ridiculously slow. I waited a long time for cat, but not long enough to figure out if it would ever finish. dd reported speeds of less than half a MB/s, gnome-disk-utility was about eight times faster.
I wonder if a different set of options to dd would have given better results. From what I can tell, gnome-disk-utility is just open() and write() (with suitable flags) in the end.
I like the idea of bootable usb, but 9 times out of 10 it's easier for me to do a PXE boot to an iso. I have a linux computer setup to provide the PXE boot stuff in my lab.
I used to have a vmware player image that would run pxe boot on a 2nd nic I put in my laptop (USB), but it's been awhile since I've needed to do that.
For anyone complaining that there is no nice GUI for dd on Linux and macOS, I recently discovered Fedora Media Writer [1] which works great for this job. Despite it’s name, it can be used with any ISO just like dd.
I have been running https://netboot.xyz/ from a docker container for years and don't look back. I even set it up to have local copies of the distros I most install, so it picks it up from a local server instead of downloading a fresh copy each time.
[+] [-] mrjin|4 years ago|reply
You will only need to format your thumb drive once and for all. After that, you will simply only need to copy the image file such as .iso, .vhd etc on to the drive and you are all set. Check details from the following sites.
https://www.ventoy.net/en/index.html https://github.com/ventoy/Ventoy
[+] [-] elmo2you|4 years ago|reply
For context, I have professionally deployed Linux on USB, ever since around 2004. I honestly don't care to remember all the odd issues/failures I've encountered during those 17 years. The situation certainly got better/easier with the years, but it can still be a gamble if an odd Linux distro will actually boot successfully from USB or not.
Until I discovered Ventoy, about a year or two ago, I would always be hesitant to recommend running Linux from USB, unless I knew the exact setup (or it involved someone with a decent technical skills).
Ventoy is great!!! I'd recommend everyone to at least have a look at it. It's one of the very few tools I endorse without any hesitation or reservation.
I am in no way personally involved with Ventoy, nor do I have a stake in it. I just love the tool for what it is.
[+] [-] Poiesis|4 years ago|reply
Unfortunately the required arguments tend to be poorly documented and quite specific to each distro. This looks like a neat tool that's sidestepping that issue. If anyone knows of a good resource that documents these boot arguments for a range of distros, please share!
[+] [-] motiejus|4 years ago|reply
Without diving into the source code. :) Has anyone seen architecture/design documents on how it actually mounts the ISO file and "boots" from it? What does prevent "the other 10%" from not working?
I looked through the docs, found these so far:
Memdisk[1] section mentions:
> In normal mode, Ventoy will only read the iso file at booting time, and only read the content needed for boot.
Ventoy Compatible?[2] mentions a hook. What does this mean?
> Once Ventoy treats the iso file as Ventoy Compatible, it will just make the virtual disk and will not do the hook.
[1]: https://www.ventoy.net/en/doc_memdisk.html
[2]: https://www.ventoy.net/en/doc_compatible_mark.html
[+] [-] thom|4 years ago|reply
[+] [-] yarcob|4 years ago|reply
This is the neatest thing I've seen on HN since the actually portable executable!
[+] [-] lathiat|4 years ago|reply
There is also a couple of hardware projects that to that in hardware. I used the ISOstick for many years.
You can also PXE NetBoot a lot of installers with dynamic menu selection - see http://netboot.xyz
[+] [-] squarefoot|4 years ago|reply
A nice companion could be a small *PI like board with a script that scans repositories for iso updates then downloads them using torrent to avoid taxing the servers too much, then when necessary (but not more than once every N days to avoid wearing the memory) updates the dongle automatically overnight. Just stick the dongle when you're back at home and the next morning if necessary it is updated to the latest images.
[+] [-] dspillett|4 years ago|reply
[+] [-] sdlion|4 years ago|reply
The best solution so far I've found is to manually partition the USB into a 1GB FAT32 partition and the rest NTFS. Then you extract the files where needed [0]
I learned this method just last year but it seems it's pretty universal. At least for Win10 ISOs. And I don't have to boot Windows and wait for its updates!
[0] https://techbit.ca/2019/02/creating-a-bootable-windows-10-ue...
[+] [-] Stratoscope|4 years ago|reply
That's what I've done lately, and it works every time with no fuss.
https://www.microsoft.com/en-us/software-download/windows10
Edit: I just remembered that you might not be on a Windows device, in which case you may well want to download the ISO and use Rufus to make a bootable stick from it.
[+] [-] sascha_sl|4 years ago|reply
https://github.com/pbatard/rufus/wiki/FAQ#blah-uefi-blah-fat...
You probably left Secure Boot on. That prevents loading the NTFS UEFI driver.
[+] [-] pxeboot|4 years ago|reply
https://wimlib.net/man1/wimsplit.html
[+] [-] VMtest|4 years ago|reply
I tried to dig into my documentation for the link that I saved, it doesn't seem like I saved the google search terms for it, but they can be deduced from the link anyway.
1. https://win10.guru/usb-install-media-with-larger-than-4gb-wi...
[+] [-] graton|4 years ago|reply
[+] [-] jz9yu616|4 years ago|reply
[+] [-] ehsankia|4 years ago|reply
[+] [-] michaelmrose|4 years ago|reply
[+] [-] vxNsr|4 years ago|reply
[+] [-] spijdar|4 years ago|reply
Rufus comes through for me again and again, but why do we need to download a 3rd party tool for even basic configs? Nothing fancy, just a windows installer on USB.
[+] [-] AussieWog93|4 years ago|reply
It doesn't support Linux images, though, for reasons that should be obvious.
[+] [-] RMPR|4 years ago|reply
0: https://www.dell.com/support/kbdoc/en-us/000136959/create-a-...
[+] [-] quyleanh|4 years ago|reply
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] BiteCode_dev|4 years ago|reply
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] SkyMarshal|4 years ago|reply
https://www.easy2boot.com/
The only caveat is you need to make sure each ISO is stored on the USB in a contiguous file, since it tricks the host machine into thinking each ISO is separate partition. It includes a .cmd script for doing this on Windows, or on Linux you can use `rsync —preallocate` to copy the ISOs continuously.
[+] [-] vxNsr|4 years ago|reply
He's actually great, when he's online he has a chat option on his website and he'll help you with any questions you have, I somehow screwed up an E2B MBR and he very graciously walked me through fixing it.
[+] [-] AcerbicZero|4 years ago|reply
[+] [-] birriel|4 years ago|reply
dd bs=4M if=path/to/archlinux-version-x86_64.iso of=/dev/sdx conv=fsync oflag=direct status=progress
[+] [-] MarkSweep|4 years ago|reply
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
[+] [-] odyslam|4 years ago|reply
[0] https://www.balena.io/etcher/
[+] [-] Lammy|4 years ago|reply
[+] [-] larrybud|4 years ago|reply
As in, even when I turned off 'report usage statistics', it kept making outbound network connections. That was it for me... trust lost; uninstalled immediately.
[+] [-] muppetman|4 years ago|reply
Imagine if the binary is 128MB how big the source code repo must be.
[+] [-] spacemanmatt|4 years ago|reply
[+] [-] ______-|4 years ago|reply
[+] [-] BiteCode_dev|4 years ago|reply
[+] [-] cosmotic|4 years ago|reply
[+] [-] znedw|4 years ago|reply
[+] [-] invokestatic|4 years ago|reply
[+] [-] runlevel1|4 years ago|reply
Only supports Windows, no Linux or macOS support planned.[1]
[1]: https://github.com/pbatard/rufus/wiki/FAQ#do-you-plan-to-por...
EDIT: running on, not creation of boot volumes for
[+] [-] nemetroid|4 years ago|reply
I wonder if a different set of options to dd would have given better results. From what I can tell, gnome-disk-utility is just open() and write() (with suitable flags) in the end.
1: https://wiki.archlinux.org/title/USB_flash_installation_medi...
[+] [-] pnutjam|4 years ago|reply
I used to have a vmware player image that would run pxe boot on a 2nd nic I put in my laptop (USB), but it's been awhile since I've needed to do that.
[+] [-] unixhero|4 years ago|reply
[+] [-] SLWW|4 years ago|reply
[+] [-] fctorial|4 years ago|reply
[+] [-] radium3d|4 years ago|reply
[+] [-] breakfastquark|4 years ago|reply
[1] https://github.com/FedoraQt/MediaWriter
[+] [-] mynameisvlad|4 years ago|reply