VM Support | Unraid Docs (2024)

Unraid 6 currently supports the virtualization of nearly any 64-bitoperating system. Not all OSes have been tested, but those that have arelisted on this page.

Microsoft Windows

A few notes on virtualizing Windows on Unraid before you begin:

  • Before activating your Windows license, we highly encourage thoroughtesting of your VM first.
  • Changing the machine type between i440fx and Q35 under advanced modewill prompt Windows for reactivation of the license.
  • Windows 7 and earlier OS variants may not work with host-basedgraphics assignment correctly. Use Windows 8.1 or newer for the bestexperience.
  • If using OVMF, you must use Windows 8 or newer. UEFI is not directlysupported by Windows 7 and therefore, OVMF will not work.

Windows is different from Linux-based guests as it requires the user toload the VirtIO drivers to be able to recognize the virtual devicesprovided by QEMU/KVM. The below list reflects the tested configurationswith various OSes, QEMU machine types, and BIOSes.

Desktops

Version Machine Type(s) BIOS Status

Windows 7 i440fx, Q35 SeaBIOS WorksWindows 8.1 i440fx, Q35 SeaBIOS, OVMF WorksWindows 10 i440fx, Q35 SeaBIOS, OVMF WorksWindows 11* i440fx OVMF-TPM Works

*Windows 11 support is being added to version 6.10.

Servers

Version Machine Type(s) BIOS Status

Windows Server 2008 R2 i440fx, Q35 SeaBIOS WorksWindows Server 2012 R2 i440fx, Q35 SeaBIOS WorksWindows Server 2012 R2 i440fx OVMF WorksWindows Server 2016 TP3 i440fx, Q35 SeaBIOS Not Yet TestedWindows Server 2016 TP3 i440fx OVMF Not Yet Tested

Updating VirtIO Drivers

From time to time, the Fedora project will release new versions of theVirtIOdriverswhich may resolve bugs and improve performance. In some cases, driverupdates may be required for upgrading your Windows OS from one versionto another (e.g. Windows 7/8.1 to Windows 10). To update your drivers,perform the following steps:

1. Download the new drivers from the VM Settings page.

2. Edit your VM from the VMs tab, and under Advanced View, change theVirtIO Drivers ISO path to specify the new drivers you downloaded in theprevious step.

3. Click Update to save the changes.

4. Start your VM.

5. Using Windows Device Manager, you will need to locate each ofthe four VirtIO devices (Ethernet, SCSI Controller, Balloon, andSerial).

6. Right-click on each device and select Update device drivers

7. Specify the root of the VirtIO drivers ISO (typically e:\ ord:\)

8. Let Windows automatically search for and find the new drivers.

Using Hibernation

Hibernation was originally designed as a feature for laptops to allowusers to maintain a system's state without consuming power. Thisbasically involved dumping the RAM of the system to local storage andthen powering down the system. Then when the system powers back on,instead of going through a normal Windows boot process, the system wouldsimply restore the saved state from hibernation. With VMs, hibernationis a useful way to save the state of a VM when you need to either powerdown or reboot the host. In order to make correct use of hibernation,you must first do two things.

Install the QEMU Guest Agent

To install the guest agent, perform the following steps:

1. Boot your VM up with the VirtIO drivers ISO set.

2. Open File Explorer in Windows and navigate to the VirtIO Driversmedia.

3. Open the guest-agent folder.

4. Double-click the file qemu-ga-x64 to install the guest agent.

There is no confirmation when complete, but a command box may appearbriefly while it's installing.

Enable Hibernation in Windows

To enable hibernation support in Windows, perform the following steps:

1. Open up the Windows Control Panel.

2. Search for Power Options.

3. Click Change what the power buttons do

4. Click Change settings that are currently unavailable

5. Enable the checkbox for Hibernate

6. Click Save changes

Performance Tuning

After the installation of a Windows VM, there are several things you cando to optimize your VM's performance and flexibility. None of these arerequired, but should you run into performance issues with your WindowsVMs, following these guides may improve things for you.

Disable Fast Startup

Fast Startup is a feature introduced with Windows 8 that can improveboot times on physical PCs. However, as a VM, this can cause problemswhen initializing hardware after shut down (this can especially be trueif you are assigning physical devices to virtual machines). It is forthese reasons we highly encourage users to set their power managementsettings to High-performance mode.

1)OpenuptheControl PanelforWindowsandinthetop-rightsearchbox,type"power"tosearchforthepowersettingscontrols,thenclickonChange what the power buttons do:

