复制虚拟磁盘
C:\Users\[user]\AppData\Local\Packages\[distro]\LocalState\ext4.vhdx
为 WSL2 磁盘所在位置,以 Microsoft 虚拟磁盘的形式存在。将其复制到我们的新机器上,在新机器上执行后续操作。
加载虚拟磁盘
将虚拟磁盘加载到新机器中,方法有两种:
使用 HyperV
HyperV 要求专业版、企业版、教育版 Windows。
先在 Windows 上启用 HyperV 组件,以管理员身份运行 Power Shell,执行以下指令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
随后重启电脑即可完成 HyperV 的启用。再次以管理员身份运行 Power Shell,执行以下指令:
Write-Output "\\.\PhysicalDrive$((Mount-VHD -Path <pathToVHD> -PassThru | Get-Disk).Number)"
记下其输出,如 \\.\PhysicalDrive3
,此为虚拟磁盘在本机中的磁盘号
使用磁盘管理
右键此电脑->管理->磁盘管理
在磁盘管理中随便点击一块磁盘,在右方的“更多操作”中点击“附加虚拟磁盘”,选中磁盘文件即可。
在 Power Shell 中执行以下指令:
GET-CimInstance -query "SELECT * from Win32_DiskDrive"
这个指令将输出计算机目前的所有磁盘,复制虚拟磁盘对应的磁盘号,如磁盘0对应\\.\PhysicalDrive0
DeviceID Caption Partitions Size Model
-------- ------- ---------- ---- -----
\\.\PHYSICALDRIVE0 KBG40ZNT256G TOSHIBA MEMORY 3 256052966400 KBG40ZNT256G T...
\\.\PHYSICALDRIVE1 TOSHIBA DT01ACA100 LENOVO 1 1000202273280 TOSHIBA DT01AC...
\\.\PHYSICALDRIVE3 Microsoft 虚拟磁盘 0 274872407040 Microsoft 虚拟...
\\.\PHYSICALDRIVE2 KIOXIA-E XCERIA SSD USB Device 4 1000202273280 KIOXIA-E XCERI...
将磁盘挂载至 WSL 中
在 Power Shell 中执行
wsl --mount \\.\PHYSICALDRIVE3 --bare
在 WSL 中挂载磁盘
启动 WSL,创建挂载点,如 /mnt/school
文件夹
mkdir /mnt/school
以 root 用户的身份执行 mount
指令
mount /dev/sde /mnt/shool
即可挂载成功,可以通过 ls
查看
ls /mnt/school