How to fix Error response from daemon: failed to start: operating system: not supported in Docker

DockerINTERMEDIATEHIGHUpdated Dec 6, 2025· 455 views

This error occurs when Docker cannot start a container because the host system lacks required virtualization support, or there is a mismatch between container OS type and Docker's configuration. Common fixes include enabling virtualization in BIOS, switching between Linux and Windows container modes, or updating WSL 2.

Quick fix

Fixes Error response from daemon: failed to start: operating system: not supported

# Check if Docker daemon is responding
docker info

# Check Docker version and OS type
docker version --format '{{.Server.Os}}'

# On Windows, check current container mode
docker info | findstr "OSType"
  1. Check Docker's current status and mode
  2. Update WSL 2 kernel (Windows)
  3. Enable Hyper-V and Container features
  4. Enable hardware virtualization in BIOS
docker — error
# Check if Docker daemon is responding
docker info
# Check Docker version and OS type
docker version --format '{{.Server.Os}}'
# On Windows, check current container mode
docker info | findstr "OSType"
Error response from daemon: failed to start: operating system: not supported

What this error means

This error indicates that Docker's daemon cannot start a container because the underlying operating system or virtualization framework is not properly configured or compatible with the requested container type. The error "failed to start: operating system: not supported" typically occurs in these scenarios: (1) Docker Desktop cannot initialize its virtual machine due to missing Hyper-V or WSL 2 components, (2) you are trying to run a container built for a different platform (Linux vs Windows), or (3) the virtualization features required by Docker are disabled in your system's BIOS or firmware. On Windows, Docker Desktop requires either Hyper-V or WSL 2 to run Linux containers. On macOS, Docker Desktop uses a lightweight virtual machine. When these virtualization layers are misconfigured or unavailable, Docker cannot create the isolated environment needed to run containers, resulting in this error.

Typical symptoms

  • Docker Desktop fails to start with virtualization-related errors
  • Docker commands return 'Error response from daemon: failed to start: operating system: not supported'
  • Container creation fails immediately after Docker Desktop starts
  • Docker build commands fail at the first step with OS not supported errors
  • Error message appears after Windows update or Docker Desktop upgrade
  • Same Docker commands work on other machines but fail on yours
  • Docker info shows daemon is running but containers cannot start

Common causes

  1. WSL 2 is not installed or needs a kernel update (most common on Windows)
  2. Hyper-V is not enabled or properly configured
  3. Hardware virtualization (VT-x/AMD-V) is disabled in BIOS/UEFI
  4. Docker Desktop is configured for wrong container type (Windows vs Linux)
  5. Antivirus or security software blocking virtualization components
  6. Windows features for containers are not installed
  7. Docker Desktop installation is corrupted after Windows update
  8. Incompatible Docker Desktop version for your Windows build

How to fix "Error response from daemon: failed to start: operating system: not supported"

1Check Docker's current status and mode

First, diagnose the current state of Docker:

powershell
# Check if Docker daemon is responding
docker info

# Check Docker version and OS type
docker version --format '{{.Server.Os}}'

# On Windows, check current container mode
docker info | findstr "OSType"

If Docker info fails completely, Docker Desktop may not be starting properly. Check the Docker Desktop logs:

powershell
# View Docker Desktop logs on Windows
Get-Content "$env:APPDATA\Docker\log.txt" -Tail 50

This will help identify whether the issue is with Docker startup or container creation.

2Update WSL 2 kernel (Windows)

The most common cause of this error on Windows is an outdated WSL 2 kernel. Update it:

powershell
# Run PowerShell as Administrator
wsl --update

# Check WSL status
wsl --status

# Set WSL 2 as default version
wsl --set-default-version 2

# Restart WSL
wsl --shutdown

If WSL is not installed at all:

powershell
# Install WSL with default Ubuntu distribution
wsl --install

# Restart your computer after installation
Restart-Computer

After updating WSL, restart Docker Desktop and try again.

3Enable Hyper-V and Container features

Enable the required Windows features for Docker:

powershell
# Run PowerShell as Administrator
# Enable Hyper-V (Pro/Enterprise/Education only)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

