Windows Server 2025 on Ugreen NAS: Fixing annoying CPU Compatibility via CLI

I’ve been testing Windows Server 2025 in my HomeLab, specifically running on a Ugreen NAS. While Ugreen’s hardware is fantastic for storage, its virtualization manager (based on KVM/QEMU) sometimes applies default CPU settings that newer Windows kernels dislike.

Requirement – Preperation for Windows Server 2025 on Ugreen NAS

This is the lab setup:

  • UGREEN NASync DXP4800 Plus 4-Bay 10GbE NAS
  • Windows Server 2025 ISO File from November 2025
  • Most recent virtio-win ISO file – link
  • A Windows Server 2025 VM configured like this
    • All devices set to virtio
    • 2 CPU / 8 GB RAM
    • UEFI enabled
  • Completed the Windows Server 2025 installation (no patching, no domain join)
Windows Server 2025 on Ugreen NAS Preperation using the UI
Windows Server 2025 VM Settings Ugreen KVM

Problem – Issue with Windows Server 2025 on Ugreen NAS

I am getting the below error message after I installed a Windows Server 2025 on the Ugreen NAS using the integrated Virtualization solution. “BdsDxe: failed to load Boot0002 “UEFI Misc Device … Not found”

vm solution on ugreen 4800 plus issues v0 gjc3ekxxn13g1
vm solution on ugreen 4800 plus issues v0 gjc3ekxxn13g1

This happens in a reproducible way when domain joining a Window Server 2025 after installing it on the UGREEN NASync DXP4800 Plus.

Introduction: When the UI Isn’t Enough

We live in a modern world where web interfaces usually solve 90% of our problems. But as an IT Architect, I often say: “To fix the last 10%, you have to go back to the roots.”

If you are experiencing instability or boot issues with your Windows Server 2025 VM on Ugreen, the GUI won’t save you. You need to get your hands dirty with virsh (the command line interface for KVM).

This guide walks you through manually forcing the CPU model to a compatible standard (Skylake-Client-IBRS) to ensure stability. More details about this setting and values can be found here.

The Problem: Windows Server 2025 & KVM Defaults

By default, the virtualization manager might set your CPU mode to host-passthrough. Theoretically, this is great because it passes the host’s exact CPU features to the VM.

However, in practice—especially with the strict hardware requirements of Windows Server 2025—this “pass-through” can cause feature mismatches or instruction set errors on certain NAS CPUs. The fix is to define a “Custom” CPU model that presents a standard, stable architecture to the Windows OS.

The fix – Changing the default settings before the domain join

Prerequisites

Before we dive into the terminal, ensure you have:

  • SSH Access enabled on your Ugreen NAS.
  • Root credentials (you need full permissions).
  • The VM Name: Know what you named your VM in the web interface (e.g., “WinServer2025”).

Warning: We are editing XML configurations directly. A typo here can prevent the VM from starting. Proceed with caution.

Enable SSH for fixing Windows Server 2025 on Ugreen NAS
Enable SSH for fixing Windows Server 2025 on Ugreen NAS

Step-by-Step Implementation for Windows Server 2025 on Ugreen NAS

1. Connect via SSH

Open your terminal (I recommend Windows Terminal, obviously) and connect to your NAS.

ssh root@<IP-Address-of-Your-NAS>
# Enter your password when prompted

2. Identify the UUID (Don’t Trust the Name)

In KVM, the “Name” column often just displays the UUID. To be professionally competent, we verify we are touching the right machine. We don’t want to accidentally edit a Debian container when we mean to fix Windows.

List all VMs:

sudo virsh list --all
sudo list all VMs
sudo list all VMs

You will see a list of UUIDs. Test them until you find the one matching your Windows Server title:

sudo virsh dumpxml <UUID-FROM-LIST> | grep title 

Look for output like: <title>Windows Server 2025</title> Once found, copy that UUID.

grep UUID title to identify Windows Server 2025
grep UUID title to identify Windows Server 2025

3. Shut Down the VM

You cannot change virtual hardware while the machine is running.

sudo virsh shutdown <YOUR-WINDOWS-UUID>
shutdown Windows Server 2025 VMs
shutdown Windows Server 2025 VMs

Verify it is strictly “shut off”:

sudo virsh list --all
powered off Windows Server 2025 VMs
powered off Windows Server 2025 VMs

4. Edit the XML Configuration

