Using VM's in GnuLinux

I've been having trouble with getting any VM to work well so far on my new PC. I'll maybe start a thread on that when I have a little more time, I can't look at it right now.
Incredibly slow, like 10 minutes to open a zip file in VM Windows compared to 10 seconds normally. In Boxes, virt-man and QEMU. I wonder if its kernel related as this processor was only supported recently.

For me its also the discovery that my pro audio interface doesn't speak Linux. I'm happy to keep the Win10 PC going as-is until its time for replacing that hardware.

</thread diversion>

Well here is a solution or rather workaround. Use virt-manager, then with VM loaded, have a large capacity thumb drive present and view Details of VM. Add USB host device. Remember, if you add a thumb drive to the VM and not present when you launch the VM it won't start. Download your .zip file to Zorin, extract with Ark to thumb drive. Launch VM and access extracted files that way. When I was running Devuan, as I disconnected the VM, the USB was picked up instantly on host OS.

Returning to Topic I remember the School had the Adobe Suite and I abhorred it compared to PaintShop Pro. I only launched it once and you have to create a canvas whereas in PaintShop Pro it was already there, just like GIMP and Inkscape. I am aware that professionals need things like Pantone etc for exact colour matching. I also felt the menus were hard to read even on a decent monitor.
Affinity was adopted by a Company, In Design which used all three products, Photo, Designer, Publisher because the workflow is so much better than Adobe's. Such a shame they won't do a GNU/Linux version, and their pricing cannot be beaten.

Thanks, I appreciate the reply. However, its not the zip file itself, I was using that as a test of performance. Everything in the VM is going at that critically ill speed. I don't have the time to look into it right now, so I'll start a thread on it later if I may.

Sure. My first thoughts were how many cores and RAM did you allocate?

Hi,
10 of 14 cores (I have tried between 4-10)
10096MB of 15300 available

Intel® Core™ Ultra 5 125U × 14

Can this be split to a new thread so as not to derail?

1 Like

Wish granted.

1 Like

It’s weird when everything is slower than expected, especially with a new setup. Maybe there’s a compatibility issue with the processor, like you said. As for the audio interface, yeah, Linux support can be tricky with certain hardware. I’m also sticking to my old setup for now until I need to make the switch.

Wait I missed something. You have Linux host and Windows guest? What are you using the vm for?

I wanted to see if I could run Affinity Photo and MS Visual Studio well enough to do my main work in them. I would maybe need a more powerful machine?

I have several legacy .NET clients (v4.8) which I use Visual Studio for. I don't think its possible to do this in Linux due to the libraries required.

Affinity Photo is partly for work and partly my own photographic work. At least until I work out a satisfactory workflow in Linux.

Did I read your storage space correctly, between 10 and 15 Gb? That is going to be way too small. I remember it was always recommended that XP should have 40 Gb.
Windows 11 VM requires 64 Gb, so I expect 10 should have at least 50 Gb of space.

Ok gotcha, a Windows VM that you could do your work in. What version of Windows do you need?

No, I have 64GB currently set.
Its the RAM that is set to use 10 , from the available 15.3 (I have 16GB installed)

Windows 10 preferably

Have you tried? I'm not saying for certain that it'll work, but Bottles' dependency installer, when filtered by "dot" includes:

4.8 is in that list.

Thanks! But... I think thats more for installing that library for windows programmes which depend upon it?

Its not just the .NET library - its the IDE to work with it. Visual Studio support is currently rated as 'garbage' in Wine HQ.

There are Linux IDEs for .NET (ie Jetbrains Rider, arguably a much better tool than Visual Studio), but this only supports more recent .NET versions, and expensive. At this stage of the projects I need to support, its not worth my buying into a different editor system.

It is a big ask - Visual Studio is a big brute of a thing, completely tied into Windows, coding Microsoft's C#... I wish I'd known better what I was getting into many years ago! Its not an elegant software, and is full of bugs - but its my main work environment, so...

Yeah, I work with Visual Studio on very rare occasions, to a limited extent: pulling a value out of a specific variable at a specific breakpoint, getting callstacks out of dumps, running something after making modifications following very specific instructions, and "load project, hit compile." I'm definitely not a programmer. The reason I thought it might work was that you'd said you "have several legacy .NET clients," which could mean you have client applications you need to run, written in .NET, or that some business clients of yours use .NET. I wouldn't have suggested it if I realized you need to run VS itself. Sorry for the miss!

What about a VHD/x Windows with Ventoy? You can run it off a USB if you don't want to mess with your internal disk or don't have a spare internal drive to play with. The speeds probably won't be as great as your internal one, but I tested it with a 3.2 gen1 USB and USB port and the speeds were not bad at all.

