Part 1、启用WSL

WSL(Windows Subsystrem for Linux) 是Windows自带的一个很好用的工具平台,可以将其视为是一种轻量级的虚拟机。在启用了WSL之后,就能在其下安装某个Linux发行版,例如Ubuntu

本文将详细介绍WSL的安装和配置,以及WSL中Ubuntu的安装。

一、 准备工作

  1. 检查你的Windows登录账户名是否为全英文字母组成的(并且没有空格)。如果是,则直接转到二、启用WSL。 因为我们要使用的一些平台可能存在兼容性问题,所以要求Windows的登录账户名必须是全英文。

  2. 如果账户名含有中文或其他特殊符号,那么最简单的解决方案就是重新创建一个全英文的Windows账户。 这意味着你在用这个账户登录后,要重新安装必须的软件。

仅将原有账户改名不能达到目的。所以,你可能需要创建一个新的账户。

二、 启用WSL

注意:如果你的电脑上安装有模拟器,或者雷电之类的游戏,那么这可能会导致WSL无法启动。建议卸载模拟器后再启用WSL。

  1. 打开 控制面板,选择 程序和功能,选择 启用和关闭Windows功能,勾选图中红框内的两项:

    如果你没有找到“虚拟机平台”,那么请翻看窗口中有无“Virual Machine Platform”这个选项,找到后勾选它!

  2. 重新启动Windows。

3) 升级WSL到WSL2

下载wsl_update_x64.msi,然后用鼠标双击这个文件进行安装。

注意:如果安装此文件出现了错误不能安装,那么请忽略这个错误并且不再重试,而是跳过这步,继续后面Part 2中的步骤。

安装好后,用管理员身份运行Powershell,在窗口中输入如下命令:

wsl --set-default-version 2

请注意命令行中,各参数之间有空格。另外,请注意大小写。

Part 2、在WSL中安装Ubuntu

一、搜索Ubuntu

启用了WSL后,打开Windows Store,搜索Ubuntu,出现如下界面:

二、安装Ubuntu

1) 安装Ubuntu

建议选择Canonical Group Limited发布的最新版Ubuntu。选择“获取(get)”,其后的过程就是下载和安装。

Ubuntu安装完成后,你会看到Windows启动了一个“黑框框”,这个是Ubuntu的终端(terminal),你和Ubuntu系统的交互都在这个终端中进行。

Ubuntu 22.04的安装会有一个类图形化的界面。在这个界面中,需要在指定的输入框中输入信息。

注:如果终端中提示了错误,多半是因为没有将WSL升级到WSL2。升级后,在Windows的开始菜单中找到Ubuntu,启动它后安装过程将会继续。

2) 创建账户

安装过程中,系统会要求创建一个新账户及其密码。请按界面要求操作。

除了输入账户和密码外,其他操作全部使用默认即可。

请一定选一个合适的名字,强烈建议用不长的全英文,中间没有空格、符号等特殊字符。注意,英文必须是小写字母

关于创建密码

如果你选择的Ubuntu系统版本较低,那么在创建密码时需注意。当系统的输出信息是这样的:

Enter new UNIX password:

此时,你需要输入与账户关联的密码。注意!在输入密码时,屏幕上没有回显,即:你在敲键盘时,光标停在原地不动,屏幕上没有显示出你的输入。这是系统的一种安全措施,千万不要认为没有输进去哦!请一定要记住你输入的密码

三、打开Ubuntu

一旦Ubuntu安装好,那么在你的Windows系统的开始菜单里,你就可以找到Ubuntu,点击它即可打开一个Ubuntu终端。

但我建议用更便捷的方式打开它。找到Windows Terminal并打开,界面类似于下图:

也许你的默认界面不是Ubuntu,那么请点击Windows Terminal+号旁的向下箭头,在下拉菜单中找到Ubuntu并点击即可。

注:你可以设置 Windows Terminal 的外观,让它看起来更加漂亮!

3) 关于账户

如果上述操作无误,那么你会在Ubuntu中创建一个普通账户,拥有有限操作权限。这类账户的标志是:终端命令行提示符的最后一个字符是$。相较之下,拥有最高权限的root账户的是#

由于普通账户的权限受限,因此在需要更大权限时,你需要在输入的命令前加上sudo前缀。例如:

sudo cp /mnt/e/sources.list /etc/apt

注意:第一次使用sudo时,需要输入密码。此后,在权限超时之前,不再需要输入密码。 另外,root账户权限最高,因此在输入命令时,不需要加上sudo

如果你在Ubuntu第一次启动时,因为某种原因没有创建普通用户及其密码(例如直接关闭了终端),那么Ubuntu默认的账户就是root,建议你就使用这个账户。以后如果你熟悉了Linux系统,那么你可以自己创建一个普通账户,然后将默认账户改成它。

一个常见的问题是:如果你忘记了密码,那么很遗憾,你将无法使用sudo命令,从而导致系统不能用。这样,你只能重新安装Ubuntu了。

WSL启动过程中如果出现问题,请自行上网查看解决方案。

Part 3、 如何将Ubuntu迁移到C盘外的磁盘

WSL中默认安装的Ubuntu位置在Windows的系统盘C上面,会占据好几G的空间。为节约空间,我们可以将Ubuntu迁移到其他盘,例如D盘。

请谨慎操作,否则可能破坏你的Ubuntu。

  1. 查看在WSL中注册的Ubuntu的发行版

    以管理员身份运行Powershell,发出如下命令:

     wsl -l
    

    输出信息可能是:

     适用于 Linux 的 Windows 子系统分发:
     Ubuntu22.04 (默认值)
    

    那么系统里安装的Ubuntu发行版就是:Ubuntu 22.04

    注意:你的发行版可能和示例中的不一样,请在后文中使用你自己的!

  2. 备份Ubuntu

    Powershell中发出如下命令:

     wsl --export Ubuntu22.04 d:\ubuntu2204.tar
    

    此命令的意思是:将注册的发行版备份到D盘根目录下的ubuntu2204.tar文件中。

    请将命令中发新版的名字替换成你自己的

    注:这条命令还可以用于Ubuntu日常维护中的备份。

  3. 注销当前发行版

    Powershell中发出如下命令:

     wsl --unregister Ubuntu22.04
    
  4. 新建目录

    Powershell中发出如下一系列命令:

    注:这些命令需要一条一条发出。每发出一条命令后按回车,命令成功执行后再发第二条命令。

     d:
     mkdir Ubuntu
    

    以上两条命令的功能是:在D:盘上创建一个名为Ubuntu的子目录(文件夹)。迁移后的WSL系统就存放在这个目录中。

  5. 导入Ubuntu备份

    Powershell中发出如下命令:

     wsl --import Ubuntu22.04 d:\Ubuntu d:\ubuntu2204.tar
    

    此命令的功能是:将备份在D:盘的ubuntu2204.tar文件导入到目录d:\Ubuntu中,并注册恢复成原来的版本。

    注:这条命令可以用于恢复以前备份的Ubuntu。

  6. 启动Ubuntu

    如果操作无误,那么Ubuntu会正确启动,并且你原来的设置等全部都会保留。

    如果此时发现Ubuntu的默认账号不是你原来的那个,那么请阅读04开头的博文:part 3 配置WSL。