Error: 0x8007019e

安装和启动

旧版本的 win10 需要在“控制面板->程序->启用或关闭Windows功能”勾选“适用于Linux的Windows子系统(Beta)”

由于现在这个功能已经不再是 beta 功能了,只要保证你的 windows 安装了最新的所有补丁与更新,这个选项就已经不复存在了,取而代之的,只要在 windows 自带的应用商店(Microsoft Store)上搜索 linux,下载并安装即可

 

可以看到,目前 windows 中提供了 Debian、Ubuntu、Kali、SUSE、openSUSE 等发行版,发行版的数量还在不断的增加,可以说是任你选择了,博主选择了现在非常流行的 ubuntu 系统安装

安装完成后,在开始菜单就会出现图标,点击进入即可,当然,你也可以选择点击 win + R 在运行窗口中键入 bash 打开

 

安装好的是一个非常初步的 linux 操作系统,相信诸如用户创建、默认目录创建权限等等这里就不需要介绍了

0x80070057 错误

0x80070057 错误是因为你的 windows 还不是最新版,在线安装所有更新,重启电脑后再次尝试即可

0x8007019e 错误

安装过程中可能出现下面的文本提示:

1  Installing, this may take a few minutes...

2  Installation Failed!

3   Error: 0x8007019e

4   Press any key to continue...

这个问题是因为 windows 还没有启用 windows 子系统功能

“控制面板\所有控制面板项\程序和功能”中选择“启用或者关闭Windows功能”

 

或者在 Windows PowerShell(管理员)中输入:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem

-Linux

执行完成后重启电脑即可

0x800703fa

有时启动时会出现下面的报错:

1  WslRegisterDistribution failed with error: 0x800703fa

此时,在运行窗口中执行“services.msc”指令,在本地服务中重启 LxssManager 服务即可

相关文件目录位置

bash.exe 文件路径

既然通过 win + R 执行 bash 就可以打开,那么 bash.exe 当然是在系统环境变量 PATH 下,找一下就会发现,果然不出所料,在 C:\Windows\System32 目录下

bash 安装路径

win10 的 linux 子系统在下面的路径中:

C:\Users\${用户名}\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

windows 硬盘挂在路径

在 linux 子系统中,是完全可以访问任何 windows 磁盘的,所有的 windows 磁盘都默认挂载在 /mnt 路径下

更改 bash 配色

可以通过右击标题栏左上角图标弹出的菜单中,选择属性或默认值,来调整当前或默认配置

但是,通过这样来更改颜色有些复杂,这里提供一个开源工具来提供几个主题风格

https://github.com/zeyu203/console

解压 tool 目录下的 zip 包,在 windows 上执行:

1   colortool.exe [options] <schemename>

可选的 <schemename> 就是 schemes 目录下的文件名,你也可以定义自己喜欢的主题

可选的 options 有:

ColorTool 命令选项
选项完整选项说明
-?--help打印帮助信息
-c--current打印当前主题
-q--quiet不打印颜色表格
-d--defaults只更改默认主题
-b--both同时更改默认主题与当前主题
-s--schemes打印所有可选主题
-v--version打印版本号

 

使用 XShell 连接 win10 linux 子系统

也许你觉得 bash 的颜色难以调整,也许你觉得 bash 没有 XShell 或其他 shell 工具功能强大

总之,无论你出于什么理由,如果你也和博主一样,想要用 XShell 或其他 shell 工具连接到 linux 子系统上,那么就接着看吧

用 XShell 连接 linux 子系统的原理非常简单,子系统将 ssh 服务开启到某个端口(默认是 22 端口)上,然后 XShell 连接 localhost 对应的端口即可

linux 子系统中默认安装的 ssh 是缺少秘钥的,解决办法有两个,一个是手动配置 aes 等几种秘钥,这个对于大部分用户来说太过于繁琐和复杂,另一个解决办法是卸载掉 ssh 重新安装

执行下面命令即可:

1   sudo apt-get remove --purge openssh-server

2   sudo apt-get install openssh-server

重新安装后,那些密钥文件就会自动生成了,但是此时还是不能连接,博主遇到这个问题也是百思不解,按照网上的教程反复尝试都无法解决

最终,删除 ssh_config 后重启,居然就这样连接成功

1   sudo rm /etc/ssh/ssh_config

2   sudo service ssh --full-restart

xshell 配色

下面是一个博主自己设置的 xshell 配色供各位参考:

[Pastel on Black]

text(bold)=ffffff

magenta(bold)=8080c0

text=ffffff

white(bold)=ffffff

green=00ff00

red(bold)=ff0000

green(bold)=00ff00

black(bold)=000000

red=ff0000

blue=68b4ff

black=000000

blue(bold)=11b1ff

yellow(bold)=ffff00

cyan(bold)=00ffff

yellow=ffff00

magenta=8080c0

background=000000

white=c0c0c0

cyan=00bbbb

[Names]

count=1

name0=Pastel on Black

中文乱码

中文乱码的原因无非是系统没有安装中文语言包以及默认字符编码问题

针对两个问题分别解决即可

安装中文语言包

如果是 ubuntu 操作系统,那么首先要更新源,可以在网上查找到各个性能卓越的服务器上的源,这里就不罗列了

