Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteYes: run Linux under WSL2, install the Incus server inside that Linux distribution, then use Incus system containers to practice Linux administration and Incus virtual machines to try FreeBSD. Incus itself does not run as a Windows server: its daemon works only on Linux, while its Windows build is a client. This setup is a layered virtualized lab, so hardware virtualization, suitable Windows features, and enough resources for the guests you choose all matter.
Can I use WSL2 and Incus on Windows?
Yes. The architecture is Windows as the host, a Linux distribution running with WSL2, and the Incus daemon running inside that Linux distribution. Microsoft describes WSL2 as using virtualization support; Incus states that its daemon only works on Linux. The Incus Windows client can administer an Incus server, but it does not replace the Linux server in this local setup. See Microsoft’s WSL FAQ and the Incus installation guide.
This arrangement lets one Windows PC host multiple Linux environments and a separate-kernel guest such as FreeBSD. It also adds layers: Windows runs WSL2, and Incus then manages instances within the WSL Linux environment. Treat this as a learning lab rather than a guarantee of identical performance or behavior to a dedicated Linux host.
What runs in a container, and what needs a VM?
Incus manages both system containers and virtual machines as instances, but they are not interchangeable. A system container is useful for practicing Linux distribution administration while sharing the host Linux kernel. A VM has its own guest kernel and is the appropriate choice when the lesson involves a different operating system kernel, including FreeBSD.
Recommended Free Tools
#1 Best Overall
| Incus instance | Kernel model | Good fit for this lab |
|---|---|---|
| Linux system container | Shares the Linux kernel of the Incus host environment. | Practicing Linux distributions, users, packages, services, filesystems, and networking without booting a separate guest kernel. |
| Virtual machine | Runs a guest operating system with its own kernel. | Practicing kernel-level behavior or running another OS, including FreeBSD. |
Incus documents FreeBSD as a VM guest and provides an ISO-based VM creation path. Identify the guest as FreeBSD when following that procedure so Incus can apply its documented FreeBSD-specific behavior. An Incus Linux container is not a way to run the FreeBSD kernel. FreeBSD can also host its own hypervisor through bhyve, but that is a different design from hosting Incus inside Linux on WSL2. Consult the Incus instance guide and the FreeBSD Handbook.
What do I need before installing the lab?
- Supported Windows and WSL: Microsoft documents
wsl --installfor Windows 10 version 2004 (Build 19041) or later, and Windows 11. WSL2 requires the Virtual Machine Platform and hardware virtualization capabilities. See Microsoft’s WSL installation guide and WSL FAQ. - Virtualization enabled: Confirm virtualization support is enabled for the machine. If Windows itself runs inside a virtual machine, the parent hypervisor must expose nested virtualization for WSL2 to work. Microsoft explains the requirement in its Hyper-V nested virtualization guide.
- A Linux distribution for the Incus server: Incus server installation is inside Linux, and package availability depends on the distribution. Its documentation distinguishes the 6.0 LTS branch from the 6.x feature branch; choose the branch and installation instructions appropriate to your preference for stability or newer features.
- Service management as needed: Recent WSL versions support systemd, but a distribution may need it enabled. Check Microsoft’s systemd instructions for WSL and the distribution’s requirements before relying on systemd-managed services.
- Room for the workloads you choose: There is no single RAM, CPU, or disk minimum established for this combined setup. Resource use depends on which guests run at once and what you do in them; nested virtualization also adds overhead.
How do I install WSL2 and prepare Linux?
- Open an elevated Windows terminal and run
wsl --install. Microsoft says this enables WSL and Virtual Machine Platform, installs the Linux kernel, sets WSL2 as the default, and installs Ubuntu by default. Restart Windows if prompted. If you want another supported distribution, use the distribution-specific installation option documented by Microsoft. - Check the installed distribution’s WSL version using
wsl -l -v. Confirm the distribution shows version 2. If it does not, consult Microsoft’s WSL installation guidance for the relevant conversion or setup steps. - Start the Linux distribution and complete its initial user setup. Before adding Incus, get comfortable with the shell, packages, users, services, filesystems, and basic networking; these are the skills the lab will exercise repeatedly.
- If the distribution needs systemd, edit
/etc/wsl.confto include[boot]andsystemd=true. Then shut down WSL and restart the distribution so the setting takes effect. Use Microsoft’s systemd instructions for WSL for version and configuration details.
How do I install Incus inside WSL?
Install Incus in the Linux distribution using the official instructions for that distribution, then initialize the Incus server as directed by the guide. Exact package names and setup steps vary by Linux distribution, so use the current Incus installation guide rather than assuming a command for one distribution applies to another. Select either the 6.0 LTS branch or the 6.x feature branch deliberately. You can run Incus commands from the Linux shell; using a Windows Incus client is optional for this local arrangement.
If Incus fails to start, first check whether the Linux distribution has the service-management support its installation expects. Confirm systemd configuration and restart WSL if you changed /etc/wsl.conf. If the Windows host is itself virtualized, confirm nested virtualization is enabled by the parent hypervisor.
How do I create a Linux container and a FreeBSD VM?
Start with a Linux system container
Use the Incus instance workflow to launch a Linux system container from an available image, then practice routine administration inside it: create users, install and update packages, manage services, inspect filesystems, and test network access. Because the container shares the Incus host’s Linux kernel, it is suited to distribution-level administration rather than learning a distinct kernel.
Create FreeBSD as a VM
Follow Incus’s documented VM and ISO workflow, using a FreeBSD installation ISO and identifying the guest as FreeBSD in the instance configuration. Complete the FreeBSD installer in the VM console, then use the resulting guest for operating-system and kernel-level exercises. The precise commands and image or ISO details belong to the version-specific Incus instance instructions; follow the current instance guide.
After both guest types work, use the lab to explore instance lifecycle, snapshots, storage, networking, and backups. Keep experiments isolated from important data and verify a backup by restoring it, not simply by confirming that a backup file exists.
Rank #4
How does WSL networking affect Incus guests?
Networking behavior depends on the WSL mode and Windows version. In the default virtualized networking model, the Linux distribution may have an IP address different from Windows. Windows 11 version 22H2 and later also supports mirrored networking, which uses a different network architecture and can improve VPN compatibility and localhost access. See Microsoft’s WSL networking guide and WSL FAQ.
| Networking mode | Windows support | What to account for |
|---|---|---|
| Default virtualized networking | WSL2 default model | The Linux distribution may have a different IP address from Windows. Access to services and inbound connections may require attention to the Windows and Hyper-V firewall rules. |
| Mirrored networking | Windows 11 version 22H2 and later | Provides a different networking architecture; Microsoft notes improved VPN compatibility and localhost access. Firewall rules still matter when exposing services. |
Before trying to reach an Incus guest service from Windows or another device, determine the active WSL networking mode and check applicable firewall rules. Do not assume that a guest address or localhost behavior will be the same across modes.
Quick Recap
Best Value
What should I try first, and what can go wrong?
- WSL remains on version 1: Check the distribution’s version with
wsl -l -vand use Microsoft’s installation guidance to set up or convert it to WSL2. - WSL2 cannot start its virtual environment: Verify hardware virtualization and the Virtual Machine Platform are enabled. On a virtualized Windows desktop, check for nested virtualization support in the parent hypervisor.
- Incus service does not start: Check the Linux distribution’s service-management requirements. If systemd is needed, configure it in
/etc/wsl.confand fully restart the WSL distribution. - A FreeBSD container is being considered: Use an Incus VM instead; the FreeBSD guest needs its own kernel.
- A guest service is unreachable: Check whether WSL is using default or mirrored networking, then inspect Windows and Hyper-V firewall rules and the guest’s own service configuration.
- Several guests feel slow: Reduce the number of concurrently running instances or their workload. The official guidance does not establish a universal resource allocation for this layered lab.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




