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磁盘分区。

相关推荐
欧云服务器5 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
智渊AI5 天前
Ubuntu 20.04/22.04 下通过 NVM 安装 Node.js 22(LTS 稳定版)
ubuntu·node.js·vim
The️5 天前
Linux驱动开发之Read_Write函数
linux·运维·服务器·驱动开发·ubuntu·交互
再战300年5 天前
Samba在ubuntu上安装部署
linux·运维·ubuntu
qwfys2005 天前
How to install golang 1.26.0 to Ubuntu 24.04
ubuntu·golang·install
木尧大兄弟5 天前
Ubuntu 系统安装 OpenClaw 并接入飞书记录
linux·ubuntu·飞书·openclaw
小虾爬滑丫爬5 天前
ubuntu上设置Tomcat 开机启动
ubuntu·tomcat·开机启动
老师用之于民5 天前
【DAY25】线程与进程通信:共享内存、同步机制及实现方案
linux·c语言·ubuntu·visual studio code
小虾爬滑丫爬5 天前
Ubuntu 上设置防火墙
ubuntu·防火墙
林开落L6 天前
解决云服务器内存不足:2 分钟搞定 Ubuntu swap 交换区配置(新手友好版)
运维·服务器·ubuntu·swap交换区