Now for the “traditional” part. We will use vi to edit the configuration.

sudo virsh edit <YOUR-WINDOWS-UUID>

Instructions for vi:

  1. Scroll down using arrow keys until you find the <cpu ...> block.
  2. It likely looks like this (Default):XML<cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' cores='6' threads='1'/> </cpu>
  3. Press i to enter Insert Mode.
  4. Replace that block with the following “Stable” configuration:XML<cpu mode='custom' match='exact' check='none'> <model fallback='allow'>Skylake-Client-IBRS</model> <topology sockets='1' dies='1' cores='6' threads='1'/> </cpu> (Note: Ensure cores='6' matches your actual assigned core count!)
  5. Press Esc, then type :wq and hit Enter to save and quit.
config file change to run Windows Server 2025 VMs
config file change to run Windows Server 2025 VMs

5. Restart and Verify

Power the machine back up:

virsh start <YOUR-WINDOWS-UUID>

Why Skylake-Client-IBRS to run Windows Server 2025 on Ugreen NAS

Skylake-Client-IBRS is a “safe harbor” CPU model in the virtualization world. It includes modern instruction sets required by Windows Server 2025 but abstracts away the specific quirks of the physical NAS processor. It also includes IBRS (Indirect Branch Restricted Speculation), which is critical for security mitigations (Spectre/Meltdown) that Windows expects to see present.

Conclusion

Deploying operating systems on edge appliances like Ugreen NAS requires a blend of modern ambition and traditional Linux skills. By manually defining the CPU topology in the XML, we trade a bit of “native performance” (passthrough) for guaranteed stability.

For an Architect, stability always wins.

Next steps for you: Check your Windows Event Logs inside the VM after booting. If the “Hardware Error” events are gone, you have successfully stabilized your build.

Happy Home-Labing!

If you have any questions please don’t hesitate to reach out to me on LinkedIn, Bluesky or check my newly created Adaptive Cloud community on Reddit.

LinkedIn: https://www.linkedin.com/in/andreas-hartig/
Bluesky: https://bsky.app/profile/hartiga.de
Adaptive Cloud community on Reddit: https://www.reddit.com/r/AdaptiveCloud/

References & Further Reading

As an architect, I believe in showing my work. Below are the official documentation sources used to validate this solution, along with links to connect with me for further discussion.

Technical Documentation

Spread the knowledge
Avatar for Andreas Hartig
Andreas Hartig - MVP - Cloud and Datacenter Management, Microsoft Azure

Related Posts

IT Security Dragon reading Windows Event Logs

Windows Server Event Log and Event Log Policies

Windows Server Event Log for most teams are only used when something already smells like incident:💥 DC misbehaving,💥 file server “mysteriously slow”,💥 SOC asking for “all the logs you have…

Spread the knowledge
Read more
IT System Engineer Dragon Protect object from accidental deletion

The 2nd Thing to Enable in Every AD – Protect object from accidental deletion

Protect object from accidential deletion is your 1st line of protection, if you value your OU structure. The checkbox “Protect object from accidental deletion” stops both accidental deletes and moves….

Spread the knowledge
Read more
Dragon Active Directory Recycle Bin

The First Thing to Enable in Every AD – Active Directory Recycle Bin

The Active Directory Recycle Bin is not a “nice-to-have” in 2025 — it’s mandatory. It allows fast, attribute-preserving recovery of deleted AD objects without the pain of authoritative restores. It…

Spread the knowledge
Read more
Automation via Group Policyv2

Automation using Group Policy – Background

Automation using Group Policy is most likely the easiest step in your environment for custimzation. In one of the latest Blog articles we looked into “Group Policies and Group Policies…

Spread the knowledge
Read more
Cyber dragon designs IT architecture and taking a risk among glowing screens

Windows Server 2025 Autologon: When and Why?

Windows Server 2025 Autologon is a challenging discussion. Learn why, when and how to enable Autologon in Windows Server 2025 safely, plus robust mitigation strategies. A reboot that lands on…

Spread the knowledge
Read more
Cyber dragon sits at a bright wooden desk coding on a Windows Server screen with stack of books

Group Policies and Group Policies Preferences (2025)

For Group Policies the time between Windows Server 2022 and Windows Server 2025 had a focus to move Group Policies and Group Policies Preferences towards being code-driven solution rather than…

Spread the knowledge
Read more