WSL2Linux 子系统(六)

WSL 连接USB

WSL (Windows Subsystem for Linux) 是一种在 Windows 操作系统上运行 Linux 应用程序的兼容层。它的主要作用是提供了一个类似于虚拟机的环境,使得在 Windows 上开发和运行基于 Linux 的应用变得更加方便。然而,WSL 目前还不支持直接通过 USB 接口连接设备。这意味着你不能在 WSL 中直接访问 USB 设备,例如 USB 存储设备、USB 打印机等。但是,你仍然可以通过其他方式在 WSL 中管理和使用 USB 设备。

一种常见的方法是在 WSL 中使用网络共享来访问在 Windows 主机上连接的 USB 设备。你可以通过将 USB 设备连接到 Windows 主机上,并在 WSL 中安装和配置 Samba 或 NFS 服务器来实现网络共享。然后,在 WSL 中,你可以使用网络共享来访问主机上连接的 USB 设备。另外,还有一些第三方工具可以帮助在 WSL 中连接 USB 设备,如 usbip、usb-redirector 等。这些工具可以实现 USB 设备的远程共享和传输,让你可以在 WSL 中使用 USB 设备。需要注意的是,具体的操作方法可能会因为不同的环境和设备而有所差异。因此,在尝试连接 USB 设备到 WSL 之前,请务必参考相关文档或搜索相关指南,以便找到适用于你的具体情况的最佳解决方案。

上一篇文章中讲解 《WLS2Linux 子系统编译 Android》,本篇则讲解WSL安装USB适配和挂载外部硬盘。

作者:炭烤毛蛋 ,点击博主了解更多。


文章目录

  • WSL 连接USB
  • 1. WSL 连接USB
  • 1.1 安装 usbipd-win
  • 1.2 安装 USBIPD工具
  • 1.3 连接 USB 设备
  • 1.4 wsl 映射 usb 连接
  • 2. WSL 挂载外部硬盘
  • 2.1 Powershell 挂载硬盘
  • 2.2 WSL 挂载硬盘
  • 结语


1. WSL 连接USB

受Windows系统版本限制,尤其是大版本迭代。USB共享时所用软件会略有不同,以下是基础注意事项。

  • Win11 (版本不低于22000),Win10请参考 usbipd官方教程。
  • USBIPD 仅支持x64/x86架构,暂不支持Arm64架构
  • Win系统正确安装WSL2环境

1.1 安装 usbipd-win

根据Microsfot官方教程可以提前官网下载需要安装usbipd-win releases软件,优选*.msi文件;下载完成然后执行安装,记得选择信任该驱动,等待安装完成即可。也可以借助系统powershell环境自动匹配软件,自动安装。

PS C:\WINDOWS\system32> winget install --interactive --exact dorssel.usbipd-win
“msstore”源要求在使用前查看以下协议。
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
源要求将当前计算机的 2 个字母的地理区域发送到后端服务才能正常工作,(例如"US")。

是否同意所有源协议条款?
[Y][N] 否: y

可以看到usbipd-win 安装指引,按照指引安装即可。
usbipd-win
注意: 安装完成需要重启powershell才生效。

1.2 安装 USBIPD工具

Windows环境安装usbip工具后,Linux环境还需要安装usbip工具。
启动WSL下面的Ubuntu系统,其它系统请参考官方教程。

sudo apt install linux-tools-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20

1.3 连接 USB 设备

  • 扫描usb 外设
    管理员身份运行一个PowerShell命令,然后执行扫描。
PS C:\WINDOWS\system32> usbipd wsl list
BUSID  VID:PID    DEVICE                                                        STATE
2-2    1c4f:0048  USB 输入设备                                                  Not attached
4-3    0403:6001  USB Serial Converter                                          Not attached
4-4    0403:6001  USB Serial Converter                                          Not attache
  • 连接 usb外设
usbipd wsl attach --busid <busid>

4-4 0403:6001 USB Serial Converter Not attache 为例,需要连接该设备则用如下命令

PS C:\WINDOWS\system32> usbipd wsl attach --busid 4-4
PS C:\WINDOWS\system32> usbipd wsl list
BUSID  VID:PID    DEVICE                                                        STATE
2-2    1c4f:0048  USB 输入设备                                                  Not attached
4-3    0403:6001  USB Serial Converter                                          Not attached
4-4    0403:6001  USB Serial Converter                                          Attached - WSL

注意:在连接USB设备前,需要确认打开的有一个WSL命令行界面,我们需要WSL2的VM环境是激活状态。

  • 断开 usb 外设
    在WSL 中usb设备使用结束可以直接拔掉或者通过Windows弹出USB 设备。即从物理层面断开USB设备连接,也可以通过 PowerShell 管理员模式执行弹出外设命令:
usbipd wsl detach --busid <busid>
  • WSL
    WSL 查看 usb 设备
lsusb
Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC

1.4 wsl 映射 usb 连接

