0


【Windows 11】安装 Android子系统 和 Linux子系统

本文使用电脑系统:
在这里插入图片描述

文章目录

一、安卓子系统

1.1 安装 WSA

主要就是安装一个名为:适用于Android的Windows子系统(WSA)的软件。

首先在电脑的设置里面:时间和语言——语言和地区里面把地区改为美国。

然后到微软商店搜索:

Amazon AppStore

在这里插入图片描述

安装亚马逊应用商店的时候,会首先提示你安装前面说的WSA。如此,我们的目的就达成了。
在这里插入图片描述
至于亚马逊应用商店,不推荐使用了,他已经停止在国区的服务了。你可以注册一个美区的账号登录,自己去看(没必要)。

1.2 使用

现在,做一些设置之后就可以安装安卓APP了。

搜索栏搜Windows功能,在启用或关闭Windows功能里面,确保“虚拟机平台”、“

Hyper-V

”是勾选了的。同时,为了安装Linux子系统,这里把“适用于Linux的Windows子系统”也顺便勾选了。勾选之后,保存,重启电脑。(如果有关于WSL即Linux子系统的报错或提示,不要管)
在这里插入图片描述

打开WSA,在这里共享文件夹。目的:使安卓子系统可以访问Windows用户的文件,这样就可以安装我们下载到Windows的apk安装包了。
在这里插入图片描述

关闭WSA,去下载你要安装的软件的

apk

安装包,自己去网上搜就行,这种网站应该很多,我用的是:https://apkpure.com/cn/app(好像需要魔法)

把安apk装包保存到电脑的下载文件夹,或者用户文件夹下面的其他目录也可以。

打开WSA,点击系统——文件,来到这个界面:就是拿你Windows的部分存储空间模拟Android系统。
在这里插入图片描述

点击

Windows

,进去找到你保存的apk,单击,会弹出选项,选择安装即可。可能会报错,再试一次即可。

安装完成后就可以像使用其他Windows 软件一样打开了。

在这里插入图片描述


注:

现在先不要安装太多APP,等一下安装Linux子系统后可能会感染安装子系统,具体表现就是:启动安装APP的时候显示WSA已停止工作。 (我遇到了)

这时,在设置里面重置WSA就可以了,设置和安装的软件都会被清除,再重新走一遍流程就好了。
在这里插入图片描述

二、Linux子系统

2.1 安装 WSL 以及WSL 相关概念

在上一步,我们已勾选了“适用于Linux的Windows子系统”(WSL:Windows Subsystem for Linux)和“虚拟机平台”。

WSL 是一个为Windows 10和Windows Server 2019设计的兼容层,用于在Windows上运行Linux二进制可执行文件。以下是关于WSL的一些关键信息:

  1. 兼容性:WSL使您可以在Windows上运行Linux发行版的大多数命令行工具、应用程序和实用程序,而无需启动虚拟机或使用双启动。
  2. 集成:您可以在Windows和Linux之间无缝地移动文件,甚至可以在Windows的文件资源管理器中访问Linux文件。
  3. 性能:由于WSL是一个轻量级的兼容层,而不是完整的虚拟机,所以它的性能开销非常小
  4. 开发者友好:WSL对开发者特别有用,因为它允许他们在Windows上使用Linux的开发工具,并在同一台机器上测试跨平台应用程序。
  5. 版本:WSL有两个版本,WSL 1和WSL 2。WSL 2引入了一个完整的Linux内核,提供了更好的性能和完整的系统调用兼容性。

从“Windows功能”中启用的WSL版本是

WSL 1

**建议使用

WSL 2

**,去微软商店搜索WSL,即可看到(微软官方的那个),安装它。

在这里插入图片描述

1 和 2的对比:
特性/方面WSL1WSL2架构兼容性层完整的Linux内核性能文件系统性能较慢尤其在使用Linux原生文件系统时更快系统调用有限支持完全的系统调用兼容性Docker支持有限原生支持网络与主机共享IP使用自己的IP地址文件系统通过DrvFs访问Windows文件通过9P协议访问Windows文件启动时间更快由于VM启动而略慢(其实很快)内存使用较低由于VM而使用更多内存发行版支持Microsoft Store中提供的所有发行版Microsoft Store中提供的所有发行版 + 自定义发行版内核更新与Windows更新绑定可以独立更新


2.2 安装一个Linux发行版

WSL 2 包括一个完整的 Linux 内核。这是 WSL 1 和 WSL 2 之间的主要区别之一。

  • WSL 1:它使用一个兼容性层来运行 Linux 二进制文件。这意味着它不包括一个真正的 Linux 内核,而是模拟 Linux 内核的行为。这使得 WSL 1 在某些情况下的性能不如 WSL 2,特别是在涉及文件系统操作时。
  • WSL 2:它使用一个真正的 Linux 内核,并运行在一个轻量级的虚拟机中。这提供了更好的性能和完整的 Linux 系统调用兼容性。微软为 WSL 2 提供了一个专门的 Linux 内核,但用户也可以自行更新或修改这个内核。

