Win10 使用 WSL2 安装 NixOS 以及踩坑记录

🎲 环境:Windows10 + WSL2 + NixOS


🚩 Win10 开启 WSL2

启用 WSL

以管理员身份打开 PowerShell 工具并运行以下命令

bash 复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

启动 Hyper-V

进入 控制面板 ,点击 程序 ,然后点击 启用或关闭 Windows 功能

如图所示,打开 Hyper-V 和 下面的适用于 Linux 的 Windows 子系统以及虚拟机平台

不过一般用户都是家庭中文版,没有 Hyper-V 的选项,所以要自行安装:

txt 复制代码
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

新建文本文件,将上述代码复制粘贴到其中,将文件名称修改为 hyper-v.bat

右键 以管理员身份运行,等待下载完毕,重启系统后就可以找到 hyper-v 的选项了

启用虚拟机平台

以管理员身份打开 PowerShell 并运行

bash 复制代码
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

此时应该重启系统,否则会出现预料之外的事情

设置 WSL2 为默认值

以管理员身份打开 PowerShell,然后运行以下命令以将 WSL 2 设置为 WSL 的默认版本

arduino 复制代码
wsl --set-default-version 2

🚀 WSL2 安装 NixOS

github仓库地址 下载 nixos-wsl-x86_64-linux.tar.gz,然后打开终端,输入命令,记得替换成自己的下载路径

css 复制代码
wsl --import NixOS .\NixOS\ .\Downloads\nixos-wsl-x86_64-linux.tar.gz --version 2

🎄 如果执行命令后,出现下述的提示信息:

WSL 2 需要更新其内核组件。有关信息,请访问 aka.ms/wsl2kernel

那么就点击提示给的链接,点击下图所示的链接,下载更新包

然后一直点 Next 就 OK 了

安装好后,可以在文件管理器看到 Linux 的目录

现在就可以使用下面的命令启动 NixOS 了

复制代码
wsl -d NixOS

如果想让 NixOS 成为 WSL 默认的 Linux 发行版,请输入

复制代码
wsl -s NixOS

!!! 下面的内容,才是我第一次安装出错的地方,因为下载的是 nixos-wsl-installer.tar.gz
所以下面的内容就当是记录了,如果不感兴趣的话,下面的内容就可以不用看了 😎

🌪 踩坑记录

出错了,执行完 wsl -d NixOS 命令后一直卡在 systemd 的启动上

然后再次执行时候就报错了:

nsenter: failed to parse pid: '-p'

不过好在我找到了这篇文章:discourse.nixos.org/t/nixos-wsl...

原来是压缩包下错了,应该下载的是 nixos-wsl-x86_64-linux.tar.gz 而不是 nixos-wsl-installer.tar.gz

重新执行上述步骤:

shell 复制代码
wsl --import NixOS .\NixOS\ .\Downloads\nixos-wsl-x86_64-linux.tar.gz --version 2

wsl -d NixOS

成功进入到了 Linux 系统!

相关推荐
黄昏晓x22 分钟前
Linux ---- UDP和TCP
linux·tcp/ip·udp
路溪非溪23 分钟前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
此刻觐神27 分钟前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
2401_8920709836 分钟前
【Linux C++ 日志系统实战】高性能文件写入 AppendFile 核心方法解析
linux·c++·日志系统·文件写对象
航Hang*39 分钟前
第3章:Linux系统安全管理——第2节:部署代理服务
linux·运维·服务器·开发语言·笔记·系统安全
-ONLY-¥1 小时前
PostgreSQL运维全攻略:从基础操作到远程配置
linux
独小乐1 小时前
009.中断实践之实现按键测试|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·arm
披着羊皮不是狼1 小时前
将Ubuntu从C盘移动到D盘
linux·运维·ubuntu
l2ohvef1 小时前
Windows 7 虚拟机 VMware Tools 安装失败:无法自动安装VSock 驱动程序
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志2 小时前
从零开始写Linux字符设备驱动:一个不操作硬件的Hello驱动
linux·运维·数据库