Migrating a persistent USB MX Linux install to a virtual machine

Posted on Jan 7, 2026

After getting my testing machine installed and configured over the last few days, the next step is getting various testing environments loaded. Today I was able to get a full desktop rolling using my persistent USB MX Linux install and transferring it to a virtual machine on this mini PC.

This post is really a love letter to MX Linux. I find so many fun ways to use MX Linux. Every time I have some hair-brained idea I end up using MX Linux and it makes computer time fun.

Last year I wrote a guide on how to install MX Linux to a USB stick and keep persistence. Honestly, it is one of my more popular posts and the one I receive the most email about.

I love this setup. I have this persistent MX Linux configured on a USB NVMe drive that I carry with me and I use it all the time. Most of the time it is for system maintenance and rescues. Rather than booting into a live ISO to fix GRUB or adjust fstab, I’ll boot into this MX Linux drive and do my thing. I also use it to test new (to me) devices since an NVMe over USB-3 feels like a native install.

Today I wanted to setup a desktop VM on the new LAN VPS testing rig and I was (internally) complaining about setting up another desktop. While I sat at my desk I thought, “I wish I could just move this USB MX Linux install to a VM” and it hit me. I can and it is fairly simple using the built-in MX Tools.

I’m not going to go through a full step-by-step, just a brief overview.

  1. Boot into the persistent MX Linux install and create a snapshot using the MX Tools snapshot utility. This tool will create a ISO file of the desktop in the exact state the current install is in. Be sure to save this to a secondary location since we will need to move this snapshot to the VPS server.
  2. Move that snapshot ISO to the VPS testing server and into a location virt-manager can access.
  3. Boot the ISO file in a VM with the appropriate hardware specs. This will launch into the desktop as it was when you created the snapshot.
  4. Use the MX Installer to… Install the ISO to the vda drive in the VM, setting your username and ticking the box to save desktop changes.
  5. Reboot when the installer finishes and your done!

It actually took me longer to get vnc working properly with the VPS rig than it did getting this MX Linux install migrated. I want the ability to see the desktop in the Cockpit viewer and access with a vnc app on various devices. TIL virt-manager auto-selects “localhost” by default, which makes it so I can view in virt-manager but not on anything else.

MX is so awesome and all of these utilities are built into the desktop. You don’t need to install anything extra to install to persistence and create snapshots. Out of the box MX gives you all the tools you need for doing projects like this.

All in all, it went a lot better than I anticipated and I’m happy with the final results.

- - - - -

Did you like this post? Give it an upvote by clicking on the arrows below! Sending me an upvote is like you and I giving each other a high five.

🙏 😎

Thank you for reading! If you would like to comment on this post you can start a conversation on the Fediverse. Message me on Mastodon at @cinimodev@masto.ctms.me. Or, you may email me at blog.discourse904@8alias.com. This is an intentionally masked email address that will be forwarded to the correct inbox.

If you enjoy the random stuff I write here, post to Mastodon, or watch on YouTube, and are feeling generous, I am open to tips of Ko-fi.