wsl下将Ubuntu从c盘移动到其他盘

一、概述

        因为自己的C盘内存不足,加上之后需要在Ubuntu下面下载许多的内容和东西,需要将其移动到d盘上面,这样可以拥有更大的空间。这里记载了一下自己的操作过程。

二、具体步骤

(一)过程

        1.查看当前系统中wsl分发版本

        启动终端,注意需要使用管理员权限进行后续的操作,一定需要注意,在里面输入下面的命令。

wsl -l --all -v

            如图所示。

        2.检查当前安装路径

        在终端中输入如下命令。

Get-ChildItem -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" | ForEach-Object { Get-ItemProperty -Path $_.PSPath } | Select-Object -Property "DistributionName", "BasePath"

         查看到当前的ubuntu子系统还是在c盘当中。

        3.导出分发版为tar文件到d盘

        在终端中输入如下的命令。

wsl --export Ubuntu-20.04 D:\0gfc\downloads\Ubuntu-20.04.tar

        参数的含义,--export是导出的意义,Ubuntu-20.04是我们需要导出的linux版本的名称,最后一个是导出的tar文件保存的地方,注意需要保存为tar格式的,否则会有问题。 如图所示。

 

        4.注销掉当前分发版

        在终端中输入如下的命令。

wsl --unregister Ubuntu-20.04

         5.重新导入

        这步骤可能会出现一些问题,详细将会在下面进行说明。

        在终端中输入下面的命令。

wsl --import Ubuntu-20.04 D:\0gfc\Ubuntu\ D:\0gfc\downloads\Ubuntu-20.04.tar --version 2

        参数解释,--import是导入的命令,Ubuntu-20.04是我们导入建立的名称,D:\0gfc\Ubuntu是我们存放新导入文件的地址, D:\0gfc\downloads\Ubuntu-20.04.tar是需要导入进去,即刚才打包的文件,--version 2是使用wsl2。

        6.设置默认登录用户为安装时的用户

        这里需要记住自己当时安装时候设置的用户名。其格式如下所示。其中Username的名称要替换为自己的。

ubuntu2004 config --default-user Username

        例如,我当时设置的是gfcguo,所以我在终端中输入如下所示。

ubuntu2004 config --default-user gfcguo

         7.检查wsl的安装路径

        在终端中输入如下的命令。

Get-ChildItem -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" | ForEach-Object { Get-ItemProperty -Path $_.PSPath } | Select-Object -Property "DistributionName", "BasePath"

        结果如图所示。发现ubuntu已经转移到d盘上面了。

(二)问题

        1.问题概述

        如图所示,在使用--import命令的时候,可能无法成功,导致无法导入,如图所示,显示文件夹为空。

        2.解决方法

        建议重新启动电脑,启动后,发现回复正常。

(三)参考链接

        主要参考链接如下。

Windows11中移动 WSL到 D 盘_docker_讓丄帝愛伱-GitCode 开源社区下的\AppData\Local\Docker\wsl。默认的镜像文件位置是在C盘下的。 讓丄帝愛伱 GitCode 开源社区icon-default.png?t=N7T8https://gitcode.csdn.net/66ca1496aa1c2020b359c7fd.html?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MjMxNDQ4OSwiZXhwIjoxNzI1Njk1MzgyLCJpYXQiOjE3MjUwOTA1ODIsInVzZXJuYW1lIjoiR0ZDTEpZIn0.SBAPT2fnclSvoO17WtSqZbQog4thYZ6T5eUtLtMCbv8&spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7Eactivity-3-134910231-blog-131659968.235%5Ev43%5Epc_blog_bottom_relevance_base6&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7Eactivity-3-134910231-blog-131659968.235%5Ev43%5Epc_blog_bottom_relevance_base6&utm_relevant_index=6https://www.cnblogs.com/tl542475736/p/14855863.htmlicon-default.png?t=N7T8https://www.cnblogs.com/tl542475736/p/14855863.html