VM Support | Unraid Docs (1)

2)ClicktheChange settings that are currently unavailablelinknearthetopofthenextwindow:

VM Support | Unraid Docs (2)

3)UncheckTurn on fast startupfromundertheShutdown settingssection:

VM Support | Unraid Docs (3)

Disable Hiberfil.sys

Even with fast startup disabled, technically the system is still able to"hibernate" as a user-controllable function. Hibernation suspends theWindows OS to RAM so that on resume, the entire system state returns asit was. The trade-off, however, is that a hidden file calledHiberfil.sys will be created on the root of your C:\ drive that cantake up a massive amount of space and generate lots of disk IO activity.By disabling hibernation as a feature entirely, you can reclaim many GBof space on your virtual disk and reduce overhead relating to disk IOinside the VM.

1)OpenaWindowscommandpromptasanadministratorandenterthiscommand:powercfg -h off

2)RebootyourVMandthehiberfil.sysfileshouldnolongerremain(thisstepmaynotbenecessaryforcertainversionsofWindows).

Disable Windows Indexing

The Windows indexing service (aka Windows Search) can cause unnecessarydisk IO inside your VM. To improve overall VM performance, it isrecommended to disable this service from running in Windows.

1)OpenaRunwindowandtypeservices.mscinside,thenpressEnter:

VM Support | Unraid Docs (4)

2)Right-clicktheWindows SearchservicefromthenextwindowandthenclickStop:

VM Support | Unraid Docs (5)

3)Double-clicktheWindows Searchitemfromthelistandinthenextwindow,changetheStartup typetoDisabled:

VM Support | Unraid Docs (6)

Disable Automatic Disk Defragmenting

If the Windows disk defragmenter is set to automatically run on aschedule, you should disable it. This is not necessary for VMs and cancause unnecessary wear and tear on your physical storage devices.

1)UseWindowsExplorertobrowsetowhereyoucanseetheC:\drive,thenright-clickonthedeviceandselectProperties:

VM Support | Unraid Docs (7)

2)ClickontheToolstabatthetop,thenclickOptimize:

VM Support | Unraid Docs (8)

3)ClickontheChange settingsbutton:

VM Support | Unraid Docs (9)

4)UncheckRun on a schedulefromthenextwindow:

VM Support | Unraid Docs (10)

Enable High Performance Power Mode

Because Windows is a virtual machine, there is little to no benefit inleveraging its power management features. In fact, these features canmake using VMs more difficult, as it requires another device to thenaccess the webGui to resume a VM that was suspended due to a period ofinactivity.

1)OpenuptheControl PanelforWindowsandinthetop-rightsearchbox,type"power"tosearchforthepowersettingscontrols,thenselectChoose a power plan:

VM Support | Unraid Docs (11)

2)SelectHigh performancefromtheoptionsavailableunderPreferred plans:

VM Support | Unraid Docs (12)

Enable Remote Desktop Access

NOTE: YOUR USER ACCOUNT MUST HAVE A PASSWORD SET IN ORDER TO CONNECT TOYOUR VM USING RDP.

If you wish to interact with your VM from another device, you have tworemote graphics protocols at your disposal with Unraid 6: VNC and RDP.RDP offers performance improvements over VNC but requires you to enableit from within the VM before you can use it. It also requires you tohave a valid RDPclientinstalled on the device you wish to use to connect to your VM(officially supported clients from Microsoft work on Android, iOS, MacOS X, and Windows). You will also need to be using Windows Professionaledition (the Home edition does not include this feature). To enable RDPaccess to your VM, perform the following steps through VNC or locallyusing GPU pass through:

1)OpentheSystempanelbyright-clickingontheWindowsstartbuttoninthelower-rightcornerofyourdesktop.

VM Support | Unraid Docs (13)

2)ClickonRemote settings

VM Support | Unraid Docs (14)

3)ClickonAllow remote connections to this computerandclickOK.

VM Support | Unraid Docs (15)

4)YoucannowconnectusingaMicrosoftRDPclient,butyouwillneedtoconnecttotheIPaddressofthevirtualmachine,not Unraid itself.

Enable MSI for Interrupts to Fix HDMI Audio Support

