Windows 安装 WSL2 Ubuntu
2024-1-20
| 2024-12-1
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
    • wsl启动时,自动启动ssh
      • ~/.bashrc~/.profile添加以下命令
        • 无sudo密码启动ssh服务

        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文件夹下, 修改文件名.
              之后, 开始菜单搜索目标文件名, 右键添加开始屏幕即可.

          3.1. mirror模式设置网络

          注意,设置的时候TUN模式需要关掉,防止wsl虚拟机的首选网卡从连接互联网的口变成TUN的虚拟网卡的口。可以通过ip addr来查看。

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

          加入 .bachrc 文件中

          5. WSL 无法 ping 通 Windows 宿主机

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

          6. 安装图形化界面

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

          由于 CUDA 驱动的地址在 Windows 路径下, 所以安装 opencv 等 python 库关联的模块会出现各种环境问题. 如果需要做开发用的话, 不建议使用 WSL.
          如果安装了图形化界面,再图形化界面使用终端会发现nvidia-smi不能用。
          所以需要安装cuda驱动

          8. WSL 安装smb挂在ext4磁盘

          • 挂载磁盘
             
          • Windows
          • Notion Mermaid 绘制思维导图流程图不同任务下主干网络的选择
            • Giscus
            目录