What you need:

  • Windows 10 ISO (not installer)
  • Ventoy (tested with version 1.0.99)
  • The ventoy_vhdboot.img found at the Ventoy link at Windows VHD Boot Plugin (tested with version 3.0)
  • VirtualBox (tested with 7.1.4) or another software capable of creating VHD/VHDX or another Ventoy supported format (please see their documentation for details)
  • Spare, empty, USB at least 62GB (smaller if you can manage to get your Windows VHD with all the apps you need in less space - don't forget you need space for recycle bin....). I tested with 50GB vhd, the base Windows install took 11 something GB leaving me with 34GB pre-updates. I put it on a 62GB USB and have 7.7GB left on the USB (from it and the Ventoy EFI stuff and of course 30GB or so left in the Windows.vhd).

Here are the steps I took in my test vs USB. You can change things up by following the Ventoy documentation for different methods (ie using an internal disk) but this will give a loose guide of the process.

  1. Plug in USB. Open ventoy (I did the GUI version) and select the USB. I chose GPT in the option as it made more sense for my pc but search documention if MBR will make more sense for you. If the USB is large enough you can "leave some space" at the end for something else if you need to. Run Ventoy on the USB. This will give you a small EFI ventoy partition in FAT16 and a larger empty ventoy partition in ExFat.

  2. (Possibly optional - there was conflicting information on if you could run Windows from an ExFAT partition.) Open Disks and unmount the ExFAT partition if mounted. Format it to NTFS. There may be a way to make it NTFS when formatting it with Ventoy but I couldn't figure it out. (Hint if anyone decides to do make a Zorin VHD, I did this as EXT4 instead of NTFS and it worked fine - bear in mind that it won't support any Windows VHD so if you want to run both as VHD on the same USB, choose NTFS).

  3. In the newly formatted NTFS partition, create a directory named ventoy.

  4. Extract the ventoy_vhdboot.zip and copy the ventoy_vhdboot.img found in the ventoy_vhdboot/Win10Based directory to your USB NTFS partition in the ventoy directory you made earlier.

  5. Create a VHD (I believe VHDX is supported too, check documentation) the size you need. For my test I created a 50GB VHD. In my test I made it fixed size because the VHD I made for Zorin had to be a fixed size as dynamic is not supported by Ventoy in Linux and I forgot to check if it was supported for Windows. So check documentation, you may be able to do dynamic for Windows. Also, I believe VHDX is supported by Ventoy (for Windows) but I did VHD because I was using VirtualBox. Also make sure to choose what boot makes sense in your situation. Mine was to support EFI.

  6. Install Windows 10 into your VHD from you ISO as per your software instuctions. I chose to disconnect the internet while doing so. For one thing, I did not want to deal with update until I had it running native boot on the USB. I also chose to save mine to a directory on my pc and just copy the resulting .vhd file to the NTFS partition of the USB. You may choose to save it directly to the USB. In either case, after Windows has finished installing and rebooted the first time, click the File Manager and wait for it to finally appear. When it does, Reboot your Windows 10 vm. Once again, click File Manager and wait for it to appear. When it finally does, Shut Down Windows 10. That was for superstition, to make doubly sure it was done doing all the tasks it does on first startup. Copy the .vhd file to the USB if you did not save it there. You may make a directory for it if you want. I tested it by putting it in a Windows directory on the USB.

  7. Reboot your pc. Follow your pc specifications to enter the Boot Menu. Select your USB. Note: Normally I boot Ventoy by selecting UEFI Partition 2. The first time I tried it didn't work and took me back to the Boot Menu. So I selected Partition 1 of the USB. That didn't work and it took me back to the Boot Menu. So I selected USB which generally means my pc has given up and will now boot to legacy - which I thought would be a problem with my GPT USB. But it had me press Enter to boot Ventoy, then I selected the .vhd to boot Windows. It booted fine though I had to change resolution. After that, it lets me choose UEFI USB Partition 2 as normal now. I'm not sure if that initial failure was a glitch because I had reformatted the ExFAT partition to NTFS or because Windows 10 prefers to be on VHDX.

  8. Now you can connect to the internet, let it update, install your apps and set it up. Once you have it set up to the default state you like, you can close it down, reboot to Zorin and copy the .vhd on the USB to overwrite the original .vhd on your pc as a backup.

1 Like

I think if you allocate more than 50% of your RAM, that might prevent the host OS from functioning properly. On bare metal installs, Windows 10 Pro ran happily on 8 Gb RAM on both my offsprings computers. Another option would be to install second graphics card and allocate it to the VM to reduce memory used on graphics. I would also max your cores to 4 (=quad core processor) as Windows 10 will run on a quad core processor (just checked).

1 Like

@swarfendor437 Thanks. I'll experiment further. I have gone through many configurations.

@j_luz Thats not something I had ever thought of. I don't currently have any spare USB sticks, I'll get some in and give it a go.

@Locklear93 No worries! I hadn't fully specified my requirements. Its .NET 4.8 websites for business clients.

I really appreciate the suggestions and knowledge.

Thankfully, USB sticks are cheap to buy now days, its not like the late 90's when they cost an arm and a leg for 128MB. You can get a lot of gig for your money these days.