← Back to list

Time to raise my KVM!! pt.2

Well my friends, here we are again for the second instalment of the series. This time I won’t be giving you a backstory on my life… oh no…

r3d5ec · 2026-06-05 01:00 · 0 claps · 6.6 min read
#linux #qemu #kvm #virtual-machine #linux-tutorial
Open on Medium ↗
Wiki topics: 🔓 · Open Source

Time to raise my KVM!! pt.2

Well my friends, here we are again for the second instalment of the series. This time I won’t be giving you a backstory on my life… oh no…

This time, we’re going to be diving in on what my initial objective was when I started this journey:

TO BOOT INTO A USB DRIVE WITH AN OPERATING SYSTEM ALREADY INSTALLED ON IT!

Now, you’re probably thinking: “why not just boot it from the BIOS on your main machine?”

Answer: Because I want to be able to go through the drive to get some information without logging out of my main machine.

I already have a good idea on how to get a VM running inside of QEMU+KVM using Virtual Manager, I’ve done it before. As I said in part one, I’ve already done this using VirtualBox. However, I haven’t done it where I boot directly into an external drive and that my friends is the challenge.

So, let’s get a checklist going for what we need:

  • A Flash drive of some sort with an operating system already installed on it. Can also be an external drive or a drive you have in an enclosure, all of these work, pick one.

NOTE: Do yourself a solid and make sure you remember if the drive is encrypted or not and if you remember the bloody password to get into it. You’ll thank me later

  • QEMU+KVM installed using the directions in part one.
  • A lot of time and energy (I almost bashed my head on my desk more than once trying to sort this out).
  • Patience (EASILY the most important item)

As for me, I have enough flash drives, external drives, blah blah blah — laying around to test this. So I found the one I actually wanted to use and got it connected to my machine.

Do keep in mind that we are on Linux here folks, if you’re on Mac or Windows, the commands might be different and if I’m honest, I’ve never even used QEMU+KVM on those operating systems. It’s Linux or dump for me.

Back to our steps, after you connect your drive and verify that you followed what I wrote in part one and/or figured out how to do it on your own, we’re going to need to get the machine actually in Virtual Manager.

I’ve made the mistake of trying to do this without establishing some sort of machine to be viewed in the GUI of Virtual Manager. When I was originally testing this, I did it ALL in the command-line and let me tell you… The results were NOT fun in the slightest. So we’re going to get a basic machine up and going before we tinker around and actually get it to see the USB drive to acess the information we want.

Launch the Virtual Manager GUI. I accomplish this by simply hitting the ‘Windows’ or ‘SUPER’ key on my keyboard to make the app launcher pop up. This might be different on your machine, but this is usually a safe bet. After that I type in “Virtual Manager” and hit enter/return. The result is; I get a window like this:

You’ll notice how I have the first Virtual Machine highlighted. This should also be what you see when you’re in Virtual Manager. That’s just showing you that the virtualisation is being handled by QEMU and that you’re using KVM as the hypervisor. I’ve never actually tried to use something else, so you’ll have to give that a go on your own if you want to see that appear differently. Next we’ll need to add an initial machine.

Select “File >> New Virtual Machine”:

You’ll see a small pop up window.

Select “Manual Install”:

The manual install will let you bypass having to provide installation media for this particular machine. This is important because you’ll be booting from media that already has an operating system installed on it, there’s no real need to offer an image (.iso).

Select “Forward”:

For the next section, it’s best to select “Generic Linux”. I’ll leave it up to you for which version you want to use, in my case, I went with “Generic Linux 2024”. Don’t put too much thought into this, I just started typing “Generic” and then selected the most recent version. I’m not too sure if this has something to do with the Kernel it chooses in the beginning or not, but choosing the most recent version makes the most sense to me.

Select “Forward”:

You’ll be brought to a screen where you can start to configure your memory (RAM) and CPU cores. Do keep in mind that this is going to allocate memory and virtual cores from your host machine. Mine defaulted to a RAM size of 4096 and 2 CPUs.

This is currently measured in Megabytes. So it’s basically 4 Gigabytes of memory in this machine. Which is good to start out with and if you’re someone with pretty low RAM (16GB-), this is already a quarter of your memory that the virtual machine is going to be using. That can and will feel taxing…

Now I happen to have 64GB (Gigabytes) of RAM (memory) in my machine. So offering it a quarter of that (16GB) isn’t too far of a stretch. We just need to hop on our favourite search engine to get an idea of how we want to allocate the actual memory size. Since I’m going with 16GB I found a conversion site and typed in my targeted size and hit “Convert”.

As we see in the image above, we have an output in both decimal and binary. Now I’m using a judgement call here and am going to select the binary option. This can always be adjusted later, but we need to have something in there for now. As for the CPU, I happen to know that I have a 12-Core processor. However in that image, up to 24 virtual cores were possible. I’m not going to do that to my machine, I’ll cry from how slow it’s running and how hot it’s going to get trying to allocate all those resources to this little VM.

Since we’re already in the habit of using a quarter of our resources, I’ll allocate 6 CPUs to this particular VM and then select “Forward”.

Uncheck the box that says “Enable storage for this virtual machine”.

Everything will be greyed out. Don’t panic, you won’t need any storage space allocated for this particular VM as you’re booting from external media that already has an operating system on it. This is just acting as a host to facilitate access to the media. Select “Forward”.

Now we can give a name to our Machine a name. For my example, I’m just going to go with “External Drive Test”.

We can see that there’s a small summary of our initial settings we did back in step 3/5 of our virtual machine creation.

There’s an option for “Customise configuration before install”. We don’t need to worry about that right now, leave it as-is.

I just left default setting under “Network selection”.

Select “Finish”.

Next we’ll prompted with a window asking if we would like to enable the Virtual Network. I know these settings can be adjusted later, I just want to see if we can even boot the VM first. Go ahead and select “Yes”.

We can now see that there is our newly-created virtual machine in the GUI for Virtual Manager.

We should also see a window that looks something like:

This confirms that we are actually able to boot into virtual machine! As we can see, it’s looking for a drive to boot from, but we never gave it anything. This is because we’ll be using the “USB Pass-through” option later.

Alright, this concludes part 2 of this series. Thanks for tuning in! I appreciate any and all feedback!


메타데이터
post_id
b7c299ef4fed
slug
time-to-raise-my-kvm-pt-2-b7c299ef4fed
url
https://medium.com/@r3d5ec/time-to-raise-my-kvm-pt-2-b7c299ef4fed
canonical_url
https://medium.com/@r3d5ec/time-to-raise-my-kvm-pt-2-b7c299ef4fed
author_url
https://medium.com/@r3d5ec
status
ok
fetched_at
2026-06-12 07:40:50