除了使用powershell 命令连接共享网络USB,从WSL主动发起共享网络USB。

  • 查看可共享USB设备
usbip list -r $HOSTNAME.local
Exportable USB devices
======================
 - King.local
        4-4: Future Technology Devices International, Ltd : FT232 Serial (UART) IC (0403:6001)
           : USB\VID_0403&PID_6001\A50285BI
           : (Defined at Interface level) (00/00/00)
           :  0 - Vendor Specific Class / Vendor Specific Subclass / Vendor Specific Protocol (ff/ff/ff)
  • 共享USB 设备
sudo usbip attach -r $HOSTNAME.local -b <busid>  #连接USB设备,注意替换<busid>
  • 移除共享网络USB 设备
sudo usbip detach -r $HOSTNAME.local -b <busid>  #连接USB设备,注意替换<busid>

2. WSL 挂载外部硬盘

通过挂载外部硬盘到 WSL,你可以在 Windows 和 Linux 之间共享和传输数据。可以扩展你在 WSL 中的存储空间,避免存储空间不足的问题。WSL 提供了强大的命令行工具和 Linux 环境,可以用于各种数据处理任务。

2.1 Powershell 挂载硬盘

Powershell 比较简单挂载步骤如下:

  • 罗列可用磁盘
GET-CimInstance -query "SELECT * from Win32_DiskDrive"
DeviceID Caption Partitions Size Model
-------- ------- ---------- ---- -----
\\.\PHYSICALDRIVE0 SAMSUNG MZVL2512HCJQ-00BL2 4 512103934800 SAMSUNG MZVL2512HZJQ-00BL2
\\.\PHYSICALDRIVE1 Mass Storage Device USB Device 1 15624142080 Mass Storage Device USB Device
  • 挂载磁盘
    wsl --mount ,DiskPath 选择以上路径
wsl --mount \\.\PHYSICALDRIVE1

2.2 WSL 挂载硬盘

当然使用wsl 直接挂载外部硬盘,挂载前需要先从Window侧卸载。
win + r, 输入 diskmgmt.msc,卸载需要挂载硬盘。

  • 查看挂载的硬盘
wmic diskdrive list brief
  • 挂载物理硬盘
 wsl --mount \\.\PHYSICALDRIVE1  --bare
  • 卸载物理硬盘
wsl --unmount  \\.\PHYSICALDRIVE1

结语

不枉博主详细讲解,欢迎订阅博主–炭烤毛蛋 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/105611.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【设计模式】第4节:创建型模式之“单例模式”

一、介绍 采取一定的方法保证在整个的软件系统中&#xff0c;对某个类只能存在一个对象实例&#xff0c;并且该类只提供一个取得其对象实例的方法。 不使用单例模式的UML类图&#xff1a; 使用单例模式的UML类图&#xff1a; 使用场景&#xff1a; 需要频繁创建或销毁的对象…

C++项目——云备份-⑤-数据管理模块的设计与实现

文章目录 专栏导读1.要管理的数据有哪些2.如何管理数据3.数据信息结构体设计与实现4.数据管理类设计5.数据管理类实现6.数据管理模块整理 专栏导读 &#x1f338;作者简介&#xff1a;花想云 &#xff0c;在读本科生一枚&#xff0c;C/C领域新星创作者&#xff0c;新星计划导师…

05 网络和防火墙等其他

网络和其他 ifconfig : 主机ip地址查询

【Linux】安装VMWare虚拟机(安装配置)和配置Windows Server 2012 R2(安装配置连接vm虚拟机)以及环境配置

前言&#xff1a; 一、操作系统简介 1、什么是操作系统 操作系统是一种软件&#xff0c;它管理计算机系统的硬件和软件资源&#xff0c;并提供给用户和应用程序接口&#xff0c;使它们能够与计算机系统交互和运行。操作系统负责调度和分配系统资源&#xff0c;例如处理器、内存…

【QT】Qt控件不显示图标

问题描述 本人在跟着B站视频学习QT时&#xff0c;遇到了一件十分悲惨的事情&#xff0c;一模一样的步骤&#xff0c;我的图标却不能显示。 于是我上网查询一下解决方案&#xff0c;第一种&#xff0c;亲测没用&#xff1b;第二种亲测可以。 解决方法一 1、构建 -> 清理项目…

java springboot2.7 写一个本地 pdf 预览的接口

依赖方面 创建的是 接口web项目就好了 然后包管理工具打开需要这些 import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; imp…

JavaScript进阶知识汇总~

JavaScript 进阶 给大家推荐一个实用面试题库 1、前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;web前端面试题库 1.原型链入门 1) 构造函数 当我们自定义一个函数时(箭头函数与生成器函数除外)&#xff0c;这个函…

嵌入式系统设计师考试笔记之操作系统基础复习笔记二

