Docker Windows in Windows10 Guest dson't work

Discussions about using Windows guests in VirtualBox.
Post Reply
BerndM
Posts: 23
Joined: 7. Oct 2011, 21:59
Primary OS: Ubuntu other
VBox Version: OSE other
Guest OSses: keine

Docker Windows in Windows10 Guest dson't work

Post by BerndM »

Hello,

I must install docker windows on a VM with windows 10. After many tests and tries I've found that the WSL2 dosn't work.

CPU I7
RAM 32GB
SSD 4TB
OS: Ubuntu 20.04.2 LTS
VBox 6.1.22

VM Windows 10, with all updates, Nested VT-x enabled

- installation of Debian or Ubuntu with WSL version 1 works
- installation of VBox in the VM works and a VM debian can run (ok, that is for the performance not so good)
But
- installation of Ubuntu with WSL version 2 dosn't run
- installation of Docker Windwos dosn't run

So I see that the WSL2 dosn't work correctly with the Nested VT-x from the VBox. What must I do, that I can use Docker in the Windows10 guest?

Redards, Bernd
Martin
Volunteer
Posts: 2560
Joined: 30. May 2007, 18:05
Primary OS: Fedora other
VBox Version: PUEL
Guest OSses: XP, Win7, Win10, Linux, OS/2

Re: Docker Windows in Windows10 Guest dson't work

Post by Martin »

WSL2 and Docker on Windows rely on Hyper-V for virtualization.
Virtualbox doesn't support nested virtualization with Hyper-V in a guest.
So there is currently nothing you can do with a Windows guest.
Running a Linux guest with Docker or WSL1 on Windows dont need nested virtualization.
BerndM
Posts: 23
Joined: 7. Oct 2011, 21:59
Primary OS: Ubuntu other
VBox Version: OSE other
Guest OSses: keine

Re: Docker Windows in Windows10 Guest dson't work

Post by BerndM »

Hello Martin,

I've understand the docujmentation so, that VBox support nested Hyper-V. In the Log of the VM is this also enabled.

Code: Select all

00:00:01.180757 *********************** VT-x features ***********************
00:00:01.180758 Nested hardware virtualization - VMX features
00:00:01.180759   Mnemonic - Description                                  = guest (host)
00:00:01.180759   VMX - Virtual-Machine Extensions                        = 1 (1)
00:00:01.180760   InsOutInfo - INS/OUTS instruction info.                 = 1 (1)
00:00:01.180760   ExtIntExit - External interrupt exiting                 = 1 (1)
00:00:01.180761   NmiExit - NMI exiting                                   = 1 (1)
00:00:01.180761   VirtNmi - Virtual NMIs                                  = 1 (1)
00:00:01.180762   PreemptTimer - VMX preemption timer                     = 0 (1)
00:00:01.180762   PostedInt - Posted interrupts                           = 0 (0)
00:00:01.180763   IntWindowExit - Interrupt-window exiting                = 1 (1)
00:00:01.180763   TscOffsetting - TSC offsetting                          = 1 (1)
00:00:01.180764   HltExit - HLT exiting                                   = 1 (1)
When no nested Hyper-V is supported, than I can't install and run VBox in an VM. But it works without problems.
scottgus1
Site Moderator
Posts: 20965
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Docker Windows in Windows10 Guest dson't work

Post by scottgus1 »

Please zip the log, and post the zip file, using the forum's Upload Attachment tab.

As far as I remember, Martin is correct. Full Hyper-V functionality inside a Virtualbox VM is not supported yet. Note that "full Hyper-V" is not "full VT-x". You can run Virtualbox inside Virtualbox, but so far you can't run Hyper-V inside Virtualbox. It may get there one day, but it's not there yet.

The log will show if you have the 4 required CPU features for good nested virtualization. However, even if you do, it will only be Virtualbox inside Virtualbox for now.
BerndM
Posts: 23
Joined: 7. Oct 2011, 21:59
Primary OS: Ubuntu other
VBox Version: OSE other
Guest OSses: keine

Re: Docker Windows in Windows10 Guest dson't work

Post by BerndM »

VBox Log for Nested VT-x
Attachments
VBox.zip
(29.88 KiB) Downloaded 9 times
scottgus1
Site Moderator
Posts: 20965
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Docker Windows in Windows10 Guest dson't work

Post by scottgus1 »

Thanks for the log! Here is what it says:
00:00:01.269769 Full Name: "Intel(R) Core(TM) i7-4900MQ CPU @ 2.80GHz"
Intel Nested Virtualization status: (1) is enabled, EPT = SLAT
00:00:01.269769 VMX - Virtual-Machine Extensions = 1 (1)
00:00:01.269769 Ept - Extended Page Tables = 0 (1)
00:00:01.269769 UnrestrictedGuest - Unrestricted guest = 0 (1)
00:00:01.269769 VmcsShadowing - VMCS shadowing = 0 (1)
All of the four final lines have (1), which means you should get good Virtualbox inside Virtualbox. However, the "= 0" in "Ept - Extended Page Tables = 0 (1)" Means that "Extended Page Tables" is not provided inside the VM. EPT is another name for SLAT, which is required for Hyper-V.

So you can't run Hyper-V inside the Virtualbox VM.
BerndM
Posts: 23
Joined: 7. Oct 2011, 21:59
Primary OS: Ubuntu other
VBox Version: OSE other
Guest OSses: keine

Re: Docker Windows in Windows10 Guest dson't work

Post by BerndM »

Thanks for Your help. I've found that exist a second place to configure the virtualisation: Settings->System->acceleration. Here You can configure some other options. Default is not the best.

Is there a plan to improve this?
scottgus1
Site Moderator
Posts: 20965
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Docker Windows in Windows10 Guest dson't work

Post by scottgus1 »

BerndM wrote:a second place to configure the virtualisation: Settings->System->acceleration
In 6.1.x, the only setting that might have influence on nested virtualization there is "Enable Nested Paging", which really does more for the operation of the VM OS rather than the nested Virtualbox. Other OS's like Windows 10 and Server 2019 also like/require this setting enabled, even if not hosting a nested layer of virtualizer.

Paravirtualization does not have anything specific to do with Nested Virtualization. it is used in non-nested VMs too.
BerndM wrote:Default is not the best.
Default is to have Nested Paging enabled and the Paravirtualization set to the correct language spoken by the VM OS's paravirtualization comm channel, based on the chosen VM template. (The 2019 VM template does have a bug or two, one of which is having Paravirtualization defaulted to None, where it should have been Hyper-V. This is reported corrected in the 6.1.23 test builds.)
BerndM wrote:Is there a plan to improve this?
Not a doubt, for Virtualbox inside Virtualbox. Not sure about Hyper-V inside Virtualbox: that depends on what Oracle's paying customers want.
Heku
Posts: 4
Joined: 13. Nov 2020, 03:58

Re: Docker Windows in Windows10 Guest dson't work

Post by Heku »

Just login to vote for this feature, SLAT becomes more and more very important now since windows 11's WSL2 and WSA both require this, for the people like me uses windows guest, it's very appreciated that if you VB team could make this support high priority.

Great thanks.
scottgus1
Site Moderator
Posts: 20965
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Docker Windows in Windows10 Guest dson't work

Post by scottgus1 »

Heku wrote:Just login to vote for this feature, SLAT
The Bugtracker is the place for enhancement requests. But be aware that Oracle's customers are the driving force in Virtualbox development.
Post Reply