Windows 安装 WSL2 Ubuntu
2024-1-20
| 2024-1-27
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password

1. 安装Ubuntu

  • 首先检查windows是否可以更新, 必须保持在可以更新的状态才可以下载ubuntu镜像.
  • 管理员模式打开终端, 查看wsl可以安装的linux版本
    • 安装ubuntu
      • 如果windows无法更新这里会出现错误代码: 0x80070005.

    2. 开启ssh

    修改/etc/ssh/sshd_config结尾加上密码登录, 端口等参数
    • 重启ssh
      • 可能出现报错: sshd: no hostkeys available -- exiting
      • 解决方法: sudo ssh-keygen -A

    3. 自动化windows虚拟网卡ip修改+启动ssh服务

    wsl的虚拟网卡在windows重启的时候, ip地址会自动改变. 编写bat文件, 管理员运行.
    • 由于每次wsl重启都会重置网卡配置, 所以可以写一个脚本自动修改网卡
    • 在 wsl Ubuntu home 目录下添加一个脚本set_eth0.sh(注意脚本保存的位置), 桥接网卡到host, 并打开 ssh 服务
      • powershell桥接网络脚本
        • 在windows中新建开启脚本: wsl-bridge-on.ps1
        • 注意这里的Start-Process "$psHome\powershell.exe" , 需要用终端输入$psHome 查看 powershell 路径, 该路径下是 powershell.exe 还是 pwsh.exe.
      powershell 取消桥接脚本, 可以不使用
      在 windows 中新建关闭脚本: wsl-bridge-off.ps1
      • windows 下设置 ps1 文件运行程序
        • 分别右键 wsl-bridge-on.ps1 和 wsl-bridge-off.ps1 这两个脚本, 直接默认powershell运行 (或在打开方式中选择其它应用, 找到powershell安装路径下的可执行文件pwsh.exe, 勾选始终使用此应用打开.ps1文件, 这样就可以直接双击运行了).
          不过, 默认情况下 windows powershell 不允许执行自定义脚本, 所以需要修改设置打开执行权限.
          管理员方式打开 powershell, 执行 Set-ExecutionPolicy Unrestricted 或 Set-ExecutionPolicy RemoteSigned
      • 将 ps1 文件添加到开始屏幕
        • 给 ps1 文件创建一个快捷方式, 复制到C:\ProgramData\Microsoft\Windows\Start Menu\Programs文件夹下, 修改文件名.
          之后, 开始菜单搜索目标文件名, 右键添加开始屏幕即可.

      4. WSL 安装 ubuntu 之后, ubuntu 内使用 nvidia-smi 失效

      加入 .bachrc 文件中

      5. WSL 无法 ping 通 Windows 宿主机

      因为 windows 防火墙屏蔽了外来的 icmp 包, 需要给防火墙添加规则

      6. WSL 中的cuda驱动是和宿主机共享

      由于 CUDA 驱动的地址在 Windows 路径下, 所以安装 opencv 等 python 库关联的模块会出现各种环境问题. 如果需要做开发用的话, 不建议使用 WSL.
       
    • Windows
    • Notion Mermaid 绘制思维导图流程图不同任务下主干网络的选择
      • Giscus
      目录