更新源以后,执行下面的命令安装中文语言包即可:

1   sudo apt install -y language-pack-zh-hans language-pack-zh-hans-base

设置默认字符编码

在用户目录下的 .profile 文件中添加:

1   LANG=zh_CN.UTF-8

如果想要影响所有用户,那么在 /etc/profile 文件中添加上述配置即可

安装 linux 第一时间应该做的事

上面所有问题都已经解决了,你已经可以上手做任何你说想要在 linux 下做的事情了

但是,也许你仍然觉得这样一个刚刚安装的系统非常不顺手,又不知道该从何变得更加顺手,那么,下面的几个建议你可以按照自己的喜好去执行

修改文件模式屏蔽字

linux 子系统默认的 umask 是 000,这意味着你创建的所有文件、目录都是 000 权限的,通过执行 umask 命令即可修改:

1   umask 002

当然了,最好是将这行命令放到 /etc/profile 或 bashrc 中

创建你的用户

刚刚安装的 linux 子系统的默认用户是 root,超级用户的权限过大,这当然是不行的,创建一个自己的用户是非常有必要的

  • 创建用户

执行 adduser ${username} 即可

  • 授权

执行 sudoers 会提示“未找到这个命令”,此时,执行 whereis sudoers 返回 /etc/sudoers,查看这个文件的权限会发现原来无法执行 sudoers 命令是因为没有编辑权限

此时执行下面命令为该文件添加编辑权限:

1   chmod -v u+w /etc/sudoers

打开这个配置文件,在其中添加权限描述即可:

1   ${username} ALL=(ALL) ALL

配置文件

  • bashrc

博主自己用的 bashrc 可以供大家参考,里面定义了一些命令的简化版,设定了字符编码、上面提到的 umask、同时有了 git 命令的自动补全脚本、增大 history 文件默认行数等,较为实用

我的 bashrc

针对 WSL,在 bashrc 里面引用的 .init.sh 中,我加入了以下内容,用来启动必要的服务

1  nohup /usr/bin/php /root/.init.php > /dev/null 2>&1 0</dev/null &

在 .init.php 中写入了

<?php
$start_service = array("mysql", "ssh", "cron");
$input = shell_exec("/usr/sbin/service --status-all");
$arr = explode(PHP_EOL, $input);

$log_base = '/root/.techlog_log/serviceinit.log-';
$log_file = $log_base.date('Y-m-d');
$old_file = $log_base.date('Y-m-d', time() - 7*86400);
if (file_exists($old_file)) {
    unlink($old_file);
}

foreach ($arr as $service) {
    $infos = explode(']', $service);
    if (sizeof($infos) == 2) {
        $infos[0] = trim(str_replace("[", "", $infos[0]));
        $infos[1] = trim($infos[1]);
        if (in_array($infos[1], $start_service)) {
            if ($infos[0] !== '+') {
                $result = shell_exec('/usr/sbin/service '.$infos[1].' start');
                file_put_contents($log_file, date('Y-m-d H:m:s')."\t"
                    .str_replace(PHP_EOL, " ", $result).PHP_EOL, FILE_APPEND);
            }
        }
    }
}
?>

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用和提到了类似的错误信息,即"WSLRegisterDistribution failed with error: 0x800701bc"。这个错误通常是在安装或注册WSL(Windows Subsystem for Linux)子系统时发生的。 引用提到了一个不同的错误代码"0x80370102",它可能与WSL的新版本或其他特定情况有关。 针对你的问题"WslRegisterDistribution failed with error: 0x8007019e",根据给出的引用,没有提到这个具体错误代码的含义。然而,根据我对WSL的了解,这个错误代码可能是一个特定的错误,可能涉及到WSL的配置、安装或版本兼容性等方面的问题。 为了解决这个问题,你可以尝试以下几个步骤: 1. 确保你的操作系统是最新版本,并且已经安装了最新的更新和补丁。 2. 检查你的系统是否满足WSL的最低要求,包括64位操作系统、虚拟化功能的启用等。 3. 确认你已经按照正确的步骤安装了WSL,并且没有出现任何错误提示。 4. 如果你尝试使用命令行或脚本进行WSL的安装,可以尝试使用其他方法,例如使用Windows应用商店安装或使用WSL安装程序进行安装。 5. 如果你已经成功安装了WSL,但仍然遇到错误,请尝试重新注册WSL分发版。你可以使用以下命令: `wsl --unregister <DistributionName>` `wsl --register <DistributionName> <PathToInstallationFile>` 其中,`<DistributionName>`是你要注册的WSL分发版的名称,`<PathToInstallationFile>`是WSL分发版的安装文件路径。 6. 如果上述步骤仍然无法解决问题,可以尝试卸载并重新安装WSL。 总之,WslRegisterDistribution failed with error: 0x8007019e错误代码的具体含义可能需要进一步的研究和调查。我建议你参考官方文档、技术支持论坛或联系微软支持团队以获取更详细的帮助和解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [WslRegisterDistribution failed with error_ 0x8007019e、0x800701bc、0x80370102](https://blog.csdn.net/qq_37085158/article/details/125172803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [wsl_update_x64.zip](https://download.csdn.net/download/FL1623863129/86263481)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值