If you are assigning a graphics device to your Windows guest that usesan HDMI connection and you wish to push audio through that connection,you may need to perform a registry modification in Windows to ensurethe audio driver remains working properly (this is most prevalent withNVIDIA devices). For a comprehensive explanation of MSI and VFIOinterrupts, you can visit Alex Williamson'sblog1.Here's the procedure for doing this:

  • Shut down your VM and make a copy of your virtual disk beforeproceeding (as a backup).
  • Start your VM with the GPU device assigned.
  • Access your server using SSH or telnet.
  • For the device you wish to assign, locate its PCI address identifier(this can be found when selecting the device from within the VMcreation tool)
  • From the command line, type the following: lspci -v -s 1:00.0(replace 1:00.0 with your GPU device)
  • Look for a line that looks like this:Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+

If the Enable setting is set to +, that means your device claimsit is MSI capable and it is enabled by the guest VM that is using it. Ifyou cannot find a line that mentions MSI as a capability, it means yourdevice does not support this. If the Enable setting is set to -,this means your device claims it is MSI capable, but that the guest VMis NOT using it. The procedure for enabling MSI support from Windows isdocumented here: http://forums.guru3d.com/showthread.php?t=378044

Upgrading a VM to Windows 10

If you have a Windows 7 or 8.1 virtual machine and wish to upgrade toWindows 10, there are some special considerations. This guide willassist you in making the upgrade process as painless as possible.

Do NOT Use the Upgrade Assistant

VM Support | Unraid Docs (16)Microsoft'swebsite suggests that if you want to upgrade to Windows 10, use theupgrade assistant in the bottom right corner to perform your upgrade.This is known to be buggy and potentially cause issues (even ontraditional Windows PCs). The preferred mechanism to upgrade is todownload the Windows 10 ISO directly and attach it to your virtualmachine, then use that to perform the upgrade itself.

Upgrade VirtIO Drivers to 0.1.109 or later

If you used the 0.1.102 drivers for your Windows 7 or 8.1 VM, you willwant to upgrade these drivers to 0.1.109 or later before performing theupgrade. The process to update the drivers is locatedhere:

Obtaining the Installation Media

The process for obtaining Windows 10 installation media for the purposeof an upgrade is the same as it is for performing a new installation.Visit this page todownload the installation media. If given an option, make sure youselect ISO. Once the download is finished, make sure you copy theISO to the ISOs share on your server.

Performing the Upgrade

With your VM powered off, edit the VM and perform the following steps:

1. Reduce the number of CPUs assigned to only 1.VM Support | Unraid Docs (17)

2. Change the OS Install ISO field to point to the Windows 10installation media you downloaded earlier.VM Support | Unraid Docs (18)

3. Click Update.

4. Start your VM.

5. Browse to the installation media using File Explorer and launch thesetup wizard.

6. Follow the on-screen prompts to complete the upgrade process.

7. Once completed, you can shutdown and edit the VM, increasing thenumber of CPUs assigned as desired.

Upgrading a VM to Windows 11

If you have a Windows 10 VM that you want to upgrade to Windows 11,there are a number of steps to ensure the upgrade process completessuccessfully. First and foremost, perform the following steps:

  • Create a backup of your Windows VM.
  • Upgrade Unraid OS to release 6.10-rc2 or later.

The next step will be to add TPM support to your VM. To do this, performthe following steps:

  • Shut down your Windows 10 VM.
  • Edit your Windows 10 VM.
  • Change the BIOS type from OVMF to OVMF-TPM.
  • Save the changes and start the VM.

With TPM support added, now you can perform the following steps fromwithin your Windows 10 VM:

Unraid as a VM

There are times when it can be useful to have another instance of Unraidrunning as a VM hosted on an Unraid server.

The most likely time this will be of use is when you want to be able torun an Unraid development/test environment but do not have the hardwareto run it separately to your main Unraid server. By running the Unraidin a VM you can develop and test new Unraid plugins or docker containerswithout risking destabilizing your main Unraid production server.Alternatively, you may just want to run an Unraid release in the VM thatis different from that running in the host so you can check out any newfeatures. This can be useful if you want to test the functionality ofnew versions before upgrading your main system, or if you need todevelop plugins that work across versions.

Note: Limetech does not officially support running Unraid in a VM,so this should not be used for production data.

There is a forumthreadabout running Unraid in a VM and that is an appropriate place to askquestions.

Prerequisites

  • You will need a valid license key for the Unraid VM. Also, the VM'sflash drive has to be a different manufacturer than the host'sflash drive.
  • Unraid 6.4.0 (or later) in the VM. If for any reason you want to runan earlier release then see the forum thread mentioned above forguidance on how to do this.