这个内核是作为一个单独的组件与 Windows 一起分发的,这意味着它可以独立于 Windows 更新进行更新。这为用户提供了更大的灵活性,允许他们更容易地获取内核的新版本和功能。


即使WSL 2包含了一个完整的Linux内核,用户仍然需要下载一个Linux发行版,原因如下:

  1. 用户空间与内核空间:Linux操作系统可以分为两个主要部分:内核和用户空间。内核负责与硬件交互、管理资源等,而用户空间包含了所有用户级应用程序和工具。WSL 2提供了Linux内核,但用户仍然需要一个Linux发行版来提供用户空间的组件。
  2. 发行版的选择:Linux有多个发行版,如Ubuntu、Debian、Fedora等,每个发行版都有其特定的软件包、配置和工具。用户可以根据自己的需求和喜好选择合适的发行版。
  3. 软件包管理:每个Linux发行版都有自己的软件包管理器,如Ubuntu的apt、Fedora的dnf等。这些工具允许用户轻松地安装、更新和管理软件。
  4. 环境配置:不同的Linux发行版可能会有不同的默认环境配置、服务和工具。下载特定的发行版允许用户获得他们期望的工作环境。
  5. 兼容性:某些应用程序或工具可能在特定的Linux发行版上运行得更好或只在特定的发行版上可用。

安装Linux发行版有多种方式,本文介绍最基本的2中。

2.21 从Microsoft Store 安装

直接去微软商店搜索你要安装的发行版即可,比如Ubuntu,然后选择你要的版本,下载。

下载完成后,双击,就会启动安装程序:期间需要你设置一个Linux用户

在这里插入图片描述

默认都是没有安装桌面的,启动方式有如下几种:

  • 运行(win r),wsl,回车(将启动默认的WSL发行版如果只安装了一个发行版,如Ubuntu,那么它就是默认的);
  • 运行,bash,回车(早期命令,不建议,可能会与Git Bash之类的冲突);
  • 运行,wt(Windows终端),新建一个Ubuntu的标签页。在这里插入图片描述

很多命令和命令行工作都是能正常使用的:
在这里插入图片描述

2.22 用命令安装

现在Powershell中运行

wsl--help

,你就可以看到wsl的命令,中文的,很好理解,我放在文章末尾了。

这里做个示例:

(1)获取可供安装的Linux发行版:

wsl --list --online
以下是可安装的有效分发的列表。
使用 'wsl.exe --install <Distro>' 安装。

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_7_9                        Oracle Linux 7.9
OracleLinux_8_7                        Oracle Linux 8.7
OracleLinux_9_1                        Oracle Linux 9.1
openSUSE-Leap-15.5                     openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed                    openSUSE Tumbleweed

(2)安装你需要的发行版:

wsl --install Ubuntu-22.04

其他的就没什么好说的了。

2.23 拓展

  1. 查看wsl版本:wsl --version 这个命令输出的是wsl的具体软件版本,并不是我们说的WSL1和WSL2,比如在这里插入图片描述
  2. 如果要查看使用的是WSL1还是WSL 2,可以使用:wsl --list --verbose在这里插入图片描述 或者使用:wsl --status在这里插入图片描述 或者在运行的Linux里面使用:uname -a查看在这里插入图片描述
  3. 设置WSL的默认版本:wsl --set-default-version 2 这个命令将设置未来安装的所有Linux发行版的默认WSL版本。已经安装的发行版的版本不会受到影响 如果要更改已安装的特定Linux发行版的版本,例:wsl --set-version Ubuntu 2
  4. 安装了多个Linux发行版,设置默认启动某一个发行版,示例:wsl --set-default Ubuntu

三、拓展

建议安装Linux-Windows双系统或者使用服务器。建议在电脑上运行各种软件的电脑版。

这种虚拟化技术,有时候可能并不稳定,可以用来娱乐、学习。

3.1 存储位置

在WSL中,Linux发行版的文件系统被存储为一个特殊的文件,通常称为“磁盘映像”文件。对于WSL 1和WSL 2,这些文件的存储位置略有不同:

  1. WSL 1:- WSL 1的Linux发行版文件系统被存储在Windows文件系统中的一个隐藏文件夹中。通常,这个位置是:C:\Users\<YourUsername>\AppData\Local\Packages\<DistroPackageName>\LocalState\rootfs\ 其中<YourUsername>是Windows用户名,<DistroPackageName>是Linux发行版的包名,例如CanonicalGroupLimited.UbuntuonWindows对于Ubuntu。
  2. WSL 2:- WSL 2使用了一个真正的Linux内核和一个轻量级的虚拟机。因此,它的文件系统被存储为一个VHDX文件,通常位于:C:\Users\<YourUsername>\AppData\Local\Packages\<DistroPackageName>\LocalState\ext4.vhdx

