wsl教程

wsl2子系统的备份和还原

在cygwin下操作:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
  # 先看下自己安装的 WSL 名字是什么,下面是我的名字是 Ubuntu-22.04,你要做替换
  wsl -l
  # 进入 D 盘,然后新建 wslubuntu 文件夹,你可以叫其他名字,用来承载新迁移的目录
   cd /cygdrive/d/
  mkdir wslubuntu
  cd wslubuntu
  # 接着开始迁移  
  wsl --export Ubuntu-24.04 ./Ubuntu-24.04.tar
  wsl --unregister Ubuntu-24.04  
  wsl --import Ubuntu-24.04 ./ Ubuntu-24.04.tar
  # 再次使用 wsl -l 命令查看,然后启动 Ubuntu-22.04 看下是否迁移正常。

在同一路径下导出再导入后,会发现多了一个.vhdx文件

WSL2迁移后默认登陆用户为root的解决方案

第一步,在wsl的root用户下面用vim打开/etc/wsl.conf文件

1
  vim /etc/wsl.conf

第二步,在文件中添加以下代码, 仅需把user_name替换成你原来wsl的用户名即可

1
2
  [user]
  default=user_name

1
2
  [user]
  default=pengyuyan

重启wsl,在powershell下输入

1
2
  wsl --shutdown
  wsl

解决“wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理”

解决WSL中的localhost代理配置问题

问题背景

在使用Windows子系统Linux(WSL)的过程中,用户可能会遇到一个特定的网络问题,即系统提示"wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。"这通常意味着WSL的网络配置与Windows系统的代理设置不兼容。

解决方案概述

为了解决这个问题,我们需要调整WSL的网络配置,使其能够正确地反映Windows系统的代理设置。这可以通过创建一个.wslconfig文件并设置特定的网络模式来实现。

解决方案步骤

步骤1: 创建.wslconfig文件

  • 打开文件资源管理器,导航到您的用户目录,路径通常是C:\Users\<your_username>。
  • 在该目录下,创建一个新的文本文件,并将其命名为.wslconfig(注意没有文件扩展名)。

步骤2: 编辑.wslconfig文件

  • 右键点击.wslconfig文件,选择“用记事本打开”。
  • 在打开的文本编辑器中,输入以下内容:
1
2
3
4
5
6
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

-保存并关闭文件。

步骤3: 应用配置并重启WSL

  • 打开命令提示符或PowerShell。
  • 输入以下命令以关闭WSL的所有分发版:
1
wsl --shutdown
  • 等待命令执行完成,这将关闭所有正在运行的WSL实例。

步骤4: 重启WSL

  • 重新打开命令提示符或PowerShell。
  • 输入wsl命令来启动WSL。

步骤5: 验证问题是否解决

  • 检查是否还有关于localhost代理的提示。
  • 如果问题已解决,您可以继续使用WSL。

在WSL使用文件资源管理器中打开当前所在路径

在WSL输入一下命令,Windows会弹出WSL在本地的存储

1
  explorer.exe .
Licensed under CC BY-NC-SA 4.0
最后更新于 Jun 21, 2025 02:09 +0800
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计