Hero Image
Windows10上安装WSL2

现在Windows (10)是越來越向Linux靠近了,对于开发者开说,特别是在Windows上的Linux子系统非常好用。 WSL2(Windows Subsystem for Linux )是Windows 10上的一个工具,允许开发人员在Windows上直接运行Linux环境,使得在Windows系统上进行Linux的原生体验。 对于WSL2,其底层通过微软的内置虚拟化技术(Hyper-V)实现Linux的环境。本文将一步步知道如何在Windows 10上启用WSL2,并安装一个Ubuntu 20.04分发版本的Linux。 前提条件 想要在Windows 10上启用WLS2,需要满足以下条件: Windows 10 版本 1903 Build 19362,或高于该版本 如果是ARM64的系统,则需要版本2004 Build 19041,或高于该版本 步骤一 - 为WSL启用Windows服务 想要在Windows 10上运行WSL,首先需要启用Windows上的一些服务,这些服务默认是关闭的。 开始菜单,搜索 PowerShell,右键 PowerShell,选择使用管理员运行。 在打开的 PowerShell 终端,执行如下命令: PS C:\Windows\system32> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart [dism.exe]是Windows的部署映像服务和管理工具,上面的命令开启了WSL的功能。 以上命令执行成功之后,继续执行如下命令来开启Hyper-V的功能 PS C:\Windows\system32> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 补充: 上面的两个操作也可以通过以下命令实现 PS C:\Windows\system32> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform, Microsoft-Windows-Subsystem-Linux 完成以上操作之后,需要重启Windows操作系统,重启之后再次登陆系统。 接下来需要从微软下载一个最新的Linux内核升级包并安装,下载安装包 wsl_update_x64.msi,下载完成后直接安装。 完成之后,以管理员身份运行 PowerShell,执行如下命令来设置wsl使用的默认版本 PS C:\Windows\system32> wsl --set-default-version 2 这里我们将默认设置为 wsl 2 。

Hero Image
加载virtio驱动的Windows10安装镜像

如今虚拟化已经非常流行,当我们使用Linux桌面环境时,可以通过安装libvirt和QEMU直接使用基于内核的虚拟化(KVM)来创建虚拟机并安装其他类型的操作系统。在基于Linux的服务器上,也可以通过oVirt或者PVE等基于KVM的虚拟化方案来实现虚拟机环境。 当我们想通过官方iso系统镜像安装比较新的Windows(例如Windows 10,Windows Server 2019等),在进入到选择安装磁盘,会发现找不到创建的虚拟磁盘,如下图所示 这是因为在官方的iso镜像中的Widnows未包含针对KVM的virtio-win驱动,因此我们可以基于Windows的iso镜像,加载virtio-win的相应驱动之后,重新创建一个包含了virtio-win驱动的iso镜像文件。 关于virtio-win的更多信息,可以参考 https://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers 。 前提条件 为了创建一个加载virtio-win驱动之后的iso镜像文件,我们需要以下准备: 具有管理员权限的Windows 10工作系统并安装Windows ADK Windows 10的安装iso文件(这里以Windows 10作为例子) virtio-win驱动的iso文件 (https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.196-1/virtio-win-0.1.196.iso) UltraISO工具 准备工作 创建工作目录 假设在你的Windows 10系统上有D盘,那我们在D盘创建相应的工作目录,以管理员权限打开PowerShell,并执行 PS D:\> mkdir D:\mnt\windows_temp,D:\mnt\boot,D:\mnt\install,D:\virtio-win 提取Windows安装文件 使用UltraISO工具打开windows 10的iso文件,并将所有文件提取到目录 *D:\mnt\windows_temp* 下 然后给Windows的镜像文件授权读写 PS D:\> attrib -r C:\mnt\windows_temp\sources\*.wim /s 提取virtio驱动文件 使用UltraISO打开下载的virtio-win的iso文件,同样提取到目录 *D:\virtio-win* 下,然后查看有哪些w10(针对windowns10)的驱动 我们可以看到在 0.1.196 版本中,包含了以下w10(64位)的驱动,为了方便后面一条命令加载所有驱动,我们把这些驱动重新放到一个目录下 PS D:\> cd virtio-win\ PS D:\virtio-win\> mkdir w10 PS D:\virtio-win\> cp -r .\Balloon\w10\amd64\ .\w10\Balloon PS D:\virtio-win\> cp -r .\NetKVM\w10\amd64\ .\w10\NetKVM PS D:\virtio-win\> cp -r .