在这里插入图片描述

一般来说,这样安装的Ubuntu位于我们的C盘,包括内核、附加组件等等。我按照后,大概占用了20G左右(应该还包括其他内容)。


前面说过,WSL中的Linux要Windows是共享存储空间的,也就是说他会把Windows的各个磁盘、分区挂载到根目录下。当然了,他会拿出一部分存储空间为Linux系统服务,比如他会使用一个轻量性的虚拟机来运行Linux内核,这部分空间的文件系统是ext4(Linux主流文件系统)。

而原本的Windows的各个分区仍然保持他们原本的文件系统类型(比如NTFS),只不过采用“

9P

”协议,挂载到Linux根目录下。
在这里插入图片描述

3.2 虚拟化技术

**

Hyper-V

是Microsoft提供的一种硬件虚拟化技术,允许用户在单个物理计算机上运行多个虚拟化的操作系统**。它是Windows Server 2008中引入的,并且后来也被包括在某些Windows客户端版本中,如Windows 10和Windows 11的专业版和企业版。

以下是Hyper-V的一些关键特点和功能:

  1. 硬件虚拟化:Hyper-V使用硬件辅助虚拟化技术,这要求物理计算机的CPU支持虚拟化,并且这一功能已被启用。
  2. 隔离:每个虚拟机都在其自己的隔离环境中运行,这为每个虚拟机提供了操作系统级别的隔离。
  3. 灵活的资源管理:用户可以为每个虚拟机分配特定的CPU、内存、存储和网络资源。
  4. 虚拟硬盘:Hyper-V支持多种虚拟硬盘格式,如VHD和VHDX。
  5. 虚拟网络:Hyper-V允许创建和管理虚拟网络交换机,从而实现虚拟机之间以及虚拟机与外部网络之间的通信。
  6. 集成服务:这些是运行在虚拟机内部的特殊服务,用于提高性能和使虚拟机能够与Hyper-V宿主更好地交互。
  7. 快照和检查点:允许用户捕获虚拟机的当前状态,以便在将来需要时恢复到该状态。
  8. 与WSL 2的关系:虽然WSL 2使用了一个轻量级的虚拟机来运行Linux内核,但它不直接使用Hyper-V。然而,WSL 2和Hyper-V都依赖于相同的底层虚拟化技术。
  9. 兼容性:在启用Hyper-V后,某些其他的虚拟化解决方案可能无法正常工作,因为它们可能与Hyper-V冲突。

Hyper-V主要用于企业环境中的服务器虚拟化,但它也可以在桌面环境中用于开发、测试或学习目的。


虚拟机平台”(Virtual Machine Platform)是Windows的一个可选功能,它为Windows提供了一个轻量级的虚拟化解决方案,特别是为了支持WSL 2。

以下是“虚拟机平台”的一些关键点:

  1. WSL 2支持:与WSL 1不同,WSL 2使用了一个真正的Linux内核,并在轻量级的虚拟机上运行。为了支持这种虚拟化,Windows引入了“虚拟机平台”功能。
  2. 轻量级虚拟化:“虚拟机平台”提供了一个轻量级的虚拟化解决方案,与Hyper-V相比,它更为简单和高效。它专为运行WSL 2和其他轻量级虚拟化任务而设计。
  3. 与Hyper-V的关系:虽然“虚拟机平台”和Hyper-V都使用相同的底层虚拟化技术,但它们是为不同的用途设计的。可以同时启用“虚拟机平台”和Hyper-V。
  4. 启用/禁用:要使用WSL 2,需要启用“虚拟机平台”功能。这可以通过Windows功能设置或使用命令行工具完成。
  5. 硬件要求:“虚拟机平台”要求计算机支持硬件虚拟化,并且这一功能已被启用。

3.3 Windows 虚拟内存

同Linux的交换分区(文件)类似,Windows虚拟内存是一种内存管理功能,它使计算机可以使用硬盘空间作为RAM(随机存取存储器)。当计算机的物理RAM被使用完时,Windows会将部分数据移动到硬盘上的一个名为“页面文件”(或“交换空间”)的区域,从而释放RAM空间供其他程序使用

虚拟内存(页面文件)与Hyper-V和“虚拟机平台”是两个完全不同的概念,它们之间没有直接的依赖关系。
在这里插入图片描述
一般都是系统自动设置的,也可以自定义:
在这里插入图片描述

3.3 wsl 帮助文件

用法: wsl.exe [Argument][Options...][CommandLine]

