前言 经常使用电脑的同学一定不陌生 Linux 操作系统, Linux 作为一种开源操作系统其好处自不必说:免费、稳定、兼容性等等,对于从事IT研发工作的同学, Linux 操作系统就更加的不可或缺了。 但现实情况却是绝大部分个人PC都是 Windows ,部分是 Mac ,几乎没有 Linux ,尽管 Linux 也推出了不错的桌面发行版,比如 Ubuntu (可见拥有自己的硬件产品是多么的重要...)。对于想体验 Linux 的同学,再买一台电脑重装成 Linux 操作系统似乎代价过于高昂,于是双系统与虚拟机成了唯二的选择,双系统本文不做介绍(仅来回切换系统这一点就让笔者直接放弃),本文主要介绍如何在 Windows 操作系统中使用 Linux 虚拟机。 VMware与VirtualBox 说到虚拟机,就不得不提 VMware 和 VirtualBox 是两种虚拟化软件。 VMware 是一个商业性质的虚拟化解决方案,提供了丰富的功能并且具有较高的性能,但是是收费的。 VirtualBox 则是一款开源的虚拟化软件,但功能相对于 VMware 有限。 对于笔者来说,是否收费倒不是第一考虑因素(收费软件在国内的待遇懂的都懂~),安装配置是否方便,使用起来是否丝滑才是最重要的。遗憾的是这两个产品都过于笨重、繁琐,尽管经过多年的版本迭代已经有了很大的改善,但仍不尽如人意。苦于并没有更好的选择,笔者曾用过很长一段时间的 VMware ,直到 WSL 的问世。 关于WSL 问题1 : WSL 是什么? WSL :适用于 Linux 的 Windows 子系统( windows subsystem for linux ),可让开发人员直接在 Windows 上按原样运行 GNU/Linux 环境,包括大多数命令行工具、实用工具和应用程序,且不会产生传统虚拟机或双启动设置开销。 问题2 :为什么使用 WSL ? 方便:在 Windows 下使用 Linux ,无需另外设置虚拟机或双系统,简化了操作。 效率: WSL 在 Windows 内核上运行,不会像虚拟机一样影响系统性能。 兼容性: WSL 可以运行大多数的 Linux 程序,可以使用 Windows 平台上的文件。 灵活性:可以在 Windows 环境中安装多个 Linux 发行版,可以选择合适的版本。 开发环境:对于软件开发者, WSL 可以提供一个统一的开发环境,方便在 Windows 下进行开发和测试。 WSL的安装 说明:本文中提到的 WSL 均代指 WSL2 ,对于 WSL1 本文不作讨论。 安装流程如下: 第一步:检查系统运行 WSL 的要求, WSL 需运行在 Windows 10 或者 Windows 11 操作系统上,对于 Windows 10 用户需检查系统版本是否适配( Windows 11 用户无视即可) 检查系统版本号,打开 cmd ( Windows 徽标键 + R ,键入 cmd 并点击"确定")并执行: winver ,即可弹出 Windows 版本信息窗口。 需要版本 1903 或更高版本,内部版本为 18362 或更高版本。若不然,可以在 Windows "设置"菜单中或者使用 Windows 更新助手进行更新。 第二步:启用 WSL 以及虚拟机功能。 以管理员身份打开 PowerShell 。 运行: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 。 运行: dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 。 重启计算机。 第三步:下载并安装 Linux 内核更新包,下载链接: https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package 。 第四步:将 WSL2 设置为默认版本,打开 cmd 并执行: wsl --set-default-version 2 。 第五步:选择你偏好的 Linux 分发版(笔者使用的是 Ubuntu20.04 ),打开 Microsoft Store ,搜索对应的 Linux 分发版点击"获取"然后点击"安装"即可。 第六步:启动 wsl ,打开 cmd 并执行: wsl ,即可启动 Linux 系统,首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上,未来的所有启动时间应不到一秒。然后按照提示输入用户名、密码即可。 WSL常用命令 说明:以下命令均在 cmd 中输入。 1.启动 WSL : wsl 。 2.关闭 WSL : wsl --shutdown 。 3.查看已安装的 Linux 分发版: wsl -l -v --all 。 4.卸载Linux分发版: a. 列出已安装的Linux 分发版:wslconfig /l 。 b. 卸载(假定要卸载的分发版为:Ubuntu-20.04 ):wslconfig /u Ubuntu-20.04 。WSL易用性设置(个人干货)设置WSL虚拟资源 WSL 启动之后会占用 Windows 系统部分系统资源,若占用过大则会导致 Winndows 系统卡顿,反之则可能导致在 Linux 中跑一些应用时卡顿,用户可以根据自身电脑的配置设置 WSL 占用系统资源的最大值来平衡这个问题。 步骤如下: 1.打开用户主目录,选择 Windows 徽标键 + R ,键入 %UserProfile% 并点击"确定",即可打开用户主目录。 2.在用户主目录下创建文件: .wslconfig ,并填入以下内容用以限制 WSL 占用的最大系统资源(具体值根据自身电脑配置而定): [wsl2] processors=4 memory=4GB swap=4GB localhostForwarding=true 3.重启WSL: a. 打开 cmd 。 b. 关闭 WSL : wsl --shutdown 。 c. 启动 WSL : wsl 。 修改WSL虚拟磁盘位置 Linux 分发版安装完成之后系统会为 WSL 分配一块虚拟磁盘用于存放 Linux 分发版的相关数据,该虚拟磁盘默认存放在 C 盘,随着持续使用,虚拟磁盘占用的空间可能会越来越大从而导致 C 盘空间不足的问题。通过以下步骤可以更改虚拟磁盘存放位置: 1.关闭 WSL : wsl --shutdown 。 2.导出分发版为 tar 文件到指定盘(比如 D 盘),首先,在 D 盘创建文件夹,名字随意,比如: ubuntu 。 然后,在 cmd 中执行: wsl --export Ubuntu-20.04 D:ubuntuubuntu2004.tar 。 3.注销当前分发版,在 cmd 中执行: wsl --unregister Ubuntu-20.04 。 4.重新导入并安装分发版到 D 盘的 ubuntu 文件夹,在 cmd 执行: wsl --import Ubuntu-20.04 D:ubuntuUbuntu-20.04 D:ubuntuubuntu.tar --version 2 。 5.设置默认登陆账户,在 cmd 中执行: ubuntu2004 config --default-user xxx ,其中 xxx 即为原 Linux 的用户名。 6.删除 tar 文件,在 cmd 中执行: del D:ubuntuubuntu.tar 。 操作完成之后就会在指定目录(比如: D:ubuntuUbuntu-20.04 )生成一个名为 ext4.vhdx 的虚拟磁盘文件: 清理虚拟磁盘空间 WSL 使用了虚拟磁盘,意味着它可能只有 15GB 的数据,但是虚拟磁盘却占用了 100GB 的空间。如果你往 WSL 中放了大量的数据,然后删掉,会发现 WSL 的磁盘占用没有降下来,这就是虚拟磁盘造成的。通过以下方法可以压缩虚拟磁盘空间,视使用情况每隔一段时间执行一次就好: 1.打开 cmd 。 2.关闭 WSL : wsl --shutdown 。 3.打开 diskpart : diskpart 。 4.选择虚拟磁盘,在 diskpart 中执行: select vdisk file="D:ubuntuUbuntu-20.04ext4.vhdx" 。 5.执行压缩,在 diskpart 中执行: compact vdisk 。 WSL安装图形界面 根据以上流程安装完 WSL 之后,对 Linux 系统的基本使用已经没什么问题了,稍显遗憾的是只能通过命令行来操作 Linux 系统,但某些时候,你可能还是要用到 Linux 上的图形界面程序,比如 Pycharm 、 Sublime Text 等等。可以通过远程桌面的方式来使用图形界面。 安装 xrdp : 1. sudo apt update 。 2. sudo apt upgrade 。 3. sudo apt install xorg 。 4. sudo apt install xfce4 5. sudo apt install xrdp 。 6.防止与 Windows 默认远程端口 3389 冲突,此处改为 3390 : a. sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini_bak 。 b. sudo sed -i "s/port=3389/port=3390/g" /etc/xrdp/xrdp.ini 。 7.防止闪退: sudo echo xfce4-session > ~/.xsession 。 8.重启 xrdp : sudo service xrdp restart 。 9.将 xrdp 服务设置为开机自启,在 ~/.bashrc 中添加: sudo service xrdp start 。 如何使用: 1.选择 Windows 徽标键 + R ,键入 mstsc 。 2.输入远程桌面 host 以及 port : localhost:3390 。 注意 :对于 Windows 版本 18945 之前的用户,可能会失败,如果失败,输入 127.0.0.1:3390 即可。 3.输入 Linux 用户名、密码。 黑屏问题解决, Xfce4 会自动锁屏,锁屏之后远程桌面会黑屏,解决方法如下: 1.关闭自动锁屏: Applications -> Settings -> Light Locking Settings -> Automatically lock the session -> Never 。 2.删除锁屏快捷键: Applications -> Settings -> Keyboard ,删除快捷键: ctrl + alt + l 、 ctrl + alt + delete 。 3.若不幸黑屏了,重启 WSL ,然后重新连接远程桌面即可。 写在最后 WSL 的安装以及基础使用教程就先介绍到这里了,每个流程步骤笔者都亲自验证过且不止一次,满满都是干货,开袋即食的那种。对于从事IT研发工作的同学一定会有些帮助的,对于圈子以外的同学...大家装完 WSL 平常有事没事去朋友面前装装X、吹吹牛,它不香吗! 智驱力-科技驱动生产力