首页 > 其他分享 >win10下WSL2子系统与winnfsd使用

win10下WSL2子系统与winnfsd使用

时间:2024-07-31 16:51:53浏览次数:12  
标签:网卡 windows wsl winnfsd -- Ubuntu win10 WSL2

1 安装WSL2子系统

1.1 下载安装

进入windows Store,搜索Ubuntu,下载:
image

1.2 开启依赖

右键windows左下角->应用和功能->相关设置-程序和功能->启用或关闭windows功能。勾选适用于Linux的windows子系统和虚拟机平台(WSL2需要)选项:
image

也可以直接在powershell中输入如下两条指令开启:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

1.3 启动WSL Ubuntu

wsl是windows控制Ubuntu镜像的工具。

1.3.1 查看版本为WSL2

安装完成后,启动Ubuntu,会提示创建用户。在powerShell中输入:

wsl -l --all -v

image

可以看到版本为wsl2。如果不是wsl2,请按照下面方式升级:

wsl --set-version Ubuntu-20.04 2

提示需要更新内核组件,我们这里直接下载linux内核包进行安装:

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

使WSL 2成为你的默认体系结构:

wsl --set-default-version 2

1.4 导出Ubuntu到D盘

默认会安装到c盘:C:\Users\robin.lee\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc

image

wsl --shutdown //关闭虚拟机
wsl --export Ubuntu-20.04 D:\wsl-ubuntu20.04.tar //导出打包到D:\wsl-ubuntu20.04.tar
wsl --unregister Ubuntu-20.04  //注销当前分发版
wsl --import Ubuntu-20.04 D:\wsl2-ubuntu20.04 D:\wsl-ubuntu20.04.tar --version 2 //重新导入并安装WSL2到指定目录

导出完成后,在相应磁盘路径下即可看到文件夹:
image

可以删除tar文件,也可保留,方便损坏后重新导入tar文件。

1.5 wsl2与windows相互访问

1.5.1 wsl2访问windows

直接在ubuntu中访问/mnt/下磁盘挂载目录即可:
image

1.5.2 windows访问wsl2

直接在资源管理器中输入\\wsl$ 即可:

\\wsl.localhost\Ubuntu

image

为了方便,固定到快速访问。注意这是不能再透过/mnt目录访问自己,如c,d盘:
image

1.6 vhdx虚拟磁盘瘦身

由于WSL2使用虚拟硬盘(VHD)存储linux下的文件,随着Linux下文件越来越多,占用空间也会不断增长。但是,在Linux中减少文件占用,WSL却没有相应的自动减少硬盘空间的占用。如下可以看到vhdx虚拟磁盘文件很大。
image

1.6.1 diskpart

执行diskpart,会弹出一个cmd窗口:输入如下命令即可完成瘦身。
image

select vdisk file="D:\WSL\Ubuntu2004\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk

image

1.7 连接USB设备

https://learn.microsoft.com/zh-cn/windows/wsl/connect-usb

1.8 美化终端

1.8.1 windows terminal

原生的Ubuntu窗口还是low了点,字体和字符编码支持得都不是很好。可以进入windows的应用商店下载windows terminal:
image

启动后界面如下,可自定义配色和语言字体等个性化设置。
image

2 winnfsd-windows搭建nfs服务

2.1 下载运行winnfsd

下载windows nfs服务Release 2.4.0 · winnfsd/winnfsd · GitHub,直接运行,选择要导出的目录:

.\WinNFSd.exe D:\code\
Usage: WinNFSd.exe [-id <uid> <gid>] [-log on | off] [-pathFile <file>] [-addr <ip>] [export path] [alias path]

wsl子系统默认是通过虚拟网卡NAT模式转接到笔记本的网卡上的,所以wsl是可以上网的:
image

目前wsl只支持一张虚拟网卡,也就是说wsl系统要上网和要和板子通信两者只能取其一,但是wsl系统中可以随意访问windows文件系统,所以可以在windows上搭建NFS服务,然后直接在wsl系统中访问windows导出的共享文件夹,这样就能同步更改到板子上了。

比如我们把D:\code作为开发目录,windows和wls都能访问,又能挂载到板子上。

2.2 配置Windows网卡和开发板互通

windows电脑的WIFI网卡上网, 以太网卡作为局域网和板端互通。

配置网卡ip;(网络适配器中找到对应网口的以太网卡,配置静态ip和网关)

