---
title: "NIOS-X on Hyper-V"
canonical: "https://docs.infoblox.com/space/BloxOneInfrastructure/275481608/NIOS-X%20on%20Hyper-V"
format: markdown
---
<span style="color: #000000">Infoblox recommends  that you dedicate the minimum system requirements to the NIOS-X server you plan to deploy. The dedicated resources cannot be shared with or used for other non-Infoblox applications. Sharing resources will negatively affect the performance of your Infoblox services. For information about the minimum system requirements and port usage, see the following</span>:

- <span style="color: #000000">*[Firewall Requirements for Infoblox Cloud Services](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873660456)*</span>
- *[Minimum System Requirements for NIOS-X Servers](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873758806)*
- <span style="color: #000000">*[Supported Platforms for NIOS-X Servers](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873693279)*</span>

# <span style="color: #000000">Prerequisites</span>

<span style="color: #000000">Before deploying a NIOS-X server and enabling Infoblox services, ensure that you prepare the deployment environment according to the requirements for the supported platforms and open all necessary ports for unrestricted outbound access. For details, see </span><span style="color: #000000">*[NIOS-X Connectivity and Service Requirements](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873660456)*</span><span style="color: #000000">*.*</span>

Before you start the deployment, consider the following:

- Set up Hyper-V on your Windows server. For information, refer to the Microsoft documentation.
- The recommended resources required for the VHD on Hyper-V deployment are 8 vCPU and 16GB of memory. For details on sizing and system requirements, see *[Minimum System Requirements for NIOS-X Servers](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873758806)*.
- Ensure that your Hyper-V environment meets the minimum <span style="color: #0000ff">*[deployment requirements](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873758806)*</span>.

> ⚠️ Avoid using subnets smaller than /30 for host interface IP settings to prevent configuration issues. Use a /24 subnet to ensure the gateway IP is within the same subnet and avoid validation errors.

# Downloading the VHD and VHDx Package for Hyper-V

1. Log in to the Infoblox Portal.
2. Go to **System > Downloads**.
3. Go to the **NIOS-X** section, click **NIOS-X Servers **drop-down and select **Download VHD **for Gen 1 or **Download VHDX **for Gen 2.

# Installing VHD Image on Hyper-V

1. Create the following directory on your system: *<WORK-DIR>*/*hyperv-images.*
2. Download the **VHD for Gen1** or **VHDX for Gen2**  to the <WORK-DIR>*/hyperv-images* work folder and rename the image file by entering the following:  
`copy NIOS-X_OnPrem_Azure_vX.Y.Z.vhd[x] <WORK-DIR>/hyperv-images/nios-x.vhd[x]`  
  
**Note**: <span style="color: #000000">If you want to create multiple Hyper-V instances, you must repeat the process by downloading the VHD image and renaming the image file for each Hyper-V instance or create  a separate copy of the VHD image downloaded from the Infoblox Portal for each Hyper-V instance. For example, if we want to deploy two Hyper-V instances for NIOS-X, create two copies of the image for each instance and use the copied image respectively. </span>
  - <span style="color: #000000">**Instance 1**</span><span style="color: #000000">: </span>
  - <span style="color: #000000">**Instance 2**</span><span style="color: #000000">: </span>
