乘风破浪,遇见最美Windows 11之现代Windows开发运维 - 探索在WSLg中安装和运行国产操作系统统信(UOS)
前言
之前一直使用虚拟机(Vmware)来安装和运行UOS,本地一直通过WSL挂着Docker Desktop,两个同时开得话,性能实在不咋地,那么有没有办法在WSLg上直接安装和运行UOS呢,这样可以减少一个虚拟机开销?具体性能表现是否优于虚拟机(Vmware)呢?
这里准备探索的一个方案是,先通过虚拟机安装和运行一个UOS最新版本,然后把整个系统做个tar备份打包,接下来去WSL里面通过指定这个tar来导入。
准备
虚拟机安装和运行UOS
这里就不罗嗦了,直接引用另外一篇博文:VMware Workstation Player/VMware Workstation Pro虚拟机安装统信OS(UOS)
建议就拿最新的ISO装一个纯净的出来。

因为后面备份整个系统,实际上需要root权限,但是UOS上需要开启开发者模式才能有root,所以还需要激活下开发者模式。



备份系统之后,我们还需要将其转移到虚拟机之外,所以还要开启和Windows之间的目录共享。


查看UOS版本
cat /etc/os-version

在Windows 10/11上启用WSLg
这里也不啰嗦,引用另外一片博文:两种开启姿势(商店安装+内置启用)并运行GUI

备份UOS
通过tar备份整个系统
这里使用tar命令来针对/目录来创建一个备份文件,并且我们将其保存到共享文件夹中,同时我们还要排除一些文件夹。
sudo tar --exclude=/proc --exclude=/lost+found --exclude=/tmp --exclude=/sys --exclude=/home --exclude=/mnt --exclude=/recovery -cvpzf /mnt/hgfs/outputSpace/uos105020.tgz /
这里注意,这个顺序还挺重要的,先要把
--exclude写在前面。
这里-cvpzf是五个tar的命令选项,其中c代表--create创建,v代表--verbose显示执行过程,p代表--same-permissions保留所有东西原来的权限,z代表--gzip通过gzip指令处理备份文件,f代表--file指定备份文件。
紧接着的/mnt/hgfs/outputSpace/uos105020.tgz代表存储位置,/代表备份的目录,这里使用/就代表Linux系统的根目录了。
接下来就是通过--exclude指定一些需要排除的目录,包括很多临时文件目录(/proc、/lost+found、/tmp、/sys),这里多排除了下/home防止出错,排除了存储备份文件的目录/mnt。



配置Wslg
导入备份
通过使用tar文件导入任何Linux发行版,可在适用于Linux的Windows子系统(WSL)中使用该发行版(即使它不在Microsoft Store中提供)。
wsl --import $DistroName $InstallLocation $FileName
先创建一个存储导入系统的目录,比如G:\WslSpace\UOS,作为$InstallLocation的值。
然后$FileName就是刚才那个tar备份目录的文件名,比如H:\outputSpace\uos105020.tgz
这里的$DistroName我们可以自定义一个名字,比如就叫UOS,这样好记忆。
执行导入命令即可:
wsl --import UOS G:\WslSpace\UOS H:\outputSpace\uos105020.tgz


验证导入
wsl -l -v

运行系统
wsl -d $DistroName
接下来通过-d来运行UOS这个新导入的发行版。
wsl -d UOS


有点遗憾,看来图形界面没有驱动起来。
添加用户
默认运行这个导入系统,是以root用户运行的,如果需要切换到其他用户。
关闭系统
wsl --terminate $DistroName
接下来,关闭这个系统
wsl --terminate UOS

卸载系统
wsl --unregister $DistroName
接下来,卸载并注销系统
wsl --unregister UOS

启用普通用户
sudo apt update && sudo apt upgrade
sudo apt install passwd -y

浙公网安备 33010602011771号