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

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

  • 一、子系统迁移
    • 1. 关闭linux子系统
    • 2. 使用move-wsl进行迁移
  • 二、 虚拟机子系统瘦身

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

一、子系统迁移

1. 关闭linux子系统

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

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

在这里插入图片描述

2. 使用move-wsl进行迁移

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

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

两种策略解释

RemoteSigned Restricted
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

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

Linux笔记——Ubuntu子系统从系统盘迁移到非系统盘_第2张图片

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

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

Linux笔记——Ubuntu子系统从系统盘迁移到非系统盘_第3张图片

你可能感兴趣的:(Linux笔记,linux,笔记,ubuntu)