开启WSL2,获得docker desktop的最佳性能

windows默认拥有WSL1

PS C:\Users\supermao> wsl --list --verbose
NAME STATE VERSION
* kali-linux Stopped 1
PS C:\Users\supermao> kali
┏━(Message from Kali developers)

┃ This is a minimal installation of Kali Linux, you likely
┃ want to install supplementary tools. Learn how:
┃ ⇒ https://www.kali.org/docs/troubleshooting/common-minimum-setup/

┗━(Run: “touch ~/.hushlogin” to hide this message)
┌──(supermao㉿DESKTOP-TILPHEL)-[~]
└─$

我在microsoft store里下载了kali,默认是wsl1。kali只是我的子系统,使用desktop无需专门下载kali,只需要安装wsl2

使用管理员身份打开powershell命令行

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

wsl --set-default-version 2

这个命令设置了将来新安装的WSL发行版的默认版本为WSL 2

WSL2依赖于hyperv

WSL2它实际上运行在一个轻量级的Hyper-V虚拟机中,并使用了一个真正的Linux内核。这使得WSL2能够提供与Linux更接近的性能和兼容性。

在docker-desktop里选择WSL2 based engine

前提基于hyperv已经开启

管理员 打开 powershell

PS C:\Windows\system32> bcdedit /set hypervisorlaunchtype auto

条命令打开hyperv 去兼容 wsl2 执行后重启

如果关闭了hpyerv wsl2将无法启动

C:\Users\supermao>wsl
当前计算机配置不支持 WSL2。
请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用了虚拟化。
有关信息,请访问https://aka.ms/enablevirtualization
Error code: Wsl/Service/CreateInstance/CreateVm/0x80370102

关闭hyperv对于wmware是有利的



能够使用intel vt-x/ept 开启后可以使用wmware的虚拟机嵌套

开启hyperv2 wmware将无法使用intel vt-x/ept

开启hyperv对于wmware是负优化,降低性能的同时,无法实现kvm等虚拟机嵌套

侧通道缓解。侧通道缓解可增强安全性,但也会降低性能。这一条wmware虚拟机的开机信息与hyperv的开启也有关

hyper-v和vmware的vt-x是有冲突的

关闭hyperv,获取更多的VMware功能

管理员打开powershell

PS C:\Windows\system32> bcdedit /set hypervisorlaunchtype off

操作成功完成。执行后重启

可以正常使用wmware虚拟机嵌套,但是无法打开docker desktop以及wsl2

至少降级wsl2为wsl1,可以在使用 vt-x/ept的同时使用kali

关闭hyperv后无法对kali进行wsl1的转换

PS C:\Windows\system32> wsl --set-version kali-linux 1
正在进行转换,这可能需要几分钟时间。
当前计算机配置不支持 WSL2。
请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用了虚拟化。
有关信息,请访问https://aka.ms/enablevirtualization
Error code: Wsl/Service/CreateVm/0x80370102
PS C:\Windows\system32>

无法对kali进行wsl1的转换

先开启hyperv

PS C:\Windows\system32> bcdedit /set hypervisorlaunchtype auto

操作成功完成 执行后重启

管理员执行powershell

PS C:\Windows\system32> wsl --set-version kali-linux 1
正在进行转换,这可能需要几分钟时间。
操作成功完成。
PS C:\Windows\system32> wsl --set-default-version 1
操作成功完成。
PS C:\Windows\system32>

进入cmd进行查看

C:\Users\supermao>wsl --list --verbose
NAME STATE VERSION
* kali-linux Running 1
docker-desktop Stopped 2
docker-desktop-data Stopped 2

PS C:\Windows\system32> bcdedit /set hypervisorlaunchtype off

操作成功完成 执行后重启

