@cereberus
Yes -- easily nothing should be touched on your primary drive.
1) Create a Linux partition on 2nd drive with EFI (GPT)
2) install your linux system to that disk
Note: try and avoid using "Automated" installs as you' get problems assigning the partitions properly and it's a mess if everything on root under '/
I'd suggest somthing like this EFI partition (/dev/sdb1) FAT32 100 MB
Root partition ( /dev /sdb2 - size say 10 GB - depends on what you want to install -- if a desktop GUI then 20 GB should be well more than enough)
Home partition for user data etc /dev/sdb3
Swap file /dev/sdb4 - small one say 3GB
3) Once base system installed you need to install the GRUB boot loader properly on to the correct EFI partition
so on the root you've got /boot . Make a new directory --mkdir /boot/efi. Now mount the EFI partition to it -- mount /dev/sda1 /boot/efi.
4) Install grub --- different distros have essentially similar commands but check for the exact one you are using
in ArchLinux (and similar) it's : grub-install --target=x86_64-efi --bootloader-id ANYNAME --efi-directory=/boot/efi
you also have to "configure" grub -- usually grub-mkconfig -o /boot/grub/grub.cfg.
Reboot and you should see in your bios boot menu the 2 EFI entries -- one your normal Windows one and the other --EFI file ANYNAME.
You should also install SAMBA for networking shares and if you need Windows SMB1 then in the samba config set min protocol to NT2 !!!.
Q.E.D
I'd suggest ARCH LINUX although command line driven it's actaully very easy and doesn't hose things up via "automated" settings.
Use this as a guide :
Learn how to install Arch Linux. This guide explains the process step-by-step and includes configuration tips.
phoenixnap.com
You can have /home included in the main partition but I prefer a separate one -- so at the genfstab stage make sure /home is mounted on /mnt.
Don't forget to add yourself also to the "Super users" (sudo / su) as well.
Install virtual machine manager etc. Use the virtmanager GUI
KVM stands for Kernel-based Virtual Machine. This software allows users to run multiple virtual machines with different operating systems, thus bypassing the need to follow more conventional means of using Virtualbox. This article shows you how to install and configure KVM on your ArchLinux system.
linuxhint.com
Note for Host / Guest communication you need a little trick to avoid complex networking issues :
This works :
1) create an Isolated network on the Host say in any directory for example /tmp/isolated.xml (XML file) and give it a fixed IP address e.g as shown. (Use any decent text editor to create the XML file - you don't need a special XML editor --Windows Notepad is fine too.)
In the example I've defined my network with the name isolated and the file is on /tmp.isolated.xml (note to create an empty file in Linux simply use the command touch e.g touch /tmp/isolated.xml - now you can edit it).
<network>
<name>isolated</name>
<ip address="192.168.254.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.254.2" end="192.168.254.254"/>
</dhcp>
</ip>
</network>
2) Define it to the Host system : sudo virsh net-define /tmp/isolated.xml
3) Start it : sudo virsh net-start isolated
4) to start automatically at HOST boot : sudo virsh net-autostart isolated
you should see console message : Network isolated marked as autostarted
5) restart the libvirtd service. (sudo systemctl restart libvirtd) -- to automatically start the libvirtd service at HOST boot : sudo systemctl enable libvirtd)
6)Now for the NICS for the VM in the VM config file -- nic 1 as <nic inteface e.g ethx or empxx or whatever>:macvtap source mode bridge, and the second one as Virtual network <name --in my case isolated> device model virtio -- you can use any hardware for the model - I'm using the paravirtualised stuff for windows VM's on the downloadable winvirtio iso from fedora site -- works with other distros without issue.
7) start guest -- For guest access to the HOST the address will be fixed at 192.168.254.1 (note that's not the HOST's real IP address which is accessible as normal by rest of your LAN).
For a GUI for your Linux desktop I'd suggest KDE although the example uses GNOME -- there's a load of choices. I'd leave UBUNTU out though --there's a few problems with a) maual installing and b) the wretched TPM, secure boot for Windows 11 VM's and the stupid repos !!!. to install software on Arch / Manjaro --simple -- pacman -S package and for update pacman -Syu.
Again any probs post back !!. (Wireless networking can cause a problem with HOST/GUEST communication but a way round is to have wifi just installled on the guest and access it then just like any other machine. In that case you don't need the "Isolated network". I usually have all this stuff via LAN).
Note also the Windows boot loader can also pick up the 2nd drive - doesn't hose up the windows boot loader -- just scroll through to "use a device" on the Windows boot menu.
Runs win 11 VM's beautifully -- for tpm -- either use real hardware /dev/tpm0 or use the emulated one (IBM) and set the TPM device as V2 emulated - doesnt matterwhether CIS or CRB.
On the guest you can install the windows virtio drivers from the fedora site. They can be quite efficient too - especially for the video . mouse / keyboard driver and probably choose ich9 for sound for the guest.
good luck and have fun. Any probs just post back.
BTW you can have multiple W11 VM systems on the same VM if you use vhdx files for the windows machines. (Obviously not concurrently though) - and when you start the VM you'll get the Windows standard boot screen so you can choose which VM to boot. Saves messing around with a load of vm's - and makes saving easier - just back up the VM's primary file usually something like myvm.imk etc. I've 6 Windows VM's done like that -- one VM disk with 6 vhdx files.
For example on another system : from the VM boot ->
View attachment 53185
Cheers
jimbo