So I'm trying to build a computer around the idea of running Ubuntu 16.04 and running Windows 7 Pro (Then "downgrading" to Windows 10 Pro) on a Virtual Machine. I've even looked into (unsuccessfully) just setting up the Windows 7/10 install on the 2nd hard drive then finding a way to wrap that into a VM and run it from Ubuntu.
*USE* I primarily want to use Ubuntu 16.04. I do a lot of computer diagnostics work as a technician as well as some graphics & audio and it is my preferred environment to work with. I also do play games, though not extremely hard core and like to play them native on Linux when possible. I just put this rig together and plan to add more drives, etc. later on. I've even considered moving to a PCI-E M.2 drive. Overall when it comes to my data (emails, downloads, ISO's, personal information, etc.) I just don't trust Microsoft with more than I have to give them and want to be able to use this system to limit that while still having access to what I need from them.
As for Windows. I do software development on several platforms. Some of which includes developing games for Windows 10 universal apps (Xbox One/Windows 10).
In a perfect world I'd have a shared drive between the two OS's as well, something like FAT32 that I can swap files around if I can't get drag n' drop setup. I want to be able to do my graphics editing in Ubuntu, right now to accomplish this I'm storing all of my save files/graphics/music/etc. on Dropbox which is setup on both systems so I can essentially use it like a share drive.
In the end I'd like to have Ubuntu setup as my host OS with Windows 10 as a VM. Due to the software I will be running on Windows 10 I need it to function as much like a fully usable OS as possible. This includes graphics because not only do I need to test the games I'm working on but I also have some Windows based MMO's I'd like to play that are not playable through Wine.
**On a side note, Windows 10 spying was one of the final straws to push me to into no longer running Windows as my primary OS. If there is a way to "limit" Windows ability to connect to do it's spy reporting through the VM's network controller that's something I'm very interested in once I get this system working right.**
So here's what I'm working with, I'll go into what I've tried and my problems I've had at the end:
Motherboard: ASUS Z9PA-D8 (server board)
Processors: 2x Xeon 2670 (C2 Stepping) "SR0KX"
Trying to dedicate 4 cores, 2 threads each - 8 total threds
Primary GPU for Linux EVGA 960 FTW 4GB
Secondary GPU for Windows ASUS Radeon HD7870 2GB
(I am waiting on an RMA for a XFX HD7990 I'd like to switch this to later)
**With ATI hating on Ubuntu 16.04 and nVidia seeming better for Linux drivers all around this seemed like the logical choice.**
Total Ram 64GB DDR3 Samsung 16000
Total amount I'd like to dedicate for "this" VM is 16GB
My Ubuntu installation is on a 512 GB Toshiba SSD.
I want Windows installed on a PNY 480 GB Gaming SSD, I'd like Windows to use the whole SSD not just a partial image on it.
Right now they are on the same controller but I have considered if needed getting a PCI-E to SSD adapter and passing it through as well, not sure if this would be best.
I currently have this system setup dual screen, one monitor plugged into each card. Later when I can figure out how to get Ubuntu to pass audio through HDMI on the 960 FTW then I'll also have that one hooked up to my TV as a secondary monitor.
The current goal is to have one monitor running Ubuntu and the other running Windows
Currently I do have a KVM switch setup so if needed to for hardware I can change my keyboard & mouse between ports. It's not attached to a monitor yet, just makign my same keyboard & mouse occupy seperate ports so if I have to pass through the USB for the mouse/keyboard so I can still use the same one on Ubuntu.
Right now I have QEMU/KVM setup, that's what I've been trying to use.
I also setup Virt Manager (fail) and Libvert.
Been trying most recently to configure it manually, which got me feeling like I got the closest (yet so far away).
So for manual configuration I started here with this video:
https://www.youtube.com/watch?v=w-hOr44oBAI
Which is basically supposed to be an updated version of this guide:
https://www.pugetsystems.com/labs/ar...14-04-KVM-585/
Which references this site for the VM script:
http://ubuntuforums.org/showthread.php?t=2229929&page=2
So doing this manually here's what I can't figure out:
Using DD to create a VM image (as the guide shows) how I can create it to use a dedicated hard drive for the virtual machine?
Apparently somewhere along the lines I've gotten either directories messed up or commands are just wrong. I can't even get this VM to start. I believe my machine is "prepped" but that's about all.
The ATI graphics card & audio are both available to stub. I originally tried and failed to use VIFO and didn't even realize I was using something different until I got to the stub part of the current guide. I have GRUB blacklisting the ATI drivers when I boot if that helps to know (part of attempting a different guide)
When I boot my system now the Ubuntu logo appears on the monitor that is plugged into the ATI card (normally I just would see my script running on that monitor as the VM crashed when I tried to set it up with Virt Manager).
Here's my horrible script that I couldn't make sense out of what I was doing:
-------------------------------------------------------------
-------------------------------------------------------------
I am not sure if I'm so far off or what but I've ended up beating my head on my desk so many times I thought it best to turn to those far more experienced in this sort of setup than I am for help.
*USE* I primarily want to use Ubuntu 16.04. I do a lot of computer diagnostics work as a technician as well as some graphics & audio and it is my preferred environment to work with. I also do play games, though not extremely hard core and like to play them native on Linux when possible. I just put this rig together and plan to add more drives, etc. later on. I've even considered moving to a PCI-E M.2 drive. Overall when it comes to my data (emails, downloads, ISO's, personal information, etc.) I just don't trust Microsoft with more than I have to give them and want to be able to use this system to limit that while still having access to what I need from them.
As for Windows. I do software development on several platforms. Some of which includes developing games for Windows 10 universal apps (Xbox One/Windows 10).
In a perfect world I'd have a shared drive between the two OS's as well, something like FAT32 that I can swap files around if I can't get drag n' drop setup. I want to be able to do my graphics editing in Ubuntu, right now to accomplish this I'm storing all of my save files/graphics/music/etc. on Dropbox which is setup on both systems so I can essentially use it like a share drive.
In the end I'd like to have Ubuntu setup as my host OS with Windows 10 as a VM. Due to the software I will be running on Windows 10 I need it to function as much like a fully usable OS as possible. This includes graphics because not only do I need to test the games I'm working on but I also have some Windows based MMO's I'd like to play that are not playable through Wine.
**On a side note, Windows 10 spying was one of the final straws to push me to into no longer running Windows as my primary OS. If there is a way to "limit" Windows ability to connect to do it's spy reporting through the VM's network controller that's something I'm very interested in once I get this system working right.**
So here's what I'm working with, I'll go into what I've tried and my problems I've had at the end:
Motherboard: ASUS Z9PA-D8 (server board)
Processors: 2x Xeon 2670 (C2 Stepping) "SR0KX"
Trying to dedicate 4 cores, 2 threads each - 8 total threds
Primary GPU for Linux EVGA 960 FTW 4GB
Secondary GPU for Windows ASUS Radeon HD7870 2GB
(I am waiting on an RMA for a XFX HD7990 I'd like to switch this to later)
**With ATI hating on Ubuntu 16.04 and nVidia seeming better for Linux drivers all around this seemed like the logical choice.**
Total Ram 64GB DDR3 Samsung 16000
Total amount I'd like to dedicate for "this" VM is 16GB
My Ubuntu installation is on a 512 GB Toshiba SSD.
I want Windows installed on a PNY 480 GB Gaming SSD, I'd like Windows to use the whole SSD not just a partial image on it.
Right now they are on the same controller but I have considered if needed getting a PCI-E to SSD adapter and passing it through as well, not sure if this would be best.
I currently have this system setup dual screen, one monitor plugged into each card. Later when I can figure out how to get Ubuntu to pass audio through HDMI on the 960 FTW then I'll also have that one hooked up to my TV as a secondary monitor.
The current goal is to have one monitor running Ubuntu and the other running Windows
Currently I do have a KVM switch setup so if needed to for hardware I can change my keyboard & mouse between ports. It's not attached to a monitor yet, just makign my same keyboard & mouse occupy seperate ports so if I have to pass through the USB for the mouse/keyboard so I can still use the same one on Ubuntu.
Right now I have QEMU/KVM setup, that's what I've been trying to use.
I also setup Virt Manager (fail) and Libvert.
Been trying most recently to configure it manually, which got me feeling like I got the closest (yet so far away).
So for manual configuration I started here with this video:
https://www.youtube.com/watch?v=w-hOr44oBAI
Which is basically supposed to be an updated version of this guide:
https://www.pugetsystems.com/labs/ar...14-04-KVM-585/
Which references this site for the VM script:
http://ubuntuforums.org/showthread.php?t=2229929&page=2
So doing this manually here's what I can't figure out:
Using DD to create a VM image (as the guide shows) how I can create it to use a dedicated hard drive for the virtual machine?
Apparently somewhere along the lines I've gotten either directories messed up or commands are just wrong. I can't even get this VM to start. I believe my machine is "prepped" but that's about all.
The ATI graphics card & audio are both available to stub. I originally tried and failed to use VIFO and didn't even realize I was using something different until I got to the stub part of the current guide. I have GRUB blacklisting the ATI drivers when I boot if that helps to know (part of attempting a different guide)
When I boot my system now the Ubuntu logo appears on the monitor that is plugged into the ATI card (normally I just would see my script running on that monitor as the VM crashed when I tried to set it up with Virt Manager).
Here's my horrible script that I couldn't make sense out of what I was doing:
-------------------------------------------------------------
Code:
#!/bin/bash
configfile=/etc/vfio-pci1.cfg
vfiobind() {
dev="$1"
vendor=$(cat /sys/bus/pci/devices/$dev/vendor)
device=$(cat /sys/bus/pci/devices/$dev/device)
if [ -e /sys/bus/pci/devices/$dev/driver ]; then
echo $dev > /sys/bus/pci/devices/$dev/driver/unbind
fi
echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id
}
modprobe vfio-pci
cat $configfile | while read line;do
echo $line | grep ^# >/dev/null 2>&1 && continue
vfiobind $line
done
sudo qemu-system-x86_64 -enable-kvm -M q35 -m 16384 -cpu host,kvm=off \
-smp 4,sockets=1,cores=4,threads=2 \
-bios /usr/share/seabios/bios.bin -vga none \
#-*USB ADDON I DON'T UNDERSTAND*-usb -device usb-host,hostbus=1,hostaddr=$usb1 -device usb-#host,hostbus=1,hostaddr=$usb4 \
-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \
-device vfio-pci,host=02:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \
-device vfio-pci,host=02:00.1,bus=root.1,addr=00.1 \
-device virtio-scsi-pci,id=scsi \
-drive file=/home/owner/vm/windows1.img,id=disk,format=raw,if none -device scsi-hd,drive=disk \
#-drive file=/home/owner/vm/windows.iso,id=isocd -device ide-cd,bus=ide.1,drive=isocd \
#drive file=/home/owner/Share_Test/Windows_Pro_regular.iso,id=isocd,if=none -device scsi-cd,drive=isocd \
#drive file=/media/weatherman/Storage5/OS_ISOs/Windows_7_Pro.iso,id=isocd,if=none -device scsi-cd,drive=isocd \
-boot menu=on
exit 0
I am not sure if I'm so far off or what but I've ended up beating my head on my desk so many times I thought it best to turn to those far more experienced in this sort of setup than I am for help.