# Enable Containers feature
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All

# Enable Virtual Machine Platform (required for WSL 2)
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All

# Restart computer to apply changes
Restart-Computer

Note: Windows Home edition does not support Hyper-V. Use WSL 2 backend instead:

1. Open Docker Desktop Settings
2. Go to General
3. Ensure "Use the WSL 2 based engine" is checked
4. Click Apply & Restart

4Enable hardware virtualization in BIOS

Docker requires hardware virtualization support. Check if it's enabled:

powershell
# Check virtualization status
systeminfo | findstr /i "virtualization"

# Or use PowerShell
Get-ComputerInfo | Select-Object HyperVisorPresent, HyperVRequirementVirtualizationFirmwareEnabled

If virtualization is disabled, enable it in BIOS/UEFI:

1. Restart your computer
2. Press the BIOS key during startup (usually F2, F10, F12, DEL, or ESC)
3. Navigate to CPU or Advanced settings
4. Enable Intel VT-x (Intel) or AMD-V (AMD)
5. Enable Intel VT-d or AMD IOMMU if available
6. Save and exit BIOS

After enabling, boot into Windows and verify:

powershell
# Should show "Virtualization Enabled In Firmware: Yes"
systeminfo | findstr /i "virtualization"
5Switch between Linux and Windows containers

If you're running the wrong container type, switch modes:

Using Docker Desktop GUI:
1. Right-click the Docker whale icon in the system tray
2. Select "Switch to Linux containers..." or "Switch to Windows containers..."
3. Wait for Docker to restart

Using command line:

powershell
# Toggle between Linux and Windows containers
& "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon

# Verify current mode
docker info | findstr "OSType"

If the switch option is missing from the menu:
- Update Docker Desktop to the latest version
- Ensure Hyper-V is enabled (for Windows containers)
- Restart Docker Desktop

6Check for antivirus interference

Some antivirus software can block Docker's virtualization components:

Temporary test:
1. Temporarily disable your antivirus
2. Try starting Docker Desktop
3. If it works, add Docker to your antivirus exclusions

Add exclusions for Docker paths:
- C:\Program Files\Docker
- C:\ProgramData\Docker
- C:\Users\<username>\AppData\Local\Docker
- C:\Users\<username>\AppData\Roaming\Docker
- %LOCALAPPDATA%\Docker\wsl

Known conflicting software:
- Some versions of Kaspersky, McAfee, and Norton
- VMware Workstation (can conflict with Hyper-V)
- VirtualBox (older versions conflict with Hyper-V)
- Android emulators that disable Hyper-V

7Reset Docker Desktop

If other solutions haven't worked, try resetting Docker Desktop:

Soft reset (preserves data):
1. Open Docker Desktop
2. Go to Settings > Troubleshoot
3. Click "Restart Docker Desktop"

Factory reset (removes all data):
1. Open Docker Desktop
2. Go to Settings > Troubleshoot
3. Click "Reset to factory defaults"
4. Confirm the reset

Manual cleanup and reinstall:

powershell
# Stop Docker processes
Stop-Process -Name "Docker Desktop" -Force -ErrorAction SilentlyContinue
Stop-Process -Name "com.docker.backend" -Force -ErrorAction SilentlyContinue

# Uninstall Docker Desktop (use Settings > Apps or)
# Download and run the installer with /uninstall flag

# Remove Docker data directories
Remove-Item -Recurse -Force "$env:APPDATA\Docker" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Docker" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:ProgramData\Docker" -ErrorAction SilentlyContinue

# Restart computer
Restart-Computer

# Reinstall Docker Desktop from docker.com
8Fix vmcompute service issues

On some Windows systems, the vmcompute service needs to be configured:

powershell
# Check vmcompute service status
Get-Service vmcompute

# Start the service if stopped
net start vmcompute

# If the service fails, check Windows Security settings

Disable CFG for vmcompute (advanced):

