Back in October I bought myself a new shiny SSD to finally make the first step of leaving behind Windows.
After enquiring about which Distro to use, I settled on Fedora after being fed up with using Ubuntu in the past and feeling not close to technically skilled enough to use Arch.
The original plan was to have the SSD hold multiple Linux OS as well as a common storage that can be accessed from Windows as well as these distros.
Since I wanted to be able to dual boot multiple OS (Fedora & Tails) I choose Ventoy … Well chose is a strong word. It’s the only software for dual booting that still seems to be maintained.
While reading up on Ventoy I hit my fist snag. Ventoy does not support persistence in Tails. “Okay whatever I can deal with that later as long as I am able to store some file on common folder I’m fine” However dear reader who knows about partitioning, you will know that we are running out of space on the partition table with Ventoy, Tails and Fedora each taking up space. Once again I thought “okay whatever, I can figure that out later” and moved on to Fedora.
Now, running Fedora without persistence through Ventoy is no issue, but as soon you want persistence it gets tricky. See, Fedora cannot just with run persistence off Ventoy. It needs a boot option edited. How this is accomplished? No one even in the Ventoy Forum could tell me. and I felt waaay in over my head when I started reading up on Grub and how to edit the Bootloader files I find somewhere while digging through the ISO with 7zip. So I started reading up what this “selinux” option even is and found out that, I should probably not disable it. to begin with.
“Oookay” I thought slightly desperate, “I guess Ventoy is off the table” Luckily, a few weeks later, I found out about Whonix. Thus, a new play formed in my head: Ditch Ventoy and Tails, part the SSD to make it usable as a normal file storage and keep the other partition with persistent Fedora with Whonix. “Okay, that seems already waaay easier. I installed Ubuntu before from a VM to USB Sticks for school, I can do the same with Fedora. I’m basically already on the finishing straight”
Well no. Turns out, running a VM comes with its own snags. Like how VMware really is only working great if you buy a licence or the fact that Virtualbx automatically set’s the USB Standard of each VM to USB 2.0 meaning you will need to reboot the live OS to make the SSD running under 3.0 visible for installation. There goes another 20 minutes down the drain.
After fiddling around with the partition manager in Fedora and reading up on the documentation surrounding this issue (and finding out that it is more than 15(!) Version behind the current setup (it was a nice read tho)) another slap happened, to my already failing believe that this project would work out.
Partitioning the SSD with a home, boot, swap and EFI System Partition, can leave enough space on the Disk but no extra space on the partition table.
“Well, guess I have to mount a LVM Partiton somewhere” I thought and moved on in the hope to at least get Fedora finally running on the SSD.
But alas, my BIOS just decided to throw the most generic error ever.
Upon searching the web I found about this bug which apparently has been open since Fedora 37. So on the chance of me having said issue because of this bug, I got Fedora 36 and repeated the steps of creating a VM (don’t forget about that USB2 issue, or you will lose 20 minutes again) and installing it on the SSD. Presumably because I have an unmaintained version of Fedora which is 3 version behind the current one, installing Fedora on the SSD took more than an hour. (opposed to the 30 minutes it took me with 38.)
And after all that hassle? Still nothing. I still get that Bios Error and I still can’t run Fedora, and I have to say I’m sick and tired of it. I’m not a complete idiot (in most ways of life) but I cannot for the love of me figure out how I will ever get this to work. Or how the average user (who, let’s assume for the sake of my argument, is also not a complete idiot) is supposed to make this work. The hoops I jumped through, the hours of time wasted waiting for a status bar to update, the time spent googling and reading up on seemingly obscure issues, no average user wants to do this. It’s utopian to assume “oh users will just switch if Microsoft just does this or that stupid thing”. Whatever will happen, these users will not come in troves to Linux. This experience, which I can only describe as “running blind through a mirror maze” is masochistic. And I can’t do it any more. Maybe six months down the road, when brain damage finally has me forgotten the headache this journey has caused, I will pick this project up again. For now, I just really needed to write this rant, or I fear this day spent troubleshooting was for nothing.
Edit: Thank you to everybody for reading through my, I gotta say now, quite ignorant, post. Also thank you to most posters. Most comments were quite helpful and kind.
A few things that I might not have explained the best way.
The goal of the project was threefold:
•Have a removable drive with Linux on to slowly ease myself into this new OS while still having Windows as a fallback on the laptop
•Have it also work as a normal storage drive in the windows environment. (preferably without seeing any Linux folders in Window explorer)
•Have some kind of secure privacy option available to browse Anna’s archive for ebooks.
Whatever will happen, these users will not come in troves to Linux
users also not going to try install 3 different linux distros at tde same time
- 2 different distros on an external SSD without actually installing them
I mean >.>
I expected some difficulty but I didn’t expect that creating a drive with two distros and a third partition for file storage to be this difficult. Even if we shave it down to my current goal (one Distro and a file storage partition) I have more trouble than I would expect the average user to bare.
Do you imagine this is something an average user would do? I’ve been using Linux for 15+ years and can count on one hand how many times I’ve seen some crazy bastard try to create a portable install. And then you come along and try to do it without installing anything, and just magically get a persistent live session multiboot.
You’re getting ready to take your driving test, get an idea to replace the engine of your beetle with the one from a hyabusa, it explodes, and so you say that driving is too dangerous and hard.
Install the damn OS, learn to use it, and then try to be fancy
also it’s not because linux can theorically do everything, that you should do everything, it’s not because your car can fit truck wheels that you do it, these distros are tested with windows dual boot, but not more complex than that
For the longest time reading this post, I didn’t catch that you were setting up a simple dual boot for an internal SSD and thought with using tools like Ventoy you were making a multiboot portable install.
You are obscenely overcomplicating this. Your current approach is almost completely wrong to getting a functional multiboot system that passes secure boot and everything else.
Quite literally, bootstrapping from windows can use Rufus or ventoy on a USB stick to dump the ISOs on. Then boot into bios from the USB EFI entry. From there, simply install Fedora (no VM necessary). You’ll get Fedora installed in a GPT/EFI configuration (if you formatted your drive for install). If doing manual partitioning to leave space or do other configurations, format the drive to GPT. If multibooting, you may want to expand your EFI partition beyond 512MiB for multiple distros.
For other Linux OS to install alongside, you can then install them in the free space. Another comment mentioned to not install a bootloader on the secondary OS(es), which is generally a good idea.
For Tails, it is not meant to be installed on an SSD. It is best to use it on a flash drive.
Overall, a majority of your issues stem from the following:
- trying to use live distro images as an actual OS install
- using Ventoy as your bootloader
- using legacy MBR partition tables instead of GPT without expressed need for them
- Using virtualbox in general to provision bare metal hardware (changes need to be made in your VM software of choice to get EFI booting to work)
I’d argue your conclusion of people not switching to Linux because you found it too hard is almost entirely not because of any issue on Linux, but the factors you wedged yourself into on a modern x86 PC due to your methods in accomplishing your goal.
Nono I was going for a multi boot portable install.
The T7 is an external SSD. I got Ventoy to work on the T7 with Fedora (also with Tails), I just couldn’t get the persistence to work for Fedora too. I think that’s where I took a wrong turn. Instead of trying to figure out how to get that “selinux=0” command to work for Fedora, I should have properly reassessed my goal and started from scratch. I kinda fell victim to the sunk cost fallacy.
Ah, that would put a bit of complication into things. If you want to actually accomplish this though, you should largely start with the same steps as a standard system install, using a second USB flash drive to write the distro onto the external SSD, leaving enough space to build the rest of the partitions you need. If you intend to make a Windows-shared partition (exfat, fat32, or NTFS), it is probably best to put that partition either first or just behind the EFI partition so that Windows systems won’t have a hard time finding it. Exfat or NTFS would be a better choice for this type of partition.
I would still generally recommend keeping the live distros on a separate bootable drive, but you can size and reserve dummy partitions after the rest of your normal dual-boot installs and shared data partitions for live installers to overwrite. There is likely going to be some experimentation with getting the OS bootloader (such as on GRUB provided by Fedora in this case) to pick them up and add them as boot entries. You should (depending on the live image) be able to dd write them to the ending partitions reserved for the image for as long as the partition is sized equal or larger than the ISO image’s size (it’s best to give at least a few blocks of oversize on the partition when writing ISO’s directly).
Edit: In a proper Fedora install, you should almost never need to disable selinux or set it to permissive unless you know why you don’t want it.
Ah, that would put a bit of complication into things. If you want to actually accomplish this though, you should largely start with the same steps as a standard system install, using a second USB flash drive to write the distro onto the external SSD, leaving enough space to build the rest of the partitions you need.
I’ve actually tried to install Fedora on an USB SSD to play around with it. But somehow the installer just refused to select the second USB drive as an installation target. I looked for quite some time but couldn’t find a way to do it. I ended up trying to install it manually like Arch (for fun), but never got a bootable system 😅 I was able to install Arch and NixOS on the same drive without issue.
I’m actually not sure how OP could achieve something close to what they’re looking for… A regular installation certainly seems like the right choice, but that may require using an internal drive.
I just did some testing in the past hour or so and did a portable install from scratch using the Fedora Workstation 39 iso. I’m not exactly sure what your hardware detection issue would have been, but I can say that Anaconda could detect both a USB flash drive and an external hard drive I had plugged in.
Going with the USB flash drive, I did skip using the automatic partitioning and went for using blivet to do my work. I did format the drive beforehand as I have always had issues with that drive properly accepting various partitioning commands (the installer no exception as tested). I did reserve a partition for a shared storage filesystem, but didn’t actually give it a filesystem here.
In blivet, here is a sample of the kind of partition schema I was talking about (something that might be helpful to OP or anyone else that wants to try this setup):
I was able to then complete the install as normal and boot into the finished USB drive. I noted a small non-fatal complaint from grub on boot, but I imagine this is fixed with updating the system. All systemd units boot without failure and I am able to get the system working with minimal issue. The only real issue I could note is that the installation is very sluggish (due to it being on a flash drive rather than an external ssd or some other more suitable media). After booting, I then opened Disks and added the missing exfat (or NTFS) filesystem I reserved a partition for. The reason I didn’t do this in blivet during install is because the option doesn’t actually exist to make an exfat fs in the tool.
Hopefully, this comment is helpful toward getting such a setup working.
EDIT:
Something I did notice with GRUB on Fedora Workstation 39 is that by default, the menu will not show unless pressing escape on boot. There is a useful AskUbuntu post that explains in detail how to access the grub menu and how to change it to behave in a better fashion for a multiboot system.
Thanks for trying it out on your own system!
In my case, the problem was that the disk never showed up in the Fedora installer. I’ve quickly reproduced the issue in a VM (but I originally noticed it on bare metal):
As you can see in fdisk, the disk (/dev/sda) has been recognized correctly by the kernel and works as expected. But somehow the installer only shows the “internal” /dev/vda.
After some further investigation, this seems to be related to the specific USB drives. I tried three different ones. It failed on a USB stick and the original external NVME enclosure. However, it did accept my USB to SATA adapter. So I guess I could install Fedora on my 10-year old HDD… 😐
You can install to a USB mounted SSD like a normal system by using a liveUSB and installing to the SSD. That’s how you get a portable install with persistence. I actually run my raspberry pi home server this way; it runs entirely off a USB SSD with Fedora Server. It works just as well as an internal install, minus the bandwidth lost from it being in a USB enclosure. I’m not sure about getting Tails on the same drive, I’ve never tried to put an ISO on a drive with an OS installed. Tails is meant to be run on a USB drive, so it doesn’t have an installer. ISO images have their own boot partitions, so while I’m sure you could decompress it, move files manually, and fix the holes created from removing the files from the ISO, that would be very complicated and technical, and have a high probability of failure. I believe you can run Tails in a VM, though the liveUSB is definitely the preferred method. Everything in the VM will connect through Tor just like it would if you used the liveUSB.
Did you do anything special to install Fedora it on the USB drive? I couldn’t get it to do that and would be interested in testing F40 that way.
This should work, though I believe I used a different method when I first installed it a few years ago. I had to copy the firmware to the boot partition, but I believe that should be done for you so long as you use the imager that is linked in the Fedora article. If you’re on Windows, you won’t have to use the command line as the Fedora article suggests. After downloading the image, so long as you have 7zip, you can just right click and extract. Then just follow the Raspberry Pi instructions they link for using the Raspberry Pi imager. Fedora 40 comes out on Tuesday, and I highly recommend you use Fedora Server, because Raspberry Pi devices are not well suited to running desktop environments. They are meant mostly to run headless (no graphical interface, only a terminal). If you just want to try out Fedora 40 for the desktop experience, I recommend using a VM, because the Raspberry Pi will not give you a good desktop experience.
I think you still don’t need ventoy for that task. Ventoy is useful when you want to be able to quickly add new bootable systems and update the live images by just replacing ISO files. Basically it’s handy for installers and duag tools, and tails on the pendrive, but that’s it.
For a long living system I think you want an actually installed operating system, with a regular boot loader. Grub, refind, systems-boot, whatever. Or at least I definitely would go that way.
Also, I have read in a guide on the Mint forum that the thing that is called “persistence” is confusingly just a very old, hacky and bad way of adding persistence to a live, portable system, and you don’t actually want that when you want to keep your files and settings that you have made.
Suggestion :
- Use Tails like it was meant to be : from a USB stick only, with persistent storage.
- Install Fedora on your computer.
- Use Ventoy one time as live Linux for installation start help and then stored safely in the back of your closet. For a beginning Linux user it makes sense to avoid dual-boot configurations. Hope it works out fine!
• I explicitly wanted to not have yet another USB. I still think Whonix will work will be enough for what I need :) • Can’t fully commit to Linux yet. I still need Windows for work. • Thank you for the advice :)
TL;DR: Install Fedora from a liveUSB, as recommended in all the official documents and guides. If you have a secure boot issue, it’s likely because you installed from a VM. VMs run in BIOS mode by default, so the Fedora installer would install to your SSD without UEFI secure boot compatibility.
It seems like you may be overcomplicating things here. Why install to your SSD from a VM? Why not just make a liveUSB, boot into that, and then install to the SSD? That’s the recommended install method, and is far less error prone. The UEFI error you linked is resolved in Fedora 40 (which releases on the 23rd), but I highly doubt that was your issue, it seems like quite the long shot. Additionally, you do not need a swap partition (swapfiles have been standard for a long time), and honestly I’d just recommend you stick to the default partitioning scheme if you aren’t already comfortable in Linux. Less room for error that way.
If you believe secure boot to be an issue (like you seem to based on the issue you linked), then you should know that VMs all run in BIOS mode by default, not UEFI, so installing from a VM will not install with UEFI secure boot compatibility (hence why you should use the recommended method of booting from a liveUSB). This is why I don’t believe the issue you linked is related, as if secure boot were the problem, than the issue is the fact that you’re installing from a VM, since the VM will only know that it was booted in BIOS mode and do a BIOS mode install with no UEFI secure boot compatibility.
Tails is meant to boot from a USB drive, it is not meant to be installed on your system, so I’m not sure why you wanted to partition for it. I’m not even sure that it has an installer, because all the official documents and guides only talk about using a liveUSB (how it’s intended to be used).
I’m a bit confused why you chose to go this route to installing Fedora, as I’ve never seen a guide or any official documentation recommend a setup like this. Any guide you find online should tell you to use a liveUSB for installation, and that’s by far the easiest way. So I don’t quite understand the complaint about how “difficult” Linux is to install for the average user when you aren’t following any official way to install it. The “hoops” you jumped through all seem to be self-imposed. If you are actually experiencing a hardware-related issue, then the next step would be to try a different distro, but you need to try an official installation method before that, because that’s most likely your issue. Again, if secure boot is the issue, then you will experience the same thing from any other distro if you try to install it from a VM. That simply won’t work.
Fedora’s official documentation has you go to this page to download the Fedora Media Writer for Windows (an alternative to Rufus/Ventoy that will automatically download the Fedora ISO for you). You run that .exe in Windows with a USB flash drive plugged in, and it’s self-explanatory. Then you boot into the liveUSB you created (you may have to go into your BIOS and enable USB booting), and follow the installer steps. I suggest you wait until Fedora 40 releases on Tuesday, as it’s less than a week away. If by some long shot that issue you linked was in any way related, it is fixed in Fedora 40. No need to rush things. Just follow the official installation instructions, don’t go off on your own, and see if it works. If it doesn’t, you have a hardware issue and you can try to install something like Debian to see if it has the same hardware issues.
I’ll wait till Tuesday. Thank you for the heads up! The reason I choose to use a VM over a live USB is because I just don’t have another 16GB USB lying around that works for Linux. I honestly didn’t know that the ISO in the VM would behave so differently. Is that simply a limitation of the Distro or is this intentional?
It’s a limitation of the VM, unless you take extra special steps to configure it to use UEFI.
I am tempted to say I would try to configure that but looking at the (rightful) backlash I got so far I will stay away from that for now.
If secure boot is the only issue with installing from a VM, then there’s a good chance you could get it to work. The problem is that this is a very untested method, and there’s a very reasonable probability that there could be more issues than just that. The only problem I personally know about is UEFI secure boot mode, but I only have a small amount of experience with VMs, so you’d be doing that at your own risk.
You could use a burnable DVD (not a CD, it’s too small) if you have that option. Also, you only need a 2GB flash drive, just in case you were excluding something because you thought it was too small. But buying a small capacity flash drive is pretty cheap nowadays, you don’t need anything fancy. I’m seeing 128GB flash drives for $13 and 64GB for $8 on Amazon. You can probably get one for cheaper at a grocery store or electronics store. They’re really handy to have laying around. The liveUSB is definitely the easiest method, and it’s pretty much the only tested method, so if it’s an option for you, that’s what I’d recommend.
Back in October I bought myself a new shiny SSD to finally make the first step of leaving behind Windows.
Neat.
I settled on Fedora after being fed up with using Ubuntu in the past and feeling not close to technically skilled enough to use Arch.
That’s fair.
The original plan was to have the SSD hold multiple Linux OS as well as a common storage that can be accessed from Windows as well as these distros.
Um. multiple Linux OS’s?
I choose Ventoy … Well chose is a strong word. It’s the only software for dual booting that still seems to be maintained.
Wait… What?
I installed Ubuntu before from a VM to USB Sticks for school, I can do the same with Fedora. I’m basically already on the finishing straight”
Using VMs to what? Why?
begins to blame Linux
My friend - you took the hard path here for somebody not “technical enough for Arch”. Dual-booting is tricky to begin with nevermind doing so with Windows and external media involved. I don’t know why you were even messing around with Ventoy or VMs to begin with. What problem were they solving? Why not use the LiveUSB installer?
Um. multiple Linux OS’s?
I fcked up with the terminology there. Should be Distro’s 🙈
Using VMs to what? Why?
I thought I could take the ISO, run it as a live media from the VM and then install the Distro onto the SSD using the media creation tool that pop’s up first thing after starting it. That’s at least how I remembered doing it back in the day for the Ubuntu sticks I created back in school
My friend - you took the hard path here for somebody not “technical enough for Arch”. Dual-booting is tricky to begin with nevermind doing so with Windows and external media involved.
When I started in October I had the innocent belief I could just read through the documentation and I could get it to work.
I fcked up with the terminology there. Should be Distro’s 🙈
No - I was reacting to going from “Fedora” to “More than one distro”. Scope creep…
I thought I could take the ISO, run it as a live media from the VM and then install the Distro onto the SSD using the media creation tool that pop’s up first thing after starting it. That’s at least how I remembered doing it back in the day for the Ubuntu sticks I created back in school
Did you even try just booting the ISO directly? Why involve a VM at all? The VM will likely use different boot methods than your computer. If it uses a BIOS and you have UEFI then that’s just doomed.
When I started in October I had the innocent belief I could just read through the documentation and I could get it to work.
Did you though? What instructions began with “Install VirtualBox”?
Did you though? What instructions began with “Install VirtualBox”?
None 🙈 I just assumed I could replace the USB I would need for a live media.
Did you even try just booting the ISO directly?
I was under the impression just slapping the ISO onto the USB and trying to run from the boot menu selector would not work.
You can’t copy the iso on if that’s what you mean, but yes, you just flash the iso onto a USB just like windows. Also, were you installing on an internal ssd or did you want a live bootable stick?
I was installing on an external ssd. So basically a live bootable ssd
Just a quick thought. These days you can create a special partition in the first part of your drive and just boot from it. No grub, no config really. You might want to take a look at EFI and an EFI system partition perhaps?
Well I was thinking I was doing it when I installed Fedora through the Fedora Media writer 😅 The Grub rabbit hole really just came after I tried to figure out how I could get that boot option to work that Ventoy required
The fedora media writer creates installation media… you still need to actually install it. Ventoy is also for booting installation media or a live system.
To be fair, most users are just gonna go the new user route. Download the Fedora media writer, set it to download and flash Fedora, boot to the stick and install.
I was a decent ways into my Linux experience before I learnt about Ventoy, but I don’t use it as I prefer flashing a whole ISO. There’s no hand-holding once you leave Mac or Windows, so you have to count points of failure yourself, Ventoy wasn’t worth it.
I suggest you take the normal new user path, and after that start trying things. Learn to walk before you try running :)
running ventoy on a portable ssd is so wacky lol, I love it
really hope you can get this to work
Don’t think you need ventoy features, install fedora in a suitable partition, install your next os afterwards in another partition and don’t install grub, boot back into fedora, update grub, it’ll find the new os and give you a list to boot from on startup.
Why did you choose ventoy?
The SSD is external and I wanted to boot into multiple Linux Distros. It seems like Ventoy is the only one to allow me that without relying on the windows bootloader on my laptop
An EFI system partition on the SSD can be shared by multiple distributions. A single grub instance on that EFI system partition can boot multiple distributions. Ventoy is really not meant for what you’re trying to use it for.
You are lost, you use ventoy on a seperate usb. Then you can install whatever distro on your portable ssd. You can install multiple as long as your partition things well. It’s not that difficult. You could have asked here instead of going on a rollercoaster of weird self-imposed problems.
So I assumed the SSD was internal but it is external and there is also a Windows installation involved (Apologies for not reading your long post slowly and carefully). I have a whole bunch of USB sticks here. One has Ventoy with several Linux iso files on them. A few others are for BSD or something else. I’d like to suggest once again to buy another small USB stick and use Tails on that to learn some more Linux while everything else is still safe. Easy peasy and no rocket science involved 🙂 Then later figure out the Windows/Fedora dual boot.