Windows10安装配置wsl+Ubuntu20.04环境

目录

  • [1. 安装wsl+ubuntu20.04](#1. 安装wsl+ubuntu20.04)
    • [1.1 安装wsl](#1.1 安装wsl)
    • [1.2 升级wsl](#1.2 升级wsl)
    • [1.3 安装ubuntu20.04](#1.3 安装ubuntu20.04)
    • [1.4 wsl 从系统盘迁移到D盘](#1.4 wsl 从系统盘迁移到D盘)
    • [1.5 重启电脑](#1.5 重启电脑)
  • [2. 本机Windows访问Ubuntu20.04文件系统](#2. 本机Windows访问Ubuntu20.04文件系统)
    • [2.1 资源管理器直接访问](#2.1 资源管理器直接访问)
    • [2.2 localhost地址访问](#2.2 localhost地址访问)
    • [2.3 samba共享文件夹(慎用)](#2.3 samba共享文件夹(慎用))
  • [3 Ubuntu20.04访问本机Windows文件系统](#3 Ubuntu20.04访问本机Windows文件系统)

1. 安装wsl+ubuntu20.04

1.1 安装wsl

shell 复制代码
wsl --install

1.2 升级wsl

shell 复制代码
C:\Users\10620>wsl --update
正在安装: 适用于 Linux 的 Windows 子系统
已安装 适用于 Linux 的 Windows 子系统。

C:\Users\10620>wsl --version
WSL 版本: 2.6.1.0
内核版本: 6.6.87.2-1
WSLg 版本: 1.0.66
MSRDC 版本: 1.2.6353
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows: 10.0.19045.6093

1.3 安装ubuntu20.04

shell 复制代码
#查看所有可用的发行版
wsl --list --online

#安装ubuntu20.04
wsl --install -d Ubuntu-20.04

1.4 wsl 从系统盘迁移到D盘

由于wsl安装在系统C盘占系统内存,需要将WSL移植到内存空间充足的D盘。

(1) 首先查看一下虚拟机状态。

shell 复制代码
wsl -l -v

如果是running状态,先停止。

shell 复制代码
wsl --shutdown

(2) 备份ubuntu20.04到D盘

shell 复制代码
wsl --export Ubuntu-20.04 D:\Program\WSL\Ubuntu20.04\Ubuntu.tar

(3) 注销原 wsl 虚拟机

shell 复制代码
wsl --unregister Ubuntu-20.04

(4) 将ubuntu20.04备份压缩包安装到D盘

shell 复制代码
# wsl --import <发行版名称> <安装位置> <系统压缩包> [选项]
wsl --import Ubuntu-20.04 D:\Program\WSL\Ubuntu20.04 D:\Program\WSL\UbuntuUbuntu20.04\Ubuntu.tar

(5) 配置默认用户名
<发行版名称版本号>就是Ubuntu+版本号组合,比如Ubuntu-20.04就是Ubuntu2004。下面配置一个名为sun的ubuntu系统用户。

shell 复制代码
# <发行版名称版本号> config --default-user <用户名>
Ubuntu2004 config --default-user sun

(6) 登录验证

配置完成后,在windows的cmd窗口执行下面命令登录ubuntu,登录上后就直接进入了sun用户的家目录。

1.5 重启电脑

最好做一下这步,我安装完wsl+ubuntu系统后,发现我编译windows拷贝到ubuntu的代码不生效。重启之后再试验就好了。

2. 本机Windows访问Ubuntu20.04文件系统

2.1 资源管理器直接访问

2.2 localhost地址访问

在文件资源管理器或者win+r中输入地址:\wsl.localhost\Ubuntu-20.04\xxx

2.3 samba共享文件夹(慎用)

在ubuntu中配置一个共享文件夹,让windows通过ip来访问,这个方法我没有试验成功,在重启samba服务的时候一直失败。

(1) 安装samba服务

shell 复制代码
sudo apt update
sudo apt install samba

(2) 创建一个文件夹用来做共享,并赋予其777权限

shell 复制代码
# mkdir <文件夹>
sun@DESKTOP-SL4VE95:~$ mkdir code && chmod 777 code
sun@DESKTOP-SL4VE95:~$ ls -l
total 0
drwxrwxrwx 1 sun sun 4096 Oct 22 00:00 code

(3) 修改samba配置文件

编辑文件/etc/samba/smb.conf,在文件末尾填入下面内容后保存退出。

shell 复制代码
[sun] #samba user
  comment = Samba server's share
  path = /home/sun/code
  available = yes
  writeable = yes
  security = share
  browseable = yes
  public = yes
  valid user = sun
  admin users = sun
  create mask = 0644
  force create mask = 0644
  directory mask = 0755

sun\]:这是共享的名称,你可以在网络上访问该共享时使用。 comment:这是关于共享的描述或注释,显示给用户看。 path:这是共享的实际路径。 public:这表示该共享是否为公共共享,即是否允许匿名用户访问。 writable:表示是否允许用户在共享中创建、编辑和删除文件。 available:表示该共享是否可用。 browseable:表示该共享是否在网络上可以浏览。 valid users:当前 Ubuntu 系统的用户名。 admin users:提升权限

(4) 给samba用户设置密码

shell 复制代码
sun@DESKTOP-SL4VE95:~$ sudo smbpasswd -a sun
[sudo] password for sun:
New SMB password:
Retype new SMB password:

(5) 重启samba服务

shell 复制代码
sudo systemctl restart smbd.service
sudo systemctl enable smbd.service

注意这里可能会碰到下面错误,提示系统不是用的systemd作为初始化进程(PID 1)。

shell 复制代码
sun@DESKTOP-SL4VE95:~$ sudo systemctl restart smbd.service
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

这个时候我们先用ps命令看一下是不是这么回事,可以看到1号进程是init,而不是systemd。这个是和ubuntu版本有关系的,ubuntu20.04没有用systemd作为初始进程。

shell 复制代码
sun@DESKTOP-SL4VE95:~$ ps -A
  PID TTY          TIME CMD
    1 ?        00:00:00 init
    8 tty1     00:00:00 init
    9 tty1     00:00:00 bash
  112 tty1     00:00:00 ps

3 Ubuntu20.04访问本机Windows文件系统

在Ubuntu的文件路径/mnt/下默认映射了Windows磁盘分区。

相关推荐
奔跑吧 android9 小时前
【Docker】【2.docker 安装 ubuntu 桌面版】
ubuntu·docker·容器
人工智能的苟富贵14 小时前
Rust 异步编程实践:用 Tokio 实现一个迷你 HTTP 服务
ubuntu·http·rust
爱尔兰的楠小楠18 小时前
Windows上使用WSL2创建Ubuntu系统,实现无缝高效开发的体验
linux·windows·ubuntu
Fluency-1118 小时前
ubuntu中ssh连接root用户
linux·ubuntu·ssh
0wioiw019 小时前
Ubuntu(③vsftpd)
linux·服务器·ubuntu
洛克大航海1 天前
Linux 中如何查看系统的位数
linux·ubuntu
艾莉丝努力练剑1 天前
【Linux基础开发工具 (一)】详解Linux软件生态与包管理器:从yum / apt原理到镜像源实战
linux·运维·服务器·ubuntu·centos·1024程序员节
illuspas1 天前
Ubuntu 24.04下编译支持ROCm加速的llama.cpp
linux·ubuntu·llama
初学者52131 天前
服务器映射外网端口22连接不上,局域网能通
运维·服务器·ubuntu