Prepare the flash drive for the VM

  • On your Windows or Mac desktop, use the Unraid USB creator tool toolto create your flash drive (or see the manual instructions in thenext post)
    • Note that the VM's flash drive has to be a differentmanufacturer than the host's flash drive.
    • If your main system is named "Tower", be sure to specify adifferent name for the VM. Perhaps "TowerVM".
    • Click the option to "Allow EFI boot"
    • Write the image to the VM's flash drive
  • Make a few edits
    • Change the label of the flash drive from "UNRAID" to"UNRAID-VM"
    • Edit syslinux/syslinux.cfg on the flash drive and addunraidlabel=UNRAID-VM to the "append" line, like this:

labelUnraidOS
menudefault
kernel/bzimage
appendunraidlabel=UNRAID-VMinitrd=/bzroot

  • You may wish to make the same change to the "label Unraid OS GUIMode" and "label Unraid OS Safe Mode" areas as well
  • On the same flash drive, copy the newly updatedsyslinux/syslinux.cfg over the existing EFI/boot/syslinux.cfg
  • Create a file called startup.nsh in the root of the flash drivewhich contains the single line below. This prevents Unraid fromgetting stuck at the EFI shell.

\EFI\boot\bootx64.efi

  • Make note of the manufacturer of the flash drive while it is stillaccessible. You'll need it later.
  • Insert the flash drive into your server and reboot. If the systemtries to boot from the new "UNRAID-VM" flash drive, you'll needto adjust settings in the bios to get it to consistently boot fromthe original "UNRAID" flash drive instead. Once that is done, bootthe host into Unraid.

Setup the VM on the host

  • On the host system, go to Settings->VM and make sure VMs areenabled. For more details see the VMManagement in the Unraid manual.
  • Go to the VMs tab and click the Add VM button. This will displaya list of standard templates.
  • Select the Slackware option to load the template.
  • If you downloaded additional VM icons click on the Slackware iconand change it to the Limetech Unraid icon
  • Change the name to something relevant, like UNRAID-VM
  • (Optional) Add any other useful information to the Descriptionfield. For example, you might like to put here the version of Unraidthat the VM is running.
  • Set the CPUs and RAM for the VM. Something like 2 CPUs and 3GB ofRAM (initial and max should be the same) should be enough.
  • Choose the highest level Q35 Machine type
  • Leave the BIOS at OVMF and the USB Controller at "2.0 (EHCI)"
  • Set up the disk configuration that you want the VM to use:
    • Typically you add a vdisk for a cache drive and at least onedata drive. Parity is optional, depending on what kind oftesting you want to do. You can create all the vdisks from thisinterface, just provide a size, set the type to RAW and the busto SATA. Hit the plus sign to add more drives. Note that thevdisks have random names in the VM, it might help you identifywhich is which through their file sizes. i.e. make the parityslightly larger than the data drives, and make the cache drivedifferent as well.
    • You can also pass through whole physical drives as long as theyare not part of the cache or array.
  • Leave the graphics/sound/network settings at their defaults.
  • In the USB Devices area, put a checkmark next to the UNRAID-VM flashdrive. Unfortunately, you can't see the label here so you'll haveto identify it by manufacturer. If the VM's flash drive and thehost's flash drive have the same manufacturer, the VM's drive willnot be visible (which is why the license for the VM must use a URBdrive that is from a different manufacturer to that used for thehost).

Create and start the VM

  • (Optional) Remove the checkmark for automatically starting the VMafter creation.
  • Click the Create button
  • Back on the VMs -> Virtual Machines page you can click the Unraidicon and then choose "VNC Remote" to watch the VM boot. Note theIP address is displayed right before the login prompt.

Configure the VM

  • Point a web browser at the IP address display when the VM isstarted. This will bring up the standard Unraid GUI for the instanceof Unraid running in the VM
  • You can now configure and manage the VM just like you would anyother Unraid server but choose settings that are appropriate forthis VM.
  • Go to Settings->Identification and make sure set the ServerName is set to be different to the host. It can also be a good ideato set the Description to something like "Unraid as guest"
  • (Optional) Go to Settings->Display Settings and choose adifferent Dynamix color theme to that used on the host. This willhelp with making it more obvious
  • Since this is a test system, you'll probably want to go toSettings->SMB Settings->Workgroup Settings and set Local Masterto No.
  • If you have a UPS on the host system (and you do, right?) go toSettings -> UPS (on the VM) and set the UPS cable to "Ether", UPStype to "net" and Device to the IP address of your host. Configurethe runtime settings so the VM turns off before the host, and set"Turn off UPS" to no. Then start the UPS daemon.
  • Add the array devices and cache drive that were setup previously andstart the array
  • Add Community Applications plugin
  • From the Apps tab that is now available, add dockers and pluginsas needed for testing.
  • Note that you can update the Unraid VM just as you would a normalbare-metal Unraid system, by going to Tools->Update OS