运行 Linux 二进制文件的参数:

    如果未提供命令行,wsl.exe 将启动默认 shell。

    --exec, -e<CommandLine>
        不使用默认 Linux shell 执行指定的命令。

    --shell-type <Type>
        使用提供的 shell 类型执行指定的命令。

        类型:
            standard
                使用默认 Linux shell 执行指定的命令。

            login
                使用默认 Linux shell 作为登录 shell 执行指定的命令。

            none
                不使用默认 Linux shell 执行指定的命令。

    --
        按原样传递命令行的剩余部分。

选项:
    --cd<Directory>
        将指定的目录设置为当前工作目录。
         如果使用 ~,则将使用 Linux 用户的主路径。如果路径以
        / 字符开头,它将解释为绝对 Linux 路径。
        否则,该值必须为绝对 Windows 路径。

    --distribution, -d<Distro>
        运行指定的分发。

    --user, -u<UserName>
        以指定的用户身份运行。

    --system
        启动 shell 进行系统分发

用于管理适用于 Linux 的 Windows 子系统的参数:

    --help
        显示用法信息。

    --debug-shell
        打开 WSL2 调试 shell 以进行诊断。

    --event-viewer
        打开 Windows 事件查看器的应用视图。

    --install[Distro][Options...]
        安装适用于 Linux 的 Windows 子系统分发。
        若要查看有效分发列表,请使用 'wsl.exe --list --online'。

        选项:
            --no-launch, -n
                安装后不要启动分发。

            --web-download
                从 Internet 而不是 Microsoft Store 下载分发。

            --no-distribution
                仅安装所需的可选组件,不安装分发。

    --mount<Disk>
        在所有 WSL 2 分发中附加并装载物理或虚拟磁盘。

        选项:
            --vhd
                指定 <Disk> 代表虚拟硬盘。

            --bare
                将磁盘附加到 WSL2 但不装载。

            --name<Name>
                为装入点使用自定义名称装载磁盘。

            --type<Type>
                装载磁盘时使用的文件系统,如果未指定则默认为 ext4。

            --options<Options>
                其他装载选项。

            --partition<Index>
                要装载的分区索引,如果未指定则默认为整个磁盘。

    --release-notes
        打开 Web 浏览器查看 WSL 发行说明页面。

    --set-default-version <Version>
        更改新分发的默认安装版本。

    --shutdown
        立即终止所有正在运行的分发和 WSL 2
        轻型虚拟机。

    --status
        显示适用于 Linux 的 Windows 子系统的状态。

    --unmount[Disk]
        从所有 WSL2 分发中卸载并分离一个磁盘。
        如果未使用参数调用,则卸载并分离所有磁盘。

    --update
        更新适用于 Linux 的 Windows 子系统程序包。

        选项:
            --web-download
                从 Internet 而不是 Microsoft Store 下载更新。

            --pre-release
                如果可用,则下载预发布版本。表示使用 --web-download。

    --version, -v
        显示版本信息。

用于管理适用于 Linux 的 Windows 子系统中的分发的参数:

    --export<Distro><FileName>[Options]
        将分发导出为 tar 文件。
        对于标准输出,文件名可以是 "-"。

        选项:
            --vhd
                指定应导出为 .vhdx 文件的分发。

    --import<Distro><InstallLocation><FileName>[Options]
        将指定的 tar 导入为新分发。
        对于标准输入,文件名可以是 "-"。

        选项:
            --version<Version>
                指定要为新分发使用的版本。

            --vhd
                指定提供的文件为 .vhdx 文件,而不是 tar 文件。
                此操作将在指定的安装位置生成一个 .vhdx 文件的副本。

    --import-in-place <Distro><FileName>
        将指定的 .vhdx 导入为一个新分发。
        此虚拟硬盘必须使用 ext4 文件系统类型格式化。

    --list, -l[Options]
        列出分发。

        选项:
            --all
                列出所有分发,包括
                目前正在安装或卸载的分发。

            --running
                仅列出目前正在运行的分发。

            --quiet, -q
                仅显示分发名称。

            --verbose, -v
                显示所有分发的相关详细信息。

            --online, -o
                使用 'wsl.exe --install' 显示可以安装的可用分发列表。

    --set-default, -s<Distro>
        将分发设置为默认分发。

    --set-version <Distro><Version>
        更改指定分发的版本。

    --terminate, -t<Distro>
        终止指定分发。

    --unregister<Distro>
        注销分发并删除根文件系统。

把永远爱你写进诗的结尾~

标签: windows android linux

本文转载自: https://blog.csdn.net/weixin_43764974/article/details/132268834
版权归原作者 感谢地心引力 所有, 如有侵权,请联系我们删除。

“【Windows 11】安装 Android子系统 和 Linux子系统”的评论:

还没有评论