windows 迁移ubuntu wsl从C盘到D盘

放C盘太占空间,所以迁移到D盘

在C盘的位置为:

csharp 复制代码
C:\Users\lutia\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx

首先管理员模式打开powershell,然后停止wsl

csharp 复制代码
wsl --shutdown

查看ubuntu 版本

csharp 复制代码
wsl -l -v

我的是Ubuntu-22.04

将ubuntu导出到D盘

csharp 复制代码
wsl --export Ubuntu-22.04 D:\ubuntu.tar

注销老的ubuntu

csharp 复制代码
wsl --unregister Ubuntu-22.04

导入新的ubuntu放到D盘自己定义的文件夹下

csharp 复制代码
wsl --import Ubuntu-22.04 D:\WSL\Ubuntu2204 D:\ubuntu.tar --version 2

现在进入D盘可以看到虚拟磁盘在D盘下面了

csharp 复制代码
D:\WSL\Ubuntu2204\ext4.vhdx

迁移后进入ubuntu可能默认进入root用户,并且会从zsh变成bash

echo $SHELL

/usr/bin/zsh

which zsh

/usr/bin/zsh

如果没有输出,则需要重新安装:

sudo apt install zsh

第三步:切换默认 shell 到 zsh(恢复你以前的界面)

chsh -s /usr/bin/zsh

然后退出 WSL 再进入。

如果你用的是 Windows Terminal,关闭所有窗口再打开即可。

第四步:确认 Oh-My-Zsh 是否被保留

检查目录:

ls ~/.oh-my-zsh

如果在,则 oh-my-zsh 没有丢。

然后查看你的主题和插件是否还在 .zshrc:

nano ~/.zshrc

重点看:

ZSH_THEME="xxx"

plugins=(git z sudo history substring-search ...)

特别是你提到的"右箭头补全历史"是 zsh-history-substring-search 插件。

你在 .zshrc 中应有类似配置:

plugins=(

git

z

history

history-substring-search

)

如果没有,请加上。

然后:

source ~/.zshrc

自动补全和配色就回来了。

  1. 确认你以前使用的用户名

运行:

cat /etc/passwd | grep "/home"

一般是:

ubuntu❌1000:1000:Ubuntu:/home/ubuntu:/bin/bash

这个 "ubuntu" 或其他名字就是你原来的用户。

  1. 切换回原来的普通用户

例如你的原用户叫 ubuntu:

su - ubuntu

如果能进入到:

ubuntu@PC6463:~$

且颜色、美化恢复 → 说明问题完全解决。

  1. 如果希望 WSL 进入时自动用原来的用户

执行:

wsl -d Ubuntu-22.04 --user ubuntu

若正常工作,则设置默认用户:

wsl -d Ubuntu-22.04 --set-default-user ubuntu

  1. 确认 oh-my-zsh 是否在你的普通用户目录下

在 WSL 中切到普通用户后检查:

ls ~/.oh-my-zsh

如果有文件夹 → 正常。

  1. 如果你忘了用户密码或无法进入普通用户

我可以帮你:

重设密码

修复默认 shell

重装 oh-my-zsh 但不破坏原配置

只需要告诉我:

你之前的用户名字是什么(在 /home 目录里能看到)。

当你运行 su - 用户名 时出现什么输出。

如果你愿意,你可以把以下命令的输出贴过来,我帮你判断:

ls /home

cat /etc/wsl.conf

echo $SHELL

whoami

相关推荐
夜来小雨3 分钟前
SRv6知识点
运维·网络
wdfk_prog4 分钟前
[Linux]学习笔记系列 -- [fs]pidfs
linux·笔记·学习
航Hang*9 分钟前
第十三章:网络系统建设与运维(高级)—— 路由控制和策略路由
运维·服务器·网络·笔记·ensp
Run_Teenage12 分钟前
Linux:自主Shell命令行解释器
linux·运维·服务器
wdfk_prog16 分钟前
[Linux]学习笔记系列 -- [fs]pipe
linux·笔记·学习
oMcLin16 分钟前
Ubuntu 22.04 系统升级后 PostgreSQL 无法启动:如何解决数据库迁移中的兼容性问题
数据库·ubuntu·postgresql
white-persist19 分钟前
【内网运维】Netstat与Wireshark:内网运维溯源实战解析
运维·网络·数据结构·测试工具·算法·网络安全·wireshark
oMcLin20 分钟前
Debian 9 内核升级后出现硬件驱动不兼容问题:如何回滚内核与修复驱动
运维·debian
oMcLin21 分钟前
Ubuntu 22.04 系统中不明原因的磁盘 I/O 高负载:如何利用 iotop 和 systemd 排查优化
linux·运维·ubuntu
testpassportcn21 分钟前
微軟 DP-600 認證介紹|Microsoft Fabric Analytics Engineer Associate 完整解析與考試攻略
运维·fabric