Troubleshooting

  • It has been noted that if you edit the VM settings for any reasonthat you can get an Execution Error when next trying to start theVM indicating a problem with the USB flash drive containing theUnraid license that is going to be used by this VM. This can befixed using the following steps:
    • Select the option to edit the VM
    • switch to XML view (using the toggle at the top right)
    • Go to the bottom of the XML where just before the memballoonentry you will see a hostdev node defining the flash drive.
    • Remove this hostdev node and all its contents
    • Click the Apply button to commit the change
    • Select the Edit option again and this time switch to Form View.
    • Make sure the USB flash drive containing the Unraid license keyfor the VM is selected
    • Click Apply to commit the change
    • The VM should now start without the Execution Error.

OpenELEC / LibreELEC

OpenELEC and LibreELEC have been made available as pre-configured VMtemplates. This enables users to quickly add the robust media playerapplication, Kodi, to their Unraid systems, and use a physical graphicscard to output to the display closest to their system.

Prerequisites

To make use of these templates, your system must adhere to the followingrequirements:

  • Your CPU/Motherboard must have support for HVM and IOMMU support
  • A discrete (PCIe) graphics adapter (NVIDIA/AMD) is required (noon-board graphics supported)
    • Most GPUs work fine, but some may require additional tweaks towork properly
  • At least 512MB free in RAM to assign to the VM
  • At least 300MB of free disk space in a user share
  • A connection to the Internet is required to download the virtualdisk image template
  • Virtual machines must be enabled (under Settings -> VMManager)
  • A place to store the virtual disk image and application data must beavailable (e.g. a domains and appdata share).

Downloading the VM

  • Navigate to the VMs tab
  • Select OpenELEC or LibreELEC from the Templates section
  • Click inside the Download Folder field to select a place tostore the virtual disk image
    • Your shares can be found under /mnt/user/ (e.g./mnt/user/domains)
  • Click Download to download the VM image template; progress willbe displayed automatically.

Configuring the VM

When the download completes, additional fields will appear allowing youto configure your VM.

  • In the Add VM section at the top, make sure to give your VM aName
  • Click inside the Config Folder field to provide a path to storeyour Kodi media library data
    • Your shares can be found under /mnt/user/ (e.g./mnt/user/appdata/OpenELEC)
  • Select how many CPUs you want assigned (minimum 1)
  • Select a Graphics Card to use for video output
  • Select a Sound Card for audio output
  • Select any USB Devices you wish to use with the VM (such as akeyboard, mouse, or infrared receiver)
  • Click Create to start your VM

Updating the VM

As new versions of Unraid OS are made available, new versions of the VMtemplate may also be made available. To obtain a new version:

  • From the VMs tab, click the icon of the VM you wish to upgrade andselect Edit
  • From the Edit VM page, click the Version drop-down and selectthe new version you wish to download
  • Click the Download button and the new image version willdownload automatically
  • When the download is complete, click Update at the bottom
  • Start your VM from the VMs tab

Using Kodi For new users of the ultimate customizable media playerapplication, you may want to review the Kodiwiki, and specifically see theseguides:

Questions? Need help or support?

Additional support can be requested for this VM template within theOpenELEC VM TemplateSupportthread in the VMTemplatesmessage board.

VM Support | Unraid Docs (2024)

References

Top Articles
Latest Posts
Article information

Author: Pres. Lawanda Wiegand

Last Updated:

Views: 6295

Rating: 4 / 5 (71 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Pres. Lawanda Wiegand

Birthday: 1993-01-10

Address: Suite 391 6963 Ullrich Shore, Bellefort, WI 01350-7893

Phone: +6806610432415

Job: Dynamic Manufacturing Assistant

Hobby: amateur radio, Taekwondo, Wood carving, Parkour, Skateboarding, Running, Rafting

Introduction: My name is Pres. Lawanda Wiegand, I am a inquisitive, helpful, glamorous, cheerful, open, clever, innocent person who loves writing and wants to share my knowledge and understanding with you.