1. Open Windows Security
2. Go to "App & Browser control"
3. Click "Exploit protection settings"
4. Switch to "Program settings" tab
5. Find C:\WINDOWS\System32\vmcompute.exe
6. Click Edit
7. Scroll to "Code flow guard (CFG)"
8. Uncheck "Override system settings"
9. Restart vmcompute: net start vmcompute

Then restart Docker Desktop.

Advanced notes

### Understanding Docker's Virtualization Requirements

Docker on Windows uses different backends depending on your configuration:

| Backend | Requirements | Container Types |
|---------|-------------|-----------------|
| WSL 2 | WSL 2 enabled, Windows 10 v2004+ | Linux containers |
| Hyper-V | Pro/Enterprise, VT-x enabled | Linux and Windows containers |
| Windows Containers | Container feature enabled | Windows containers only |

### Diagnosing Virtualization Framework Issues

Use these commands to diagnose virtualization problems:

powershell
# Check all virtualization-related features
Get-WindowsOptionalFeature -Online | Where-Object {$_.FeatureName -match 'Hyper|Virtual|Container|WSL'}

# Check Hyper-V status
Get-VMHost -ErrorAction SilentlyContinue

# Verify WSL distributions
wsl -l -v

# Check Docker's internal logs
Get-EventLog -LogName Application -Source Docker -Newest 20

### Running Docker on Windows Server

On Windows Server, the setup is different:

powershell
# Install Docker on Windows Server
Install-WindowsFeature -Name Containers
Install-Module DockerMsftProvider -Force
Install-Package Docker -ProviderName DockerMsftProvider -Force

# Start Docker service
Start-Service Docker

# For Linux containers on Windows Server, enable LCOW
# Edit C:\ProgramData\docker\config\daemon.json
{
  "experimental": true
}

### M1/M2 Mac Considerations

On Apple Silicon Macs, you may see similar errors when trying to run amd64 images:

bash
# Check architecture
docker info | grep Architecture

# Enable Rosetta emulation in Docker Desktop
# Settings > Features in development > Use Rosetta for x86/amd64 emulation

# Or specify platform explicitly
docker run --platform linux/amd64 your-image

### Using containerd for Better Compatibility

Enabling containerd can resolve some image pulling issues:

1. Open Docker Desktop Settings
2. Go to General
3. Check "Use containerd for pulling and storing images"
4. Apply & Restart

This uses containerd's snapshotters which can handle cross-platform images better.

### Checking for Windows Build Compatibility

Some Docker Desktop versions require specific Windows builds:

powershell
# Check Windows build number
[System.Environment]::OSVersion.Version

# Or use
winver

Docker Desktop 4.x requires:
- Windows 10 version 2004 (Build 19041) or higher for WSL 2
- Windows 10 version 1607 or higher for Hyper-V backend

Frequently asked questions

What does "Error response from daemon: failed to start: operating system: not sup" mean?
This error indicates that Docker's daemon cannot start a container because the underlying operating system or virtualization framework is not properly configured or compatible with the requested container type. The error "failed to start: operating system: not supported" typically occurs in these scenarios: (1) Docker Desktop cannot initialize its virtual machine due to missing Hyper-V or WSL 2 components, (2) you are trying to run a container built for a different platform (Linux vs Windows), or (3) the virtualization features required by Docker are disabled in your system's BIOS or firmware. On Windows, Docker Desktop requires either Hyper-V or WSL 2 to run Linux containers.
How do I fix "Error response from daemon: failed to start: operating system: not sup"?
This error occurs when Docker cannot start a container because the host system lacks required virtualization support, or there is a mismatch between container OS type and Docker's configuration. Common fixes include enabling virtualization in BIOS, switching between Linux and Windows container modes, or updating WSL 2.
What causes "Error response from daemon: failed to start: operating system: not sup"?
WSL 2 is not installed or needs a kernel update (most common on Windows) Hyper-V is not enabled or properly configured Hardware virtualization (VT-x/AMD-V) is disabled in BIOS/UEFI
Is the "Error response from daemon: failed to start: operating system: not sup" error serious?
Yes. This is a high-severity error that usually blocks work until it is fixed, but the steps above resolve it.

Official resources & further reading