Create a Hyper-V VM for FreeNAS, Openfiler, Linux, FreeBSD, OpenSolaris, and more


As many have read, I have been trying different NAS solutions on the Big Windows Home Server. This guide will show the base procedures for installing open-source NAS/ SAN appliances such as FreeNAS, OpenFiler, Ubuntu (and other Linux distros), OpenSolaris (and variants such as CentOS) into a Hyper-V VM. 

For this guide, I will be using screenshots from the Hyper-V manager in Microsoft Windows Server 2008 R2. Microsoft offers a free Hyper-V Server R2 product for those that want to try and do not have access to a Server 2008 R2 testbed. Later I will detail installing the OS’es onto the Hyper-V platforms, but I wanted a base article that showed the basics so I can link rather than duplicate later (think of this as WordPress Dedupe). It should be noted up-front this guide is for a non-Windows Hyper-V installation. Also, everything below can be changed as necessary for your environment/ installation. 

A quick word on my configuration for these Hyper-V articles here’s the current setup (which does change a bit day-to day). 

  1. CPU: Intel Core i7 920
  2. Motherboard:  Supermicro X8ST3-F
  3. Memory: Patriot Viper 12GB DDR3 1600
  4. Case (1): Norco RPC-4020
  5. Case (2): Norco RPC-4220
  6. Drives: Seagate 7200rpm 1.5TB, Hitachi 7200rpm 2TB and 1TB, Western Digital Green 1.5TB
  7. Controller: Areca ARC-1680LP
  8. SAS Expanders: 2x HP SAS Expander
  9. NIC (additional): Intel Pro/1000 PT Quad
  10. Host OS: Windows Server 2008 R2 with Hyper-V installed

Overall this gives me room for 40 hot swap drives, and plenty of cores, memory, and gigabit Ethernet ports for running NAS/ SAN virtual machines. With that out of the way, let’s begin the basic Hyper-V VM setup for a NON-Windows based guest operating system. If you want to see examples of what I have gotten to work in Hyper-V thus far, see this link. Just know this basic setup procedure will be referenced in forthcoming articles regarding how to configure Hyper-V for the various NAS/ SAN appliances. 

Step 1: Start New Virtual Machine Wizard 

Hyper-V - Introduction/ Before you begin screen


Step 2: Specify a Name and Location for the Hyper-V VM 

Hyper-V - Name the VM
Hyper-V - Name the VM

Step 3: Specify the Hyper-V VM’s Memory Allocation 

Hyper-V - Specify the Hyper-V VM's Memory Allocation
Hyper-V - Specify the Hyper-V VM's Memory Allocation

Step 4: The next screen lets you specify the Hyper-V VM’s LAN Connection. I leave this blank for non-Windows installations, and configure it when configuring the guest-OS. 

Hyper-V - Specify the Hyper-V VM's LAN Connection
Hyper-V - Specify the Hyper-V VM's LAN Connection

Step 5: The next step is to pick the Hyper-V VM’s VHD Path, Name, and Size. It should be noted that you generally want to locate this path on a redundant storage  set (raid 1, raid 5, raid 6, and etc) because this will house the OS for your VM. You can also attach a disk later. Also it is worth noting that a lot of the NAS/SAN appliances do not “require” much disk space so 1GB is oftentimes plenty for a test environment. 

Hyper-V - Specify the Hyper-V VM's VHD Path and Name
Hyper-V - Specify the Hyper-V VM's VHD Path and Name

Step 6: I have generally used Install an OS later, and am depicting this here. If you already know the OS you want to load on your VM, you can point the second radio box to that ISO. 

Hyper-V - Specify the Hyper-V VM's OS Source
Hyper-V - Specify the Hyper-V VM's OS Source

Step 7: Review and click finish here. Just to note, you can change the below later (and we will). 

Hyper-V - Finish Wizard
Hyper-V - Finish Wizard


At this point, you should have a basic Hyper-V virtual machine configured to do just about nothing. We will fix that very soon but this is a base article so that I don’t have to go through these steps each time.


  1. Not thus far, but the system has only been up for 3 months including burn-in. Then again, this isn’t running a transactional business system. I can remote power cycle using the Supermicro IPMI 2.0 if non-ECC led to a freeze. Data corruption wise I haven’t run into any yet. I would like to have used ECC, but I had 12GB of DDR3 free and an Intel Core i7 920 was $199 at the time.

  2. Hi,

    I guess you hit a road block when you discovered that your non windows VMs only support 100Mbit/s NICs ?
    This will prevent you from using a VM on hyper-v even for moderate performance iSCSI/NFS server.

    I’m still looking for vmbus/vcs drivers on opensolaris/freebsd etc..


  3. I know this is an old post, but I’m very interested in what you did for power here. I can see you did one case with CPU, and I’m assuming a standard PSU in that one, and then the second case you setup probably with just drives connected via external SAS cables…. all of that makes sense, but how do you power the drives in the second case?

    Or am I misreading your hardware list and you actually only setup one of the cases listed?

  4. There were two cases. You can use some standard MBs or a better way is to use a Supermicro JBOD board. You can also just buy a JBOD off of ebay which is what I would do today to keep costs lower. Cheaper than building yourself in 2018. This post was written in 2010 almost eight years ago when options were different.

  5. Great tips, thanks for the quick reply.

    I have a Dell PowerEdge R900 with over 100gb of ecc ram and 4x quad core xeons in it… but only fits like 5 3.5″ drives. I figured it would be a beautiful FreeNAS setup if I could run some SAS cables to a second case like the kind you have here. I’m just trying to find the most effective way to setup an enclosure for a bunch of disks that has no brains so that the PowerEdge can do all the heavy lifting.


Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.