• Linux笔记——Ubuntu子系统从系统盘迁移到非系统盘



    安了子系统还没用几天,C盘提示我没空间了。。。剩余0kb的那种。。。Ubuntu安装的时候默认按C盘了,所以还是移走腾点地方出来。

    一、子系统迁移

    1. 关闭linux子系统

    命令行关闭正在运行的虚拟机引擎,查看子系统状态,确保要迁移的子系统STATE处于stopped状态。

    // 关闭虚拟机子系统
    wsl --shutdown
    // 查看已安装系统状态
    wsl -l -v
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    2. 使用move-wsl进行迁移

    move-wsl是个方便子系统迁移的小工具
    下载地址:CSDNGithub

    1. 修改系统策略
      直接使用move-wsl有可能会遇到系统报错:
      无法加载文件 G:\move-wsl-master\move-wsl.ps1,因为在此系统上禁止运行脚本。
      这是为了安全起见不让运行.ps1文件,需要修改系统策略
      (1)打开终端管理员
      在这里插入图片描述
      (2)输入下面代码修改策略
    // 显示当前策略
    get-ExecutionPolicy
    // 修改策略为
    set-ExecutionPolicy RemoteSigned
    
    • 1
    • 2
    • 3
    • 4

    两种策略解释

    RemoteSignedRestricted
    Windows Server 计算机的默认执行策略,脚本可以运行。需要受信任的发布者对从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)的数字签名。不需要在本地计算机上编写且未从 Internet 下载的脚本上使用数字签名。如果未阻止脚本(例如使用 cmdlet),则运行从 Internet 下载且未签名的 Unblock-File 脚本。运行来自 Internet 以外的源的未签名脚本以及可能是恶意的已签名脚本的风险。Windows 客户端计算机的默认执行策略。允许单个命令,但不允许脚本。阻止运行所有脚本文件,包括格式化和配置文件 () .ps1xml 、模块脚本文件 (.psm1) ,以及 PowerShell 配置文件 () .ps1

    等迁移完了记得改回来

    1. 开始迁移
      用管理员权限打开PowerShell,进入move-wsl所在的文件夹,输入命令
    // 运行move-wsl脚本文件
    .\move-wsl.psl
    // 选择要移动的虚拟机编号,我的是2
    2
    // 输入虚拟机磁盘的新地址
    G:\wsl_Ubuntu
    // 按y确认操作
    Y
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    稍等片刻就可以迁移成功了,而且C盘的空间会自动释放

    在这里插入图片描述

    1. 修改默认用户
      迁移完成后,会默认变成root用户登录。打开命令行/PowerShell修改默认用户
    ubuntu2004.exe config --default-user username
    
    • 1

    ubuntu2004.exe是虚拟机子系统对应的可执行文件名,wsl显示的是虚拟机的名字Ubuntu-20.04。如果是Ubuntu,那么这里就是ubuntu.exe;虚拟机的名字是ubuntu-18.04,那这里就是ubuntu1804.exe。

    二、 虚拟机子系统瘦身

    迁移以后的文件以.vhdx文件存储,这个文件大小会随着使用增长,但是无法自动回收。需要手动回收

    // 打开window Diskpart
    diskpart
    
    //选择虚拟磁盘文件,路径和文件名最好复制
    select vdisk file="G:\wsl_Ubuntu\ext4.vhdx"
    
    attach vdisk readonly
    compact vdisk
    detach vdisk
    
    exit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

  • 相关阅读:
    docker 安装rabbitmq
    Spring Authorization Server优化篇:Redis值序列化器添加Jackson Mixin,解决Redis反序列化失败问题
    Retrofit原理 一篇文章就够了
    如何在用程序在控制台中打印字母logo
    Pytroch Nerf代码阅读笔记(LLFF 数据集pose 处理和Nerf 网络结构)
    一道有意思的题 洛谷P2647 最大收益
    前端技能树,面试复习第 52 天—— 手写代码:Javascript 基础考核
    设计模式概述
    【css】z-index与层叠上下文
    专项技能训练五《云计算网络技术与应用》实训6-2:ryu控制器安装
  • 原文地址:https://blog.csdn.net/xuelanlingying/article/details/134269706