<think>嗯,用户之前问过如何在WSL2中启动不同的Ubuntu实例,现在他们的问题是关于将Ubuntu转移到C以外的磁后,如何恢复使用原本的WSL命令行界面,而不是PowerShell。这说明用户可能遇到了转移后启动方式变化的问题,或者快捷方式失效了。我需要先理解用户的具体操作,他们可能通过导出导入或者修改了安装路径,导致原来的启动方式失效。 首先,我需要确认用户是如何转移Ubuntu的。常见的方法是用`wsl --export`和`wsl --import`命令,把发行版移动到其他磁。这种情况下,导入时虽然指定了新路径,但系统可能还是默认用PowerShell启动,或者用户之前的快捷方式被覆盖了。这时候用户可能发现原来的开始菜单快捷方式还是打开PowerShell,而不是直接进入Ubuntu的bash界面。 接下来,我需要考虑如何恢复直接启动Ubuntu命令行的方法。可能的解决方案包括创建新的快捷方式,修改默认终端设置,或者调整系统环境变量。此外,用户可能希望像以前一样通过开始菜单或命令直接进入Ubuntu的终端,而不是每次都要在PowerShell里输入命令。 另外,用户可能对WSL的启动机制不太了解,比如默认终端应用设置的影响。Windows Terminal如果设置为默认,可能会自动处理WSL实例的启动,但用户可能更习惯之前的命令行界面。这时候需要指导用户如何调整默认终端应用,或者通过其他方式直接启动Ubuntu的bash。 还要检查是否有必要更新系统或WSL配置,确保转移后的发行版正常运行。比如,使用`wsl -l -v`确认发行版状态,确保没有错误。如果用户导入时指定了新的名称,可能需要通过`wsl -d 名称`来启动,这时候可能需要创建自定义的快捷方式或批处理文件。 另外,用户可能希望将转移后的Ubuntu设为默认实例,这样直接输入`wsl`就能进入,而不需要指定名称。这时候需要指导用户使用`wsl --setdefault`命令,确保默认实例正确设置。 总结下来,回答需要分步骤指导用户如何通过命令直接启动Ubuntu,如何创建快捷方式,以及如何调整系统设置恢复原来的使用体验。同时要考虑到用户可能遇到的常见问题,比如名称冲突、路径错误或默认终端设置的问题,并提供相应的解决方法。</think>以下是分步解决方案,帮助你在转移Ubuntu到非C后恢复直接使用WSL命令行界面: --- ### **1. 确认Ubuntu实例状态** 首先检查转移后的Ubuntu是否已正确注册到WSL: ```powershell wsl -l -v ``` 输出示例: ``` NAME STATE VERSION * Ubuntu Stopped 2 # 名称可能与你的实际安装名不同 ``` - 若未显示,需重新导入(参考后文**问题处理**部分) --- ### **2. 直接启动Ubuntu命令行** #### **方法一:通过快捷命令** 在任意位置执行以下操作: - **Windows Terminal用户**:直接选择Ubuntu标签页 - **传统方式**: 1. 按 `Win + R` 打开运行窗口 2. 输入:`ubuntu` 或 `ubuntu2204`(取决于发行版名称) 3. 按回车键启动 #### **方法二:自定义快捷方式** 1. 桌面右键 → 新建 → 快捷方式 2. 输入位置: ```powershell wsl -d <你的Ubuntu名称> ``` (如 `wsl -d Ubuntu-22.04`) 3. 命名快捷方式(如 "My Ubuntu") --- ### **3. 修复默认启动行为** #### **情况1:`ubuntu`命令失效** - **原因**:注册表路径变更 - **修复步骤**: 1. 按 `Win + S` 搜索 **`regedit`** 并打开注册表编辑器 2. 定位路径: ``` HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss ``` 3. 找到对应发行版的GUID文件夹(查看右侧`DistributionName`值确认) 4. 双击修改 **`BasePath`** 值,指向当前Ubuntu的安装路径(如 `D:\wsl\ubuntu`) #### **情况2:默认终端被修改** 1. 按 `Win + S` 搜索 **`默认终端应用`** 2. 选择:**Windows控制台主机**(恢复传统cmd风格)或 **Windows Terminal**(现代多标签方案) --- ### **4. 问题处理** #### **问题:执行`ubuntu`提示"找不到发行版"** - **解决方案**: 1. 重新注册发行版(需提前备份tar文件): ```powershell wsl --unregister Ubuntu-22.04 # 先注销错误注册 wsl --import Ubuntu-22.04 D:\wsl\ubuntu ubuntu_backup.tar ``` 2. 设置默认用户: ```powershell Ubuntu-22.04 config --default-user <你的用户名> ``` #### **问题:启动后进入PowerShell环境** - **原因**:WSL实例未正确初始化 - **解决方案**: 1. 强制重启WSL服务: ```powershell wsl --shutdown ``` 2. 重新启动Ubuntu实例 --- ### **5. 高级配置(可选)** #### **通过VS Code集成** 1. 安装 **Remote - WSL** 扩展 2. 按 `Ctrl + Shift + P` → 输入 **`WSL: Reopen Folder in WSL`** #### **配置Windows Terminal自动加载** 1. 打开Windows Terminal设置 2. 在"配置文件"中添加: ```json { "guid": "{随机生成GUID}", "name": "My Ubuntu", "commandline": "wsl -d Ubuntu-22.04", "hidden": false } ``` --- ### **关键验证步骤** ```powershell # 检查默认用户是否正确 wsl -d Ubuntu-22.04 -e whoami # 应返回你的用户名而非root # 检查文件系统挂载 wsl -d Ubuntu-22.04 -e ls /mnt/d # 应显示D内容 ``` 通过以上操作,可确保转移后的Ubuntu恢复原有的命令行交互体验。若仍有异常,建议提供 `wsl --list --verbose` 输出以便进一步诊断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GFCGUO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值