2.3 挂载windows目录到板子

mount -t nfs -o nolock 192.168.1.100:/D/code /mnt/nfs

这里挂载d盘的code文件夹,注意D一定要大写。

这样D/code就挂载到了板端。同样D/code下可以在wsl下进行代码编辑编译浏览,编译好之后直接可以切到板端去运行测试。

标签:网卡,windows,wsl,winnfsd,--,Ubuntu,win10,WSL2
From: https://www.cnblogs.com/fuzidage/p/18334971

相关文章

  • win10 开启wsl
    开启hypver-v查看wslpoweershellwsl--list--online下载分发版本等待下载即可poweershellwsl--install-dUbuntu-20.04设置为wsl2poweershellwsl--set-default-version2使用wslpowershellwslmoberxterm设置到wslmoberxterm设置清华源/etc/ap......
  • wsl2配置
    参考网站https://dowww.spencerwoo.com/https://docs.eesast.com/docs/tools/wslEnable-WindowsOptionalFeature-Online-FeatureNameMicrosoft-Windows-Subsystem-Linux管理员权限下执行pwsh,打开wsl附加功能,然后重启dism.exe/online/enable-feature/featurename:Micro......
  • Win10/Win11安全中心无法打开解决方式
    按住win键+x打开powershell管理员模式然后输入以下代码sfc/SCANNOW1.等待扫描完成Dism/Online/Cleanup-Image/ScanHealth2.等待进度走完Dism/Online/Cleanup-Image/CheckHealth3.出现未检测到组件损坏,继续下一个命令操作DISM/Online/Cleanup-image/Rest......
  • Win10消除/恢复快捷方式小箭头
    去除箭头新建文本文件(.txt)复制下面代码粘贴后保存regadd"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIcons"/v29/d"%systemroot%\system32\imageres.dll,197"/treg_sz/ftaskkill/f/imexplorer.exestartexplorer......
  • 虚拟机win10无法联网
    虚拟机win10无法联网由于很多工具在宿主机中会被windowsdefender以及火绒等杀毒软件杀掉,所以专门装了个win10虚拟机用来装安全相关的软件,结果离开学校突然发现又不能联网了排查了一番后发现是DNS的错误于是把宿主机的DNS改了一下,发现没用,这个时候突然想到,之前自己好像是把虚......
  • Win10资源管理器文件夹错乱
    昨天晚上我不知道怎么搞得,鼠标在资源管理器界面,我手放在触控板上,不知道拖拽了啥,把所有文件搞到桌面文件夹下了。然后焦虑了一天,都打算从还原点还原了,然后今天早上更新了Windows,发现最新的还原点就在今早。。。无奈之下想到了去问问ChatGPT,然后居然它真的给了我一个有用的......
  • Win10 安装Bus Hound 后重启失败,启动修复 无法修复你的电脑 日志文件: E:\WINDOWS
    工作中用到了串口通讯,找到了BusHound,当安装完后提示重启,重启后直接启动失败。怀疑主要原因是安装了不支持Win10的BusHound版本,因为安装BusHound后会在系统中添加一个驱动: bhound7.sys,当Windows启动时加载bhound7.sys驱动失败导致Windows启动失败. 尝试了很多方法,包括进......
  • win10运行交互题
    这是题目给的题目要求输入的编译命令g++-O2-ogradergrader.cppramen.cpp在\(DEV\)下是运行不了的系统的\(CMD\)也是不行的但我们可以用\(DEV\)中的\(system\)函数运行intmain(){ system("g++-O2-ogradergrader.cppramen.cpp"); return0;}运行前在\(grade......
  • 【WSL2】在Windows通过自定义域名访问wsl2中的服务
    前言目前在windows与windows的wsl系统之间,宿主机无法通过相对较固定的方式来进行网络访问,通常需要使用wsl的ip来访问,而ip可能不是很直观并且可能会有变更,当前教程解决了这个问题,通过hosts映射的方式实现windows宿主机访问wsl服务。脚本的原理:在linux启动时,执行一次修改windows......
  • debian 和 win10 双系统 挂载分区
    在deepin系统空间不够了,双系统的win10还有挺大空间,于是挪过点给deepin使用。基本步骤在win10中,通过压缩磁盘的方式,制作一个分区。转到deepin下,用parted分区程序标记分区。一lsblk查看设备路径及设备号,/dev/sda6二用partedmkpart标记分区。使用sudomkfs.ex......