美文网首页LinuxLinux学习之路我用 Linux
简单到极致!Windows 10 Ubuntu子系统的备份/还原

简单到极致!Windows 10 Ubuntu子系统的备份/还原

作者: 小牛有财 | 来源:发表于2019-07-18 07:42 被阅读8次

    我的玩转WSL系列文章(更新中)

    windows命令行工具wsl登场

    可以说,微软主动拥抱Linux,推出WSL,是Windows历史上标志性意义的事情。有了WSL,学习Linux的门槛一下降低了,我们在Windows上就可以很方便地安装、备份、还原Linux子系统,而这些功能通过命令行工具wsl可以超级轻松地实现。下面来体验一下:
    Windows键+R,输入cmd回车打开命令行窗口输入wsl -l,可以看到我系统里装了一个Ubuntu 18.04:

    C:\Users\Administrator>wsl -l
    适用于 Linux 的 Windows 子系统:
    Ubuntu-18.04-20190707 (默认)
    

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

    C:\Users\Administrator>wsl --version
    命令行选项无效: --version
    版权所有 (c) Microsoft Corporation。保留所有权利。
    
    用法: 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
            显示用法信息。
    

    接下来讨论几个具体用法。

    运行/停止Ubuntu子系统

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

    • 运行子系统
    wsl --distribution Ubuntu-18.04-20190707
    或者
    wsl -d Ubuntu-18.04-20190707
    
    • 查看运行中的子系统
    wsl -l --running
    适用于 Linux 的 Windows 子系统:
    Ubuntu-18.04-20190707 (默认)
    
    • 停止子系统
    wsl -t Ubuntu-18.04-20190707
    或者
    wsl --terminate Ubuntu-18.04-20190707
    

    备份/删除/还原子系统

    • 备份子系统
      非常简单,但一定要先停止子系统之后再备份
    wsl --export Ubuntu-18.04-20190707 c:\temp\Ubuntu-18.04-20190707.tar
    

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

    • 删除子系统
      也是一个命令即可:
    wsl --unregister Ubuntu-18.04-20190707
    

    这样WSL子系统就从Windows中删除的干干净净了。

    • 还原子系统
      删除了没关系,刚才做了备份,也是一个命令还原:
    wsl --import Ubuntu-18.04-20190707 c:\WSL c:\temp\Ubuntu-18.04-20190707.tar
    

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

    就是这么简单!

    如本文标题,WSL的备份还原就是这么简单,的确是简单到极致!前文说过,笔者在折腾aria2的时候曾经把系统搞崩溃过(小白没办法),就是用wsl --import把系统还原回来重新折腾的。通过wsl --export,我们可以把WSL导出为一个文件,放到U盘里随身带走,然后可以在任意一台电脑里还原,继续我们的工作,是不是很方便?
    需要说明的是,wsl --upgrade功能最好不要用,微软的技术支持说没什么用处还可能出问题,反正我是没敢尝试的。不过WSL2.0已结出来了,据说使用了真正的Linux内核,进化中的WSL,的确让人期待!

    相关文章

      网友评论

        本文标题:简单到极致!Windows 10 Ubuntu子系统的备份/还原

        本文链接:https://www.haomeiwen.com/subject/cgahlctx.html