一觉醒来Docker天崩,重装后通过vhdx文件恢复数据

如题,美好的周五美滋滋去实习,坐到工位上打开电脑结果Docker天崩

报错

deploying WSL2 distributions

ensuring main distro is deployed: deploying "docker-desktop": importing WSL distro "无法将磁盘“C:\\Program Files\\WSL\\system.vhd”附加到 WSL2: 系统找不到指定的文件。 \r\n错误代码: Wsl/Service/RegisterDistro/CreateVm/MountVhd/HCS/ERROR_FILE_NOT_FOUND\r\n" output="docker-desktop": exit code: 4294967295: running WSL command wsl.exe C:\Windows\System32\wsl.exe --import docker-desktop <HOME>\AppData\Local\Docker\wsl\main C:\Program Files\Docker\Docker\resources\wsl\wsl-bootstrap.tar --version 2: 无法将磁盘“C:\Program Files\WSL\system.vhd”附加到 WSL2: 系统找不到指定的文件。

错误代码: Wsl/Service/RegisterDistro/CreateVm/MountVhd/HCS/ERROR_FILE_NOT_FOUND

: exit status 0xffffffff

checking if isocache exists: CreateFile \\wsl$\docker-desktop-data\isocache\: The network name cannot be found.

网上教程说再找一个有system.vhd的电脑,把文件复制过来就行,但我没有多的电脑,就重装了。

但是重装之后存有镜像和容器的docker_data.vhdx还在旧目录移不过去,而我又没有提前备份tar文件(参考:https://zhuanlan.zhihu.com/p/690833211),没有办法通关tar进行备份。

而且正如评论区所说,系统坏了怎么办?或者像我这样没备份过的?只有vhdx文件啊。

直接复制粘贴会提示wsl文件夹被System占用,不要慌,先去新建文件夹,然后在Docker的设置里重新选这个文件夹作为新的目录,点击Apply,新文件夹里面出现了新的vhdx文件。

再参考文章wsl导入已有的ext4.vhdx - 简书

的第三步,直接把旧vhdx复制到新目录就可以了。

copy [旧文件绝对路径] [新文件绝对路径]

注意看清楚提示是否覆盖新文件夹里的vhdx,这要是换反了就神作了。

再去Docker看看,容器和镜像是不是都回来了呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值