docker desktop 与 wmware tv-x的更多相关文章

  1. Mac OS用docker Desktop安装单节点kubernetes

    方案: 安装方式:阿里云minikube,k8s官方minikube,kubeadm, docker Desktop中自带第k8s 安装环境:在linux虚拟机中安装k8s,在macos中安装k8s, ...

  2. Homebrew 安装 Docker Desktop for Mac

    无意中发现Homebrew现在已经支持Docker Desktop for Mac了,因此特意把原来通过 https://docs.docker.com/docker-for-mac/install/ ...

  3. macOS 安装 Docker Desktop CE(转)

    现在基本上都使用docker进行部署项目,所以还是有必要学习下,关于docker的简介这里就不在描述,本文转载自https://yeasy.gitbooks.io/docker_practice/co ...

  4. Docker Desktop for Windows 安装步骤

    Docker Desktop for Windows 安装要求 Docker Desktop for Windows需要运行Microsoft Hyper-V.如果需要,Docker Desktop ...

  5. (二) Windows 进行 Docker CE 安装(Docker Desktop)

    参考并感谢 官方文档: https://docs.docker.com/docker-for-windows/install/ 下载地址 https://download.docker.com/win ...

  6. Docker Desktop: Error response from daemon: driver failed programming external connectivity on endpoint xxx 问题

    右击任务栏 Docker 图标 `Restart` 或 `Quit Docker Deskto` 后之前正常的 zookeeper 容器不会自动启动 通过命令 docker start zk1 启动报 ...

  7. Docker zookeeper 集群 for Docker desktop (win)

    docker desktop win10 环境下的 zookeeper 容器创建并运及可能出现的问题: https://github.com/poazy/boazy-learn/blob/master ...

  8. Docker Desktop for Windows Experience

    Docker Desktop for Windows Experience: https://github.com/poazy/boazy-learn/blob/master/doc/Docker%2 ...

  9. Mac Docker Desktop "Mounts denied: EOF."解决方法

    环境 系统: Mac OS Catalina Docker Desktop: 问题描述 在Mac环境下创建容器时用"-v"参数挂载目录出现"docker: Error r ...

  10. 访问docker desktop创建的Hyper-v虚拟机DockerDesktopVM

    平常我们部署kubernetes ,一般都是先安装个linux操作系统,不管是centos或者ubuntu或者其他,都是我们手工操作的.安装好的这个操作系统都开启了SSH,能够远程登录访问. 但是do ...

随机推荐

  1. 如何提取 x64 程序那些易失的方法参数

    一:背景 1. 讲故事 最近经常遇到有朋友反馈,在 x64 环境下如何提取线程栈中的方法参数,熟悉 x64 调用协定的朋友应该知道,这种协定范围下,方法的前四个参数都是用寄存器传递的,比如rcx,rd ...

  2. call、apply 及 bind 函数

    首先从以下几点来考虑如何实现这几个函数 不传入第一个参数,那么上下文默认为 window: 改变了 this 指向,让新的对象可以执行该函数,并能接受参数. 实现call 首先 context 为可选 ...

  3. 《3D编程模式》写书-第1天记录

    大家好,我现在开始写书了,书名为:<3D编程模式> 我会在本系列博文中记录写书的整个过程,感谢大家支持! 这里是所有的的写书记录: <3D编程模式>写书记录 为什么写书 去年我 ...

  4. 成为钢铁侠!只需一块RTX3090,微软开源贾维斯(J.A.R.V.I.S.)人工智能AI助理系统

    梦想照进现实,微软果然不愧是微软,开源了贾维斯(J.A.R.V.I.S.)人工智能助理系统,贾维斯(jarvis)全称为Just A Rather Very Intelligent System(只是 ...

  5. [Nginx/Linux]Nginx从1.15.12平滑升级到1.17.5

    1 问题背景 nginx 安全漏洞(CVE-2019-9511) nginx 安全漏洞(CVE-2019-9513) nginx 安全漏洞(CVE-2019-9516) http://www.cnnv ...

  6. [数据结构]二叉搜索树(BST) VS 平衡二叉排序树(AVL) VS B树(平衡多路搜索树) VS B+树 VS 红黑树(平衡二叉B树)

    1 二叉排序树/二叉查找树/Binary Sort Tree 1种对排序和查找都很有用的特殊二叉树 叉排序树的弊端的解决方案:平衡二叉树 二叉排序树必须满足的3条性质(或是具有如下特征的二叉树) 若它 ...

  7. 点亮LED灯_STM32第一课

    基本原理 初始化Hal库 HAL_Init(); 系统时钟 SystemClock_Config();   GPIOB初始化:GPIOB模式为推挽输出,GPIO引脚为Pin_5.0.1代表红绿蓝LED ...

  8. Linux普通用户使用docker以及docker-compose

    # 添加limstorm普通用户到docker用户组 sudo gpasswd -a limstorm docker # 切换docker用户组,该命令类似login指令,当它是以相同的帐号,另一个群 ...

  9. Semantic Kernel 入门系列:📅 Planner 计划管理

    Semantic Kernel 的一个核心能力就是实现"目标导向"的AI应用. 目标导向 "目标导向"听起来是一个比较高大的词,但是却是实际生活中我们处理问题的 ...

  10. fzy&czn生日赛t1 CZN

    fzy&czn生日赛t1 CZN 膜拜hybb首杀 目录 fzy&czn生日赛t1 CZN 题目背景 题目描述 分析 my code wnag's code 题目 题目背景 有一天,c ...