最新博文链接最近发现Windows11上的WSL打不开,一直提示虚拟化功能没有开启,但是我看到查看配置后,发现居然开启了虚拟化功能。然后我尝试了各种方法,重装了几次系统。我试了一个软件一个软件,最后发现Spacedesk不兼容WSL2,只要不安装Spacedesk就可以了。也借此机会配置了一些其他的东西,比如终端美化、WebDAV服务器设置、硬盘分区备份等。大致思路是先制作一个U盘启动盘安装Windows11系统,然后配置系统并安装各种软件。然后使用OhMyPosh美化PowerShell和Linux终端。然后在局域网中的另一个Windows上部署两个WebDAV服务,分别挂载在本地和阿里云盘上。最后我又备份了系统分区,和一键还原备份差不多。配置用到的东西最好参考Ventoy官方教程:简单来说,Ventoy是一个开源的U盘制作工具。使用Ventoy,您无需反复格式化U盘,只需将ISO/WIM/IMG/VHD(x)/EFI等类型的文件直接复制到U盘中,即可在没有其他操作的情况下启动。您可以一次复制多个不同类型的图像文件,Ventoy会在启动时显示一个菜单供您选择。安装后,同一个U盘可以同时支持BIOS和多种UEFI模式。支持大多数常见类型的操作系统WSL:(适用于Linux的Windows子系统)适用于Linux的Windows子系统让开发人员可以按原样运行GNU/Linux环境——包括大多数命令行工具、实用程序和应用程序——而无需使用传统的虚拟机或双启动设置开销。OhMyPosh:OhMyPosh是一个自定义提示引擎,适用于任何能够使用函数或变量调整提示字符串的shell。OhMyPosh是一款可以自定义终端提示符的软件,它支持任何一种命令Runtime环境,可以通过函数或变量配置提示符的字符显示Cloudreve:Cloudreve让你快速搭建公私网盘系统.Cloudreve底层支持不同的云存储平台,用户在实际使用中无需关心物理存储方式。可以使用Cloudreve搭建个人网盘,文件共享系统,或大小团体的公有云系统aliyundrive-webdav:阿里云盘WebDAV服务,主要使用场景是配合支持WebDAV协议的客户端应用比如Infuse和nPlayer可以直接在电视上观看云盘视频内容,并且支持上传文件,但是受限于不支持文件秒传的WebDAV协议。DiskGenius:DiskGenius是一款专业级的数据恢复软件;支持文件恢复、分区恢复;文件预览、扇区编辑、加密分区恢复、Ext4分区恢复、RAID恢复等高级功能。DiskGenius是一款经典的硬盘分区工具。除了创建分区、删除分区、格式化分区、隐藏分区、分配盘符等基本功能外,DiskGenius还提供了快速分区、无损调整分区大小、分区表备份与恢复等更高级的功能。支持GPT分区格式,支持EXT4文件系统。DiskGenius也是一款功能强大的备份软件,可以轻松备份或克隆硬盘或分区;支持增量备份、多点还原、热备份、系统备份等多种功能。系统重装Ventoy官网先制作一个U盘启动盘重装系统,顺便在U盘放一个PE系统镜像,方便后期配置电脑。在制作VentoyU盘和安装U盘启动盘时,会格式化整个U盘。如果您有重要数据,请记得提前保存。安装完成后就可以像普通U盘一样使用VentoyU盘了,不影响U盘。指导。配置Ventoy插件(VentoyPlugson)Ventoy支持的插件很多,这里我只配置“指定搜索目录”,主要是为了加快镜像搜索速度。当然你也可以不配置。一般来说,搜镜像的速度是比较快的。指定要搜索ISO文件的根目录。默认情况下,Ventoy会搜索U盘上的所有目录和子目录。当U盘上有大量文件时,这个过程会很慢。这种情况下,可以将ISO文件单独放在某个目录下,然后通过这个变量指定搜索路径。这时Ventoy只会搜索这个目录及其子目录。Ventoy插件中有一个数据持久化插件,如果你想在LinuxLiveCD中保存数据,可以试试这个插件。微软官网下载系统镜像下载Windows11kubuntu官网Windows和Linux镜像都有,但是如果要在Windows11上使用QQ,需要使用简体中文版的镜像。我开始用的是英文版的镜像,QQ一直说我的文件损坏,后来换成简体中文版就正常了。下载镜像后,将镜像文件直接复制到U盘(任意位置均可)。当然你也可以在U盘中放入一些软件安装包,方便系统安装后安装。制作PE镜像微PE官网这里我制作了一个PE镜像文件放在U盘里,这样以后电脑有什么问题的时候可以用U盘进入PE系统解决.比如你可以用PE修复系统引导,或者恢复系统盘数据等。PE制作好ISO镜像后,就和系统镜像一样,放到U盘里就可以了。将U盘插入安装系统,重启电脑,进入BIOS选择U盘启动。然后选择要安装的镜像。您可以跳过要求您输入系统激活码的计算机。我选择的是Windows11Pro工作站版,感觉这个版本的功能比较多。然后选择安装位置。可以先删除之前的分区,然后选择整个硬盘或一块未分配的区域安装系统。之后电脑开始从U盘安装系统。电脑读取U盘数据后,即可拔下U盘,等待重启。进入设置界面后,按照步骤操作即可,唯一需要注意的是账号的登录。我选择了离线登录。如果你在这里选择使用在线账号登录,系统用户名将成为你登录账号的前几个字符,后面输入命令行时也是同名。如果您离线登录,进入系统后显示的用户名就是您输入的用户名。配置系统进入系统后,您可以配置各种Windows设置,例如更改任务栏软件图标或删除一些不用的软件。最重要的是记得更新系统。当然,你也可以对硬盘进行分区。我通常使用DiskGenius进行硬盘操作。然后我重新定位了文档、下载、音乐、图片和视频的文件夹位置,这样我以后就不需要在浏览器中更改下载位置,也不需要一个一个下载软件。安装软件再安装软件,比如7z、runtime、Clash(代理软件)、Docker等,有些软件可能需要我们去Windows商店下载(比如Ubuntu)。我发现如果要进入商店,必须先关闭Clash代理,否则无法进入。如果要添加启动程序,可以在文件浏览器地址栏输入startup,它会自动跳转到启动文件夹。我的位置是C:\Users\Admin\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup特别注意一些可能不兼容WSL2的软件,比如Spacedesk。如果要使用WSL2,不要安装Spacedesk(Spacedesk最新版本为BetaRCv1.0.29)安装WSL老版本WSL手动安装步骤这里我是通过安装docker来安装WSL的,但是docker安装是WSL1,安装时docker会提示升级到WSL2,官方有教程。以管理员身份打开PowerShell并运行:为Linux启用Windows子系统:dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestart启用虚拟机功能:dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all/norestart安装WSL2Linux内核更新包设置WSL2为默认版本:wsl--set-default-version2安装选择的Linux发行版,我选择的是Ubuntu,安装后打开,设置用户名称和密码,然后就可以正常使用WSL了。配置终端OhMyPosh官网我这里使用的终端是系统自带的WindowsTerminal,然后通过OhMyPosh配置终端,主要是它同时支持Windows和Linux。安装OhMyPosh后,先安装NerdFont以防止出现乱码。我安装了HackNerdFont,然后记得更改WindowsTerminal的默认字体。Windows终端配置OhMyPosh|安装|Windwos安装OhMyPosh:wingetinstallJanDeDobbeleer.OhMyPosh替换现有提示,首先使用$PROFILE查找PowerShell启动时的脚本(如果没有,在相应位置新建同名文件)。比如我的:PSC:\Users\Admin>$PROFILED:\Document\PowerShell\Microsoft.PowerShell_profile.ps1在Microsoft.PowerShell_profile.ps1脚本文件中添加一行命令:oh-my-posh--init--shellpwsh--config~/jandedobbeleer.omp.json|Invoke-Expression重启终端后,可以看到新的提示符。不过这里我换了另外一个喜欢的主题craver,如果不换主题就不用看这一步了。我只是将Microsoft.PowerShell_profile.ps1脚本中的~/jandedobbeleer.omp.json更改为~\AppData\Local\Programs\oh-my-posh\themes\craver.omp.json,然后重新启动终端。或者直接下载网上的json文件进行配置。WSL终端配置OhMyZsh官方安装教程WSL的配置和PowerShell大致相同,不过我是在oh-my-zsh的基础上配置的,主要是为了增强终端的功能。这里我使用Ubuntu。先更新Ubuntu系统:sudoaptupdate-y&&sudoaptupgrade-y安装zsh、git、vim、unzip:sudoaptinstallzshgitvimunzip-y设置zsh为默认shell:chsh-s$(whichzsh)(或chsh-szsh)设置WSL2代理,后面从Github下载文件时可能会出现HTTP443错误,需要使用代理,这里我使用的是Clash,端口号默认为7890。如果不使用代理,从Github下载文件可能会很慢。在~/.zshrc文件末尾添加如下脚本代码,每次启动zsh都会执行以下代码。你可以用新安装的Vim打开~/.zshrc并添加代码。exporthostip=$(cat/etc/resolv.conf|grep-oP'(?<=nameserver\).*')exporthttps_proxy="http://${hostip}:7890"exporthttp_proxy="http://${hostip}:7890"installoh-my-zsh:sh-c"$(curl-fsSLhttps://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"配置哦-my-zsh插件,例如:安装zsh-autosuggestions(可以自动提示之前输入的命令):gitclonehttps://github.com/zsh-users/zsh-autosuggestions${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions安装zsh-syntax-highlighting(可以高亮命令行命令):gitclonehttps://github.com/zsh-users/zsh-syntax-highlighting.git${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting然后在~/.zshrc文件中的plugins字段添加插件名称,比如plugins=(gitzsh-autosuggestionszsh-syntax-highlighting)同法安装OhMyPosh,按照官网教程即可。哦,我的时髦|安装|Linux下载ohmyposh:sudowgethttps://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64-O/usr/local/bin/oh-my-poshsudochmod+x/usr/local/bin/oh-my-posh下载主题:mkdir~/.poshthemesswgethttps://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/themes.zip-O~/.poshthemes/themes.zipunzip~/.poshthemes/themes.zip-d~/.poshthemeschmodu+rw~/.poshthemes/*.jsonrm~/.poshthemes/themes.zip替换已有的hints字符,添加以下内容~/.zshrc末尾的代码:eval"$(oh-my-posh--init--shellzsh--config~/jandedobbeleer.omp.json)"当然你也可以把jandedobbeleer换成其他喜欢的例如,我将其更改为:eval"$(oh-my-posh--init--shellzsh--config~/.poshthemes/craver.omp.json)"然后重新启动终端以部署局域网WebDAV服务器。使用局域网中的另一个Windows作为下载器,在其上安装Cloudreve和aliyundrive-webdav实现Webdav,使用Windows自带的远程桌面控制运行。cloudreve主要用于两个Windows之间传输文件,aliyundrive-webdav是部署阿里云盘的webdav服务。对于webdav客户端,我使用Raidrive配置Windows远程桌面微软官方配置远程桌面教程首先在被控电脑上打开遥控器,然后找到它的IP地址。比如我用ipconfig查到本地IPv4地址是192.168.1.7。当然,你也可以不用远程控制,直接在另一台Windows电脑前操作。这里最好配置路由器的DHCP,静态分配一个固定的IP地址,这样以后连接的时候就不用看地址了。然后在控制端打开远程桌面连接,输入被控制电脑的IP地址,进行连接。配置CloudreveCloudreveGithub地址,在被控电脑上打开cloureve.exe。首次启动时会提示一次用户名和密码。后面启动的时候不会有提示,注意保存。然后在浏览器中打开localhost:5212就可以看到Cloudreve的前端网页,然后添加一个WebDAV账户,默认使用本地(受控设备)存储,这样就可以在两台电脑之间传输文件了。其实远程桌面连接是支持直接复制粘贴文件的,只是每次打开远程桌面手动复制粘贴有点麻烦。cloudreve默认每个用户的容量为1G,您可以进入cloudreve后台更改用户组的容量设置。之后在主控终端的Windows上安装Webdav客户端。我用Raidrive是因为它可以挂载OneDrive、GoogleDrive等其他存储方式,配置功能丰富。下面是刚才配置的Cloudreve的raid驱动配置,比如端口是5212,默认路径是/dav,默认用户名是admin@cloudreve.org,密码是新建Webdav账号的密码配置刚刚创建。阿里云盘的webdav服务放在受控窗口,一直开着,比较方便,局域网内的其他设备也可以使用。只需按照Github上的说明进行操作即可。我使用docker部署服务:dockerrun-d--name=aliyundrive-webdav--restart=unless-stopped-p8080:8080-v/etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/-eREFRESH_TOKEN='yourrefreshtoken'-eWEBDAV_AUTH_USER=admin-eWEBDAV_AUTH_PASSWORD=adminmessense/aliyundrive-webdav相当于dockerrun-d--name=aliyundrive-webdav--在Powershell中restart=unless-stopped-p8080:8080`-v/etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/`-eREFRESH_TOKEN='你的刷新令牌'`-eWEBDAV_AUTH_USER=admin`-eWEBDAV_AUTH_PASSWORD=admin`messense/aliyundrive-webdav-v:Theboundvolume,这里这个volume主要用来存放阿里云盘的refresh_token。前面的/etc/aliyundrive-webdav/是windows中的地址(我只是改了~/地址)后面的/etc/aliyundrive-webdav/是docker容器中的地址-e:环境变量REFRESH_TOKEN:阿里云盘refresh_token(如果要获取方法,作者在Github上说)WEBDAV_AUTH_USER:你要设置的WebDAV服务的用户名(我直接默认)WEBDAV_AUTH_PASSWORD:你要设置的WebDAV服务的密码(我直接默认it)被控制Windows上的docker正常运行后,就可以在主控端配置webdav了。我这次也连接了OneDrive和GoogleDrive备份分区/磁盘DiskGenius官网。Spacedesk和WSL2不兼容),并将机械硬盘做成动态卷,然后不小心损坏了机械硬盘的分区。后来用DiskGenius重建分区表时,只恢复了部分分区。感觉以后要随时注意备份分区和硬盘。之前拿到的阿里云盘webdav主要是为了方便保存一些数据和系统备份镜像,避免本地电脑出现问题后花时间重新配置系统。这里备份的时候主要有两种方式:备份和克隆备份只生成一个镜像文件,不会覆盖其他分区的数据,而且镜像文件移动起来也比较方便。如果还是觉得麻烦,可以直接使用各种一键还原软件,它可以自动安装启动项,为你制作U盘启动盘。貌似DiskGenius官方有一个工具叫易数一键还原。克隆就是将一个分区(或硬盘)的所有数据直接复制到另一个分区(或硬盘),覆盖掉另一个分区的原有数据。所以个人认为分区备份更方便。当然,如果要进行系统迁移,最好使用克隆硬盘的方法。以后能在云端做的事情,我会尽量在线上做,这样就不用再关注本地备份的问题了。本文由Tsanfer的博客发布!
