使用Win10自带工具备份与还原WSL - WSL备份与还原

时间:2022-04-01 阅读:390 评论:0 作者:hkear


 Win10 1903 之后的版本才能用这些命令。 

Win +X A Powershell> wsl -l ,> Ubuntu-18.04

wsl -l
Windows Subsystem for Linux Distributions:
Ubuntu-18.04 (Default)


wsl -l --running
Windows Subsystem for Linux Distributions:
Ubuntu-18.04 (Default)

> wsl -t Ubuntu-18.04
# 或者
> wsl --terminate Ubuntu-20.04


备份子系统

一定要先停止子系统之后再备份

> wsl --export Ubuntu-20.04 D:\Ubuntu-20.04.tar

备份成功后,子系统会被打包成命令中指定的tar文件。

删除子系统后,选中的 WSL 就会从 Windows 中干净的删除了。

删除子系统> wsl --unregister Ubuntu-18.04

还原子系统


> wsl --import Ubuntu-18.04 D:\WSL D:\Ubuntu-18.04.tar

这里注意指定还原的路径。成功后,用 wsl -l 确认。


注意:还原后的子系统进入后,默认成了 root 用户:

如果在商店安装过 Ubuntu 直接找到如下目录:

C:\Users\用户名\AppData\Local\Microsoft\WindowsApps\ubuntu版本.exe config --default-user root


执行指令修改为指定用户:

ubuntu.exe config --default-user   hkeasr#名称根据实际修改1

如果电脑上之前没有安装过 WSL,是通过还原来的,可以下载 Windows Terminal 工具,然后进入设置中,指定启动的命令行 -u xxx即可,但是这种方式如果换成其他连接 WSL 的工具还是默认 root 用户。


如果还是想要通过 ubuntu.exe config --default-user xxx 这种方式设置默认用户,目前最可靠的方法是下载离线的 Ubuntu WSL 安装包,安装包中就有 ubuntu2004.exe,然后通过这个ubuntu2004.exe 执行 config --default-user xxx 命令,就可以一直默认为设置的用户了,下载链接:https://docs.microsoft.com/en-us/windows/wsl/install-manual

配置 Windows Terminal

在安装好 WSL 后,最优先的就是下载 Windows Terminal 终端,这个终端的强大之处就不再赘述,但是对于使用 WSL 来说,还需要一些设置才可以更舒适的使用。

修改WSL默认打开的路径

打开 Windows Terminal 的设置页面,找到左下方的打开 JSON 文件并使用编辑器打开 setting.json,如果你安装的是 Ubuntu-18.04 ,那么就搜索 Ubuntu-18.04,然后定位到后,添加一行:"startingDirectory": "//wsl$/Ubuntu-18.04/home/",这样我们再进入 Ubuntu 时,就显示的是 ~ 目录下了。


如下:

{
    "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
    "name": "Ubuntu-18.04",
    "source": "Windows.Terminal.Wsl",
    "startingDirectory": "//wsl$/Ubuntu-18.04/home/"
}
官方文档:https://docs.microsoft.com/en-us/windows/terminal/customize-settings/profile-settings

修改 Ctrl+C 和 Ctrl + V


在 Windows 下,Ctrl + C 默认是复制快捷键,Ctrl + V 默认是粘贴快捷键,但是如果装了 WSL 后,Linux 下 Ctrl + C 是向应用程序发送一个 SIGINT 中断信号,当用户按中断键(Ctrl+C)时,终端驱动程序产生此信号并发送至前台进程组中的每一个进程。这就和 Windows 默认的复制有些冲突,所以建议修改为 Ctrl + Shift + C 和 Ctrl + Shift + V,只需要在和上面相同的 setting.json 配置中:

{ "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+shift+c" },
{ "command": "paste", "keys": "ctrl+shift+v" },

本文链接: https://dkicloud.com/?id=27 转载请注明出处!