3. Complete the following to create the seed image metadata.iso for cloud-init:
  1. Create the following directory: <WORK-DIR>*/cloud-init*.
  2. Create or edit the **<WORK-DIR>/cloud-init/network-config** file to assign a static IP address and nameservers. The network configuration file must be in **YAML** format only.
    1. Download the `network-config` template provided in <u>*[Appendix B: YAML and JSON Templates](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneThreatDefense/pages/35408412)*</u> and save the file as `network-config` in the `<WORK-DIR>/cloud-init` directory.
    2. Additional considerations:
      - **Network:** If your environment provides a DHCP server that assigns an IP address to the NIOS‑X VM, this file is optional.
      - **Cloud-init file extensions:** Ensure that the network-config file — like the other cloud-init seed files — is saved without any file extension. Use double quotation marks around the filename when saving to prevent extensions from being added.
      - **Nameserver:** If you want to use custom Nameserver, you must update in the network-config file. If you do not specify any custom Nameserver, Infoblox default Nameserver 52.119.40.100 will be used.
  3. Create or edit the **<WORK-DIR>/cloud-init/user-data** file to include information, such as the join token for connecting the NIOS-X server to the Infoblox Portal. To obtain a join token, see <u>*[Creating Join Tokens](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/87556657)*</u>.
    1. Download the `user-data` template provided in <u>*[Appendix B: YAML and JSON Templates](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneThreatDefense/pages/35408412)*</u> and save the file as `user-data` in the `<WORK-DIR>/cloud-init` directory.
  4. Create the **<WORK-DIR>/cloud-init/meta-data**.
    1. Download the `meta-data` template provided in <u>*[Appendix B: YAML and JSON Templates](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneThreatDefense/pages/35408412)*</u> and save the file as `meta-data` in the `<WORK-DIR>/cloud-init` directory.
    2. Open the template and update the `<INSTANCE‑NAME>` value with the NIOS‑X instance name that you will create later in this procedure or leave it empty.
  5. Use the `Oscdimg.exe` command‑line utility from the ADK tool to generate a `metadata.iso` (seed image) that contains your cloud‑init `user-data`, `meta-data`, and `network-config` files. This seed image is then attached to the NIOS-X VM and read by cloud-init during the first boot and helps to configure.
    1. If `Oscdimg.exe` is not available, download the ADK tool from Microsoft support Oscdimg. For more information, refer to the Microsoft documentation.
    2. **For DHCP IP scenario**, the **network-config** file should not be present in the **<WORK-DIR>/cloud-init**.<sup> </sup>
    3. **For static IP scenario**, ensure the **network-config** file should be present in the **<WORK-DIR>/cloud-init**.<sup> </sup>
4. On Hyper-V Manager, open your Hyper-V server:  
> Macro (inline-media-image)
5. Create a new virtual machine:  
  
> Macro (inline-media-image)
6. The **New Virtual Machine Wizard** appears. Click **Next**.  
  
> Macro (inline-media-image)
7. Enter the name of the VM, and then click **Next**.  
  
> Macro (inline-media-image)
8. Select **Generation1** (for VHD image) or **Generation 2** (for VHDX image), and then click **Next**.  
  
> Macro (inline-media-image)
9. Increase memory size to **16384** (16 GB), as described in *[Minimum System Requirements](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/873758806)*.   
  
> Macro (inline-media-image)
10. Configure network with proper adapter, and then click **Next**.  
  
> Macro (inline-media-image)
11. Select **Use an existing virtual hard disk** and click **Browse** to locate the VHD image you downloaded from the Infoblox Portal.
  
12. Review the **Summary**, and then click **Finish**.  
  
> Macro (inline-media-image)
13. Once the NIOS-X virtual server is deployed, go to the settings of the server and select ** IDE Controller 1** > **DVD Drive** for Gen 1  or  **Add Hardware **> **SCSI Controller >  DVD Drive **for Gen 2.
14. Select** Image file** and click **Browse** to locate the *metadata.iso* file (the cloudinit config file), and then click **Apply**.  
  
> Macro (inline-media-image)

  
  
> Macro (inline-media-image)
15. For Gen 2, select **Security** and deselect the **Enable Secure Boot** checkbox to disable secure boot;  
  
> Macro (inline-media-image)
16. To increase the disk size of the VM, complete the following:  
Select the virtual disk under **Hard Disk**, click **Edit**, and then click** OK**:

> ⚠️ When resizing the disk, use the disk resize `user-data` file from <u>*[Appendix B: YAML and JSON Templates](https://docs.infoblox.com/space/BloxOneThreatDefense/35408412)*</u>. Skipping any of the specified values may prevent the disk from expanding, so the server cannot use the additional space.

![The screenshot shows the Settings window for the host. The Hardware menu is expanded, and the Hard Drive tab under SCSI Controller is open. In the tab, the Virtual hard disk is selected and the Edit button is highlighted.](media://ce48ee54-9b8c-4c72-a839-f550565ba3f3)

  
  
In the **Edit Virtual Hard Disk Wizard**, select **Choose Action** > **Expand**, and then click **Next**:  


![The screenshot shows the Edit Virtual Hard Disk Wizard window with the Choose Action tab open. In the tab, the Expand option is selected.](media://cee38609-4875-4e7a-b932-56086f8e686a)

  
  
Select **Configure Disk**, and then enter the new disk size. Click** Next**.  


![The screenshot shows the Edit Virtual Hard Disk Wizard window with the Configure Disk tab under Choose Action open and showing that the user has typed in a value in the New Size field.](media://438a6bf0-b203-4240-a706-ef05239f87ba)

  
  
In the **Summary** section , review the configuration, and then click **Finish**. You can also click **Previous** to go back some step to correct your configuration.  


![The screenshot shows the Edit Virtual Hard Disk Wizard window with the Summary tab open and showing the summary of the settings.](media://2b7b8e44-e611-4c99-b742-742f4b802bac)

  


17. Start the NIOS-X virtual server and wait a few minutes for the server to become active.  
  
> Macro (inline-media-image)

  
  
You have now successfully deployed the NIOS-X server. It might take a few minutes for the server and the Infoblox Portal to connect.
18. To check the current status of the NIOS-X server, go to **Network > Services & Servers > Servers** in the Infoblox Portal. For more information about the server status, see* **[Viewing Server Information](https://infoblox-docs.atlassian.net/wiki/spaces/BloxOneInfrastructure/pages/119210967)*.

<span style="color: #ffffff">**Open the template and update the **</span>`<INSTANCE‑NAME>`<span style="color: #ffffff">** value with the NIOS‑X instance name that you will create later in this procedure, or leave it empty.**</span>

<span style="color: #ffffff">**Open the template and update the **</span>`<INSTANCE‑NAME>`<span style="color: #ffffff">** value with the NIOS‑X instance name that you will create later in this procedure, or leave it empty.**</span>

# Deploying VHD on Hyper-V Using PowerShell Commands

1. Create a virtual machine:  
`New-VM -Name "<VMName>"  -NoVHD  -Generation "1 or 2" -MemoryStartupBytes 16GB  -SwitchName "<Virtual Switch Name>"`  
  
Configure memory and CPU:  
`Set-VM -Name “VMName”  -ProcessorCount 8`
2. Download the VHD image from the Infoblox Portal and copy it to the local path:  
`$OsDiskInfo = Get-Item artefacts/<nios-x vhd image>.vhd`  
`Copy-Item -Path $OsDiskInfo -Destination <WORK-DIR>/hyperv-images/nios-x.vh`d
3. Add the VHD image to the NIOS-X virtual server:  
`Add-VMHardDiskDrive -VMName <VMName> -Path "<WORK-DIR>\hyperv-images\nios-x.vhd"`
4. Change the boot order:  
`Set-VMDvdDrive -VMName <VMName>  -Path "<WORK-DIR>\hyperv-images\metadata.iso"`
5. Disable Secure Boot option and change the boot  order for Gen 2:
  `Set-VMFirmware -VMName $VMName -EnableSecureBoot Of`
  `ADD-VMDvdDrive -VMName $VMName -Path "<WORK-DIR>\hyperv-images\metadata.iso"`
6. `Configure VM Disk Size as required:`
  `Resize-VHD -Path <VHD/VHDX> 750GB`
7. Start the NIOS-X virtual server:  
`Start-VM -Name “$VMName”`