目录 3、任务管理 &#xff08;1&#xff09;嵌入式操作系统的任务管理可以分为 &#xff08;2&#xff09;进程 &#xff08;3&#xff09;线程 &#xff08;4&#xff09;任务 &#xff08;5&#xff09;任务的创建与中止 &#xff08;6&#xff09;任务的状态任务有三…

APP分发-CDN加速原理

摘要 CDN的全称是(Content Delivery Network)&#xff0c;即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层&#xff0c;将网站的内容发布到最接近用户的网络”边缘“的节点&#xff0c;使用户可以就近取得所需的内容&#xff0c;提高用户访问网站的…

华为机试题:HJ4 字符串分隔

目录 第一章、算法题1.1&#xff09;题目描述1.2&#xff09;解题思路与答案1.3&#xff09;牛客链接 友情提醒: 先看文章目录&#xff0c;大致了解文章知识点结构&#xff0c;点击文章目录可直接跳转到文章指定位置。 第一章、算法题 1.1&#xff09;题目描述 题目描述&…

Android APK瘦身实践:二次瘦身如何再减少大小?(4M—2.9M)

瘦身前 因为平时就考虑到大小的限制&#xff0c;所以很多工作已经做过了&#xff0c;如下列举现在的状态&#xff1a; 7.3M&#xff08;Debug版本&#xff09;和6.5M&#xff08;Release版本&#xff09; 开启minifyEnabled 开启shrinkResources 已经去除不相关的大型库 图片和…

基于 nodejs+vue旅游推荐系统 mysql

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

三步,金蝶K3的数据可视化了

数据可视化的一大特点就是“一图胜千言”&#xff0c;没什么能比图表更直观展现数据的了。那&#xff0c;金蝶K3系统上那海量数据能不能也做成数据可视化报表&#xff1f;操作复杂吗&#xff0c;难度大吗&#xff1f; 换了别的软件来做&#xff0c;操作多、难度大是板上钉钉&a…

华为数通方向HCIP-DataCom H12-831题库(多选题:81-100)

第81题 经典的网络转发方式是基于路由表转发。OpenFlow交换机的转发方式是基于流表转发。对于这两种转发方式,以下说法正确的有哪些选项? A、流表的匹配方式是同时匹配流量的MAC地址和IP地址。 B、路由表的匹配方式是匹配拥有最长掩码的目的网段路由 C、流表是变长的。一台网…

Openssl数据安全传输平台011:base64的使用

文章目录 1 base641.1 概念1.2 应用场景 2 base64 算法 &#xff08;重要&#xff09;3 openssl 中base64的使用3.1 BIO 操作3.2 base64 编码 -> bio链的写操作3.3 base64 解码 -> bio链的读操作 1 base64 1.1 概念 Base64是一种基于64个可打印字符来表示二进制数据的表…

一文5000字从0到1使用Jmeter实现轻量级的接口自动化测试(图文并茂)

接口测试虽然作为版本的一环&#xff0c;但是也是有一套完整的体系&#xff0c;有接口的功能测试、性能测试、安全测试&#xff1b;同时&#xff0c;由于接口的特性&#xff0c;接口的自动化低成本高收益的&#xff0c;使用一些开源工具或一些轻量级的方法&#xff0c;在测试用…

Win10中Pro/E鼠标滚轮不能缩放该怎么办?

Pro/E安装好后&#xff0c;鼠标滚轮不能缩放模型&#xff0c;该怎么办&#xff1f;问题多发生在win8/win10上&#xff0c;新装了PROE&#xff0c;发现滑动鼠标中键不能放大缩小。 彩虹图纸管理软件_图纸管理系统_图纸文档管理软件系统_彩虹EDM【官网】彩虹EDM图纸管理软件系统…

Android 11.0 禁用插入耳机时弹出的保护听力对话框

1.前言 在11.0的系统开发中,在某些产品中会对耳机音量调节过高限制,在调高到最大音量的70%的时候,会弹出音量过高弹出警告,所以产品 开发的需要要求去掉这个音量弹窗警告功能 2.禁用插入耳机时弹出的保护听力对话框的核心类 frameworks\base\packages\SystemUI\src\com\and…

使用docker部署flask接口服务 一

文章目录 一&#xff1a;说明二&#xff1a;dockerfile 参数说明1. 一般常用的 参数&#xff0c;以及它的含义2. 我自己的 dockerfile 三&#xff1a;示例操作1. Gunicorn Gevent启动服务的好处2. 用Gunicorn Gevent的好处&#xff1a;3. Gunicorn Gevent的 使用示例4. 创建…

【SpringCloudNetflix】一图理解Spring Cloud Netflix解决了那些微服务问题?

什么是微服务理解&#xff1a; SpringCloudNetflix解决的问题理解&#xff1a; SpringCloudNetflix核心点&#xff1a; 注册中心&#xff1a;Eureka负载均衡&#xff1a;Ribbon、Feign服务熔断&#xff1a;Hystrix服务降级&#xff1a;Hystrix服务监控&#xff1a;Hystrix Da…