📌 usbipd-win

1、安装 usbipd-win 项目:

1.1、首先,确保你的 WSL 命令行已打开,这将使 WSL 2 轻型 VM 保持活动状态。

1.2、安装开源 usbipd-win 项目。你可以从 usbipd-win 项目的最新发布页下载 .msi 文件并运行安装程序。或者,你也可以使用 Windows 程序包管理器程序 (winget) 来安装 usbipd-win 项目,只需运行以下命令:

winget install --interactive --exact dorssel.usbipd-win

1.3、安装完成后,你将获得以下组件:名为 usbipd 的服务(显示名称:USBIP 设备主机)。

1.3.1、命令行工具 usbipd,其位置将添加到 PATH 环境变量。

1.3.2、名为 usbipd 的防火墙规则,用于允许所有本地子网连接到服务。

2、附加 USB 设备:

2.1、在附加 USB 设备之前,请确保 WSL 命令行已打开,以使 WSL 2 轻型 VM 保持活动状态。

2.2、使用 PowerShell 运行以下命令,列出所有连接到 Windows 的 USB 设备:

usbipd list

2.3、选择要在 WSL 中使用的设备总线 ID,然后运行以下命令,共享设备并允许它附加到 WSL:

usbipd bind --busid <busid>

2.4、最后,运行以下命令附加 USB 设备:

usbipd attach --wsl --busid <busid>

2.5、在 WSL 提示符下,运行 lsusb 命令以验证 USB 设备是否已列出,并且可以使用 Linux 工具与之交互。

3、使用完毕后:

在 WSL 中完成设备使用后,可物理断开 USB 设备,或者 PowerShell 运行以下命令:

usbipd detach --busid <busid>

📌 挂载磁盘

1、把硬盘接到电脑上

2、用管理员权限打开Powershell

在powershell中输入以下命令查看硬盘信息

GET-CimInstance -query "SELECT * from Win32_DiskDrive"

PS C:\Users\luciu> GET-CimInstance -query "SELECT * from Win32_DiskDrive"
DeviceID Caption Partitions Size Model
-------- ------- ---------- ---- -----
\\.\PHYSICALDRIVE0 CT1000P2SSD8 3 1000202273280 CT1000P2SSD8
\\.\PHYSICALDRIVE2 ThinkBook SU710 SCSI Disk Device 1 1024203640320 ThinkBook SU710 SCSI Disk Device
PS C:\Users\luciu>

3、挂载磁盘(可以显示该盘但还不能访问分区)

wsl --mount \\.\PHYSICALDRIVE2 --bare

转到WLS终端:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 388.5M  1 disk
sdb      8:16   0     4G  0 disk [SWAP]
sdc      8:32   0     1T  0 disk /mnt/wslg/distro
sdd      8:48   0   1.8T  0 disk
└─sdd1   8:49   0   1.8T  0 part

其中的sdd1就是我们需要挂载的设备了。

4、识别文件系统

WLS终端:

$ sudo blkid /dev/sdd1
[sudo] password for lucius:
/dev/sdd1: LABEL="SU710" UUID="75909fb5-7ee6-f34a-8764-e6afa484b025" TYPE="ext4" PARTLABEL="Linux data partition" PARTUUID="361bd770-5139-4173-858a-4818b3d1a918"

其中的 TYPE=“ext4”就告诉了我们这是一块ext4格式的硬盘。

如果用blkid回车后没有任何输出,可以尝试加上sudo后重试。我当时就疑惑了久为什么它没有任何输出……

5、挂载磁盘分区(可以访问分区内容了)

注意,此时又要回到Powershell中进行操作:

wsl --mount \\.\PHYSICALDRIVE2 --partition 1 --type ext4

此时该硬盘会自动挂载到WSL系统中的 /mnt/wsl目录中。

如果想从资源管理器访问,可以在地址栏输入 \\wsl$\Ubuntu-18.04\mnt\wsl\

记得替换Ubunto-18.04 为实际使用的版本。如果不确定也可以先输入 wsl$打开WSL目录逐级进入。

6、卸载

在powershell中操作:

wsl --unmount \\.\PHYSICALDRIVE2

📌 挂载加密磁盘

被LUKS 加密的ext4硬盘

1、在WIN管理员终端查看和挂载加密磁盘分区到WSL2

GET-CimInstance -query "SELECT * from Win32_DiskDrive"
wsl --mount \\.\PHYSICALDRIVEx --bare

2、在WSL2中命令查看加密的磁盘和分区

 lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 388.5M  1 disk
sdb      8:16   0     2G  0 disk [SWAP]
sdc      8:32   0   1.8T  0 disk
└─sdc1   8:33   0   1.8T  0 part
sdd      8:48   0     1T  0 disk /mnt/wslg/distro

3、解锁加密的磁盘分区,并将其映射为一个可访问的设备

 sudo cryptsetup luksOpen /dev/sdc1 encrypted_disk
Enter passphrase for /dev/sdc1:

4、挂载解密后的分区

sudo mount /dev/mapper/encrypted_disk /mnt/x8

📌 WSL切换默认发行版

wsl --set-default Ubuntu-20.04

运行这个命令后,Ubuntu 20.04 会成为默认的 WSL 发行版。以后只需输入 wsl,系统就会启动 Ubuntu 20.04。如果还需要启动 Ubuntu 18.04,可以使用以下命令指定版本:

wsl -d Ubuntu-18.04

📌 WSL卸载

1、打开终端(命令提示符或 PowerShell)。

2、查看所有已安装的 WSL 分发版:

wsl --list

或者更详细版本:

wsl --list --verbose

3、找到 Ubuntu 24.04 的名称后,运行以下命令卸载它:

wsl --unregister Ubuntu-24.04

这将从你的系统中移除该分发版(包括所有相关的文件和数据)。

注意:卸载后,与该分发版相关的所有文件和设置都会被清除。如果有重要数据,记得先进行备份。