合 在WSL2中装载新建的vhdx磁盘并迁移docker数据
简介
VHDX是一种虚拟硬盘文件格式,用于存储在Microsoft Windows Server 2012和Windows 8操作系统中运行的虚拟机的磁盘映像。VHDX文件是一种类似于VHD(Virtual Hard Disk)文件的格式,但它提供了更大的存储容量、更好的性能和更强的数据完整性。VHDX文件支持容量最大达64TB的虚拟磁盘,并提供了更高的性能和可靠性,包括支持512字节和4KB逻辑扇区大小以及内置的错误检测和修复机制。VHDX文件还可以通过Hyper-V Manager或PowerShell创建、挂载、卸载和复制。
挂载其它系统的vhdx磁盘文件到新的WSL2中
1 2 3 4 5 6 7 | PS C:\Users\lhr> wsl --mount --vhd F:\WSL2CENTOS76\ext4.vhdx 已成功将磁盘装载为“/mnt/wsl/Fwsl2centos76ext4vhdx”。 注意: 如果已修改 /etc/wsl.conf 中的 automount.root 设置,则位置将不同。 若要卸载和分离磁盘,请运行“wsl.exe --unmount \\?\F:\wsl2centos76\ext4.vhdx”。 PS C:\Users\lhr> PS C:\Users\lhr> PS C:\Users\lhr> wsl.exe --unmount \\?\F:\wsl2centos76\ext4.vhdx 磁盘分离失败: Resource device。有关详细信息,请在 WSL2 内运行 “dmesg”。 若要强制 WSL2 停止并分离磁盘,请运行“wsl.exe --shutdown”。 PS C:\Users\lhr> wsl.exe --unmount \\?\F:\wsl2centos76\ext4.vhdx 操作成功完成。 |
装载新建的vhdx磁盘并迁移docker数据
好处:后续可以很方便的进行迁移docker数据。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | -- 创建一个vhdx虚拟盘,这里的SizeBytes为最大大小: New-VHD -Path "F:\wsl2centos79\docker.vhdx" -SizeBytes 1024GB -- 挂载(若是已经进行过格式化,则不需要加bare) wsl --mount --vhd F:\wsl2centos79\docker.vhdx --bare -- wsl2中进行手动挂载 lsblk mkdir -p /data/ mkfs.ext4 /dev/sdd mount /dev/sdd /data -- 迁移docker数据 systemctl disable docker systemctl stop docker mv /var/lib/docker /data/docker ln -s /data/docker /var/lib/docker systemctl start docker -- 开机自动挂载,将如下内容添加到/etc/rc.local文件中: cmd.exe /c "wsl --mount --vhd F:\wsl2centos79\docker.vhdx --bare" 1>nul mount /dev/sdd /data systemctl start docker |