700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > WSL备份与还原(使用Win10自带工具)

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

时间:2024-03-28 16:36:32

相关推荐

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

WSL备份与还原

转载:/p/8b4ec8fafdca

首先系统必须是 Win10 1903 之后的版本才能用这些命令。之前的不可以,请使用 LxRunOffline 工具备份还原。

通过按 Win +R,输入 cmd 回车打开命令行窗口输入wsl -l,可以看到系统里装了一个 WSL 是 Ubuntu-20.04。

> wsl -lWindows Subsystem for Linux Distributions:Ubuntu-20.04 (Default)

输入wsl --version可以看到版本信息和命令行参数说明:

> wsl --version用法: wsl.exe [参数] [选项...] [CommandLine]用于运行 Linux 二进制文件的参数:如果未提供任何命令行,wsl.exe 将启动默认 shell。--exec, -e <CommandLine>在不使用默认 Linux shell 的情况下执行指定的命令。--按原样传递剩余的命令行。选项:--distribution, -d <DistributionName>运行指定的分发。--user, -u <UserName>以指定用户身份运行。用于管理 Windows Subsystem for Linux 的参数:--export <DistributionName> <FileName>将分发导出到 tar 文件。文件名可为 - 以便标准输出。--import <DistributionName> <InstallLocation> <FileName>将指定的 tar 文件作为新分发导入。文件名可为 - 以便标准输入。--list, -l [选项]列出分发。选项:--all列出所有分发,包括当前正在安装或卸载的分发。--running仅列出当前正在运行的分发。-setdefault, -s <DistributionName>将分发设置为默认值。--terminate, -t <DistributionName>终止分发。--unregister <DistributionName>注销分发。--upgrade <DistributionName>将分发升级为 WslFs 文件系统格式。--help显示用法信息。

wsl -l列出了系统中安装的子系统的名称,可以是一个或多个,本文中的子系统名称是 Ubuntu-20.04,接下来针对这个默认子系统进行操作:

运行子系统

> wsl --distribution Ubuntu-20.04#或者> wsl -d Ubuntu-20.04

查看运行中的子系统

> wsl -l --runningWindows Subsystem for Linux Distributions:Ubuntu-20.04 (Default)

停止子系统

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

备份子系统

一定要先停止子系统之后再备份,备份一定要保证硬盘空间充足,我的 WSL 装了点 C++ 开发环境的软件已经达到了 1.6GB,备份期间需要耐心等待,比如将系统被分到 D 盘:

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

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

删除子系统

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

> wsl --unregister Ubuntu-20.04

还原子系统

删除了没关系,刚才做了备份,可以直接使用命令还原:

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

这里注意指定还原的路径。成功后,子系统又回来了,可以用wsl -l确认一下。

注意:还原后的子系统进入后,默认成了 root 用户,查了一下,解决方法如下:

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

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

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

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

如果电脑上之前没有安装过 WSL,是通过还原来的,可以下载 Windows Terminal 工具,然后进入设置中,指定启动的命令行 -u xxx即可,但是这种方式如果换成其他连接 WSL 的工具还是默认 root 用户。如果还是想要通过ubuntu.exe config --default-user xxx这种方式设置默认用户,目前最可靠的方法是下载离线的 Ubuntu WSL 安装包,安装包中就有 ubuntu.exe,然后通过这个ubuntu.exe 执行config --default-user xxx命令,就可以一直默认为设置的用户了,下载链接:/en-us/windows/wsl/install-manual

配置 Windows Terminal

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

修改WSL默认打开的路径

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

如下:

{"guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}","name": "Ubuntu-20.04","source": "Windows.Terminal.Wsl","startingDirectory": "//wsl$/Ubuntu-20.04/home/crazyang"}

官方文档:/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" },

这样使用起来就更方便了。

除此之外,WSL 还有一些其他命令,需要阅读官方文档。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。