After hours of breaking my head and reading the docs and many articles, I saw better to ask for help.
I need to create a Windows 10 guest with following characteristics:
–Use win10.iso
–attach also win-virtio.iso for the drivers
–arch=x86_64
–os-variant=win10
–memory: balloon 4 - 6 Gb
–no. of cpus=2
–disk: qcow 25 Gb
–graphic driver:qxl (intended for SPICE)
–disk driver: virtio
–network device: virbr0
–network driver: virtio
–boot: uefi
The virt-install command only indicates you’re using libvirt to manage… some virtualization technology.
So, besides identifying the virtualization you’re using,
Did you install virtualization the recommended way by using the YaST “Install Virtualization” module?
If your machine is installed with a GUI, is there some reason why you’d prefer to install by command line instead of using the GUI tools?
You may want to install your VM using the GUI and then modify the VM configuration file for simplicity,
But if you want to install by command line, I hesitate to reference current SUSE/LEAP documentation but here you go…
Or, look up the last SLES11 SP4 virtualization documentation which I consider to be the last published with over 99% accurate information (my estimation). People may know that I’ve heavily criticized virtualization documentation since for mixing up definitions and concepts between Xen and KVM when terminology is often and significantly opposite each other. Skimming the above link quickly, I can see immediately that as expected continues to do this, and mentions options which apply only to Xen and not KVM without saying so. Just saying, you might use the documentation for a fix here or there, and there are some interesting nuggets of valuable information but I would not recommend someone new to virtualization to study it… Maybe less of a problem if the person was learning Xen, but would have to unlearn a large amount of info if learning KVM.
Be aware that using the qemu command involves emulation which works differently than virtualization… virtualization is simply translating a HostOS functionality to a Guest functionality with little ability to modify. Emulation is a virtual device which might not have anything to do with what actually exists in the HostOS, and this is one of the unique features of qemu, to run anything from a particular type of hardware device(like a Cirrus video card which doesn’t likely exist anymore) to an entirely different architecture (like ARM when your hardware is x64).
qemu is therefor not as fast as running a fully paravirtualized KVM or Xen HVM which would be the result if you used native or libvirt commands to launch the VM.
OK,
The LEAP documentation link I provided above also describes how to set up UEFI, but using virt-install, whereupon you can use virsh to launch.
Using qemu is one of those things that’s important to know about, but should be avoided unless you can benefit from it.
At least, that’s the general recommendation… Of course if the slight latency which isn’t as bad as before integration with KVM can be tolerated, then it’s certainly not going to work.
Re-reading my post,
I can see I didn’t word my final sentence well, people may not read it the way I intended…
Meant to say that invoking qemu instead of by other means will result in a slightly slower running VM, but for many today that difference may not be important.
Before integration with KVM, the difference was very, very large but today not so much.
And, it’s not just the bootup, emulation vs virtualization is an ongoing difference when comparing running VMs.
As an alternative you could install virtualbox and create a Windows 10 guest install that way.
I run windows 10 in a Virtualbox - I have a 32 bit and a 64 bit version. You can install it from the Microsoft 1909 image and install the virtualbox extension pack to get usb and uefi support and the guest additions to the virtual machine so that you can have any size window and not have to use the right ctrl key to move the mouse out of the virtual machine.
I created a 64gb virtual drive for 64 bit Windows 10 and a 32gb virtual drive for 32 bit Windows 10.
No issues and no need for special drivers as all are included in VirtualBox.
I agree that installing Win10 as a VBox guest is easy.
And, VBox supports UEFI if that’s what you want (VMware today does not).
But, at least for now we don’t know the @OP’s reasons for
Installing by command line. It’s useful if setting up a number of machines and may be necessary for a remote install, but if simply creating a single machine even as a Golden instance, a GUI typically makes things easy in any virtualization technology.
UEFI can be unstable, or at least I’ve found that to be the case. Works for awhile, maybe not forever. And, there’s no need to ever install a Guest using UEFI, there’s no problem installing a Guest with MBR on any HostOS that boots UEFI (because all hypervisor based virtualization uses its own virtual BIOS and virtualized disk layout). I’ve mainly used the UEFI option to explore and experiment, but don’t use it for my important VMs in the interest of the KISS principle.