Many new features now available including 2-Factor authentication

Can you store virtual machines on a USB device?

Started by Helen Pixels, February 28, 2022, 09:35:58 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Helen Pixels

Obviously I know I have to install virtualbox onto my computer, but is it possible to actually store the virtual computers themselves onto a USB device? I ask because the SSD by new computer came with is only 128GB, and a substantial portion of that is taken up by Windows 10 itself and some apps I've downloaded. So, with just under 90GB left, I want to minimize cluttering up the SSD too much, as you know, Windows needs A LOT of room to function optimally. The USB device in question is 2TB and will have more than enough room. I want to make a virtual computer for Linux Mint, but lack of enough space isn't fair to either the host or guest OS (I want to give Mint 500GB or so to play with). I also want to avoid if possible the virtual machines being synced to microsoft onedrive, as I only have the free 5GB storage that microsoft gives to everyone. I want to avoid having to pay for extra if I can use the ample storage I already have on the USB stick.

It is something I want to do while I repair my old laptop. It looks like it needs a new bios chip, a new hard drive, and I also want to expand the RAM eventually too, because 4GB isn't really optimal these days, and I don't want to contribute to generating e-waste by not at least attempting to repair it and make use of it as a second family computer. If I can't fix it, I'll sell it on as a non-working laptop for spare parts for someone else to use and buy myself a secondhand one in working condition for Linux Mint, upgrading where possible and necessary. I absolutely hated being computerless, and one way of ensuring against that is making sure that I have two working machines at any one time.

Rich J

Apparently so, though there would possibly be a speed penalty as a USB's read/write capability is way slower than that of a HDD.  Also, if memory serves, USB's read/writes have limited capacity as well as the danger of corruption if they become disconnected whilst in use.  A Google search will bring up lots of info on this  ;)


Perhaps it would be easier to use say a 1TB external USB drive, and install the Linux system on it with its OWN boot loader on the  external drive. Then plug in USB and use Linus, unplug USB and use windows.
PS all my machines operate this way, as Windows is only used for updating windows or for teaching others, all my stuff is done on the external Linux drive.

Mad Penguin

Hi Helen .. technically "yes", however the question "is this wise" is not so clear cut. What sort of technology does your USB device employ, is it literally a cheap flash stick (which could have a write cycle limit as low as 500, or SSD/NVRam in which case it could be up over 1M?). If it's a low end device (in terms of write cycles) then you might be chancing your arm a little if you put something that's relatively write-intensive (like a VM) on it.

If it's a device that's less likely to wear out in a hurry, it might depend on what sort of USB interface your computer has in terms of speed. It's it's a relatively recent PC it's likely to be USB2, 3 or 3.1. If it's USB2 then it will work, but it's going to be pretty slow, my experience of a VM on USB2 is a read/write rate of ~ 25M/sec (as opposed to ~200M/sec on a regular hard drive)

I'm running a USB NVRAM root on my Raspberry Pi 400, although the NVRAM is in theory capable of 2G/sec, the USB 3.0 is limiting throughput to ~ 280M/sec, which is sort of fast HDD speed in terms of throughput and you also get some benefit from the NVRAM's reduced latency. My expectation is that running a VM on this would be fine in terms of general performance.

If you have USB 3.1 on your machine, and if your device is 3.1 compatible, my expectation is (I've not tried it) that you should get more like 500-600Mb/sec, which should be up in "better than SSD" territory ...

Only other thing to watch out for is inadvertently unplugging it while the VM is running ...  ;)