最新博客文章链接

最近发现我 Windows11 上的 WSL 打不开了,一直提示我虚拟化功能没有打开,但我看了下配置,发现虚拟化功能其实是开着的。然后试了各种方法,重装了好几次系统,我一个软件一个软件的试,最后发现是 Spacedesk 与 WSL2 不兼容,只要不装 Spacedesk 就行了。我也正好趁这个机会,配置了一些其他的东西,比如终端的美化,WebDAV 服务器的搭建,硬盘分区的备份等。

大体思路

先做个U盘启动盘来装 Windows 11 系统,然后配置一下系统和安装各种软件。之后用 Oh My Posh 来美化 PowerShell 和 Linux 终端。然后在局域网内的另一台 Windows 上部署两个 WebDAV 服务,其分别挂载在本地以及阿里云盘。最后再备份了一下系统分区,作用和一键还原备份差不多。

用到的东西

配置时最好参考官方的教程

  • Ventoy:

    简单来说,Ventoy 是一个制作可启动U盘的开源工具。

    有了 Ventoy 你就无需反复地格式化U盘,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件直接拷贝到U盘里面就可以启动了,无需其他操作。

    你可以一次性拷贝很多个不同类型的镜像文件,Ventoy 会在启动时显示一个菜单来供你进行选择。

    安装之后,同一个U盘可以同时支持 BIOS 和多种 UEFI 模式。

    支持大部分常见类型的操作系统

  • WSL:(Windows Subsystem for Linux)

    适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。

  • Oh My Posh:

    Oh My Posh is a custom prompt engine for any shell that has the ability to adjust the prompt string with a function or variable.

    Oh My Posh 是一个可自定义终端提示符的软件,它支持任何种类的命令行环境,并能通过函数或变量来配置提示符的字符显示

  • Cloudreve:

    Cloudreve 可以让您快速搭建起公私兼备的网盘系统。Cloudreve 在底层支持不同的云存储平台,用户在实际使用时无须关心物理存储方式。你可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统

  • aliyundrive-webdav:

    阿里云盘 WebDAV 服务,主要使用场景为配合支持 WebDAV 协议的客户端 App 如 Infuse、nPlayer 等实现在电视上直接观看云盘视频内容, 支持上传文件,但受限于 WebDAV 协议不支持文件秒传。

  • DiskGenius:

    DiskGenius 是一款专业级的数据恢复软件;支持文件恢复、分区恢复;文件预览、扇区编辑、加密分区恢复、Ext4分区恢复、RAID恢复等高级功能

    DiskGenius 是一款经典的硬盘分区工具 。创建分区、删除分区、格式化分区、隐藏分区、分配盘符等基本功能外,DiskGenius 还提供快速分区、无损调整分区大小,分区表备份恢复等更多高阶功能。支持GPT分区格式,支持EXT4文件系统。

    DiskGenius 还是一款强大的备份软件,可以方便的备份或克隆硬盘或分区;支持增量备份及多点还原、热备份、系统备份等众多特性。

系统重装

Ventoy 官网

先做个U盘启动盘出来重装系统,顺便在U盘里放个 PE 系统镜像,方便以后配置电脑。

制作 Ventoy U盘

安装U盘启动盘时,整个U盘会被格式化,有重要数据的话,记得提前保存

安装完成之后,可以把 Ventoy U盘当成一般的U盘来使用,不会影响U盘的引导。

配置 Ventoy 插件( VentoyPlugson )

Ventoy 支持许多的插件,这里我只配置了“指定搜索目录”,主要是为了加快镜像的搜索速度。当然你也可以不配置,一般搜索镜像的速度都是比较快的。

指定搜索ISO文件的根目录。默认Ventoy会搜索U盘上的所有目录和子目录,当你U盘上有海量的文件时,这个过程会很慢。
这种情况下你可以把ISO文件单独放在某个目录下,然后通过这个变量来指定搜索路径,此时Ventoy就只会搜索该目录及其子目录。

Ventoy 插件里面有一个数据持久化插件,如果想在 Linux LiveCD 中保存数据的话,可以试试这个插件。

下载系统镜像

微软官网 下载 Windows 11

kubuntu 官网

Windows 和 Linux 的镜像都可以,不过如果要在 Windows 11 上用 QQ 的话,要用简体中文版的镜像。我开始用的英文版镜像,QQ 就一直说我文件损坏,后来改用简体中文版后才正常。

下完了镜像后,就直接把镜像文件复制到U盘里(任意位置都行),当然也可以在U盘里放一些软件安装包,方便装完系统后安装。

制作 PE 镜像

微PE 官网

这里我做了个 PE 的镜像文件,放到U盘里,方便以后电脑有什么问题时,可以用U盘进 PE 系统解决。比如,可以用 PE 来修复系统引导,或者恢复系统盘数据等。

做好 PE 的 ISO 镜像后,和系统镜像一样,放到U盘里就行。

安装系统

  1. 插上U盘,重启电脑,进入 BIOS 选择U盘启动。
  2. 然后选择要安装的镜像,电脑问你要系统激活码可以跳过,我选的是 Windows 11 的 Pro 工作站版,感觉这个版本的功能要全一点。
  3. 然后就是选择要装到哪个地方,可以先删除之前的分区,然后选择整个硬盘或者某个未分配的区域,来安装系统。
  4. 之后就是电脑开始从U盘安装系统了,在电脑读取完了U盘的数据之后,就可以拔掉U盘了,然后等它重启。
  5. 之后进入了设置界面,按步骤走就好,唯一要注意的就是账号的登陆。我这选择的是离线登陆,如果你这里选的是在线账号登陆的话,系统用户名就会变成你登陆账号的前几位,以后进命令行也是这个名字。离线登陆的话,进入系统后显示的用户名则是自己输入的名字。

配置系统

进了系统就是配置各种 Windows 设置里面的东西了,比如改改任务栏软件图标或者删一些不用的软件,最重要的是记得更新系统。当然你也可以对硬盘进行分区,我一般用 DiskGenius 来进行硬盘操作。

我之后重定位了,文档、下载、音乐、图片、视频的文件夹位置,这样就不用以后一个一个更改浏览器或者下载软件里的下载位置了

安装软件

然后就是安装软件了,比如 7z,运行库,Clash(代理软件),Docker 等。有些软件可能需要我们进 Windows 商店里面下载(比如,Ubuntu),我发现如果要进商店的话,要先把 Clash 代理关了,不然进不去。

要想添加开机自启程序的话,可以在文件浏览器的地址栏中输入 startup ,会自动跳转到开机自启文件夹,我的位置是 C:\Users\Admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

这里要特别注意某些软件可能和 WSL2 不兼容,比如 Spacedesk。如果想要用 WSL2 的话,就不要装 Spacedesk(我现在目前 Spacedesk 的最新版为 Beta RC v1.0.29)

安装 WSL

旧版 WSL 的手动安装步骤

这里我是通过安装 docker 来安装 WSL 的, 不过 docker 安装的是 WSL1,在安装时 docker 会提示你需要升级到 WSL2,官方有教程。

以管理员身份打开 PowerShell 并运行:

  1. 启用适用于 Linux 的 Windows 子系统:

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

  2. 启用虚拟机功能:

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

  3. 安装 WSL2 Linux 内核更新包

  4. 将 WSL 2 设置为默认版本: wsl --set-default-version 2

  5. 安装所选的 Linux 分发,我这选的是 Ubuntu,安装好后打开,设置一下用户名和密码,就可以正常使用 WSL 了。

配置终端

Oh My Posh 官网

这里我用的终端是系统自带的 Windows Terminal,然后通过 Oh My Posh 来配置终端,主要是因为它同时支持 Windows 和 Linux。

先装一个 Nerd Font 字体 防止装完 Oh My Posh 后出现乱码,我装的是 Hack Nerd Font,然后记得更改一下 Windows Terminal 的默认字体就行了。

Windows 终端配置

Oh My Posh | Installation | Windwos

  1. 安装 Oh My Posh :winget install JanDeDobbeleer.OhMyPosh

  2. 替换现有提示符,先用 $PROFILE 找到 PowerShell 启动时的脚本(没有就在对应位置新建一个同名文件)。比如我的:

    PS C:\Users\Admin> $PROFILE
    D:\Document\PowerShell\Microsoft.PowerShell_profile.ps1
    
  3. Microsoft.PowerShell_profile.ps1 脚本文件中添加一行命令 :

    oh-my-posh --init --shell pwsh --config ~/jandedobbeleer.omp.json | Invoke-Expression

    之后重启终端,就能看见新的提示符了。

  4. 不过我这里自己更换了另一个更喜欢的主题 craver,如果你不换主题的话,这一步就不用看了。我把刚刚那个 Microsoft.PowerShell_profile.ps1 脚本里的 ~/jandedobbeleer.omp.json 更改为了 ~\AppData\Local\Programs\oh-my-posh\themes\craver.omp.json ,然后再重启终端就行了。或者直接下载网上 json 文件并配置。

WSL 终端配置

Oh My Zsh 官方安装教程

WSL 的配置大体和 PowerShell 一样,不过我是在 oh-my-zsh 的基础上配置的,主要是为了加强终端的功能,这里我用的是 Ubuntu。

  1. 先更新一下 Ubuntu 系统: sudo apt update -y && sudo apt upgrade -y

  2. 安装 zsh, git, vim, unzip: sudo apt install zsh git vim unzip -y

  3. 设置 zsh 为默认 shell: chsh -s $(which zsh) (或 chsh -s zsh)

  4. 设置 WSL2 代理,后面从 Github 下载文件时可能会有 HTTP 的 443 错误,需要我们使用代理,这里我用的是 Clash,端口号默认为 7890。如果不使用代理的话,从 Github 上下载文件可能会很慢。

    ~/.zshrc 文件最后添加如下脚本代码,以后每次 zsh 启动时都会执行下面的代码,可以用刚刚安装的 Vim 打开~/.zshrc 并添加代码。

    export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')
    export https_proxy="http://${hostip}:7890"
    export http_proxy="http://${hostip}:7890"
    
  5. 安装 oh-my-zsh:

    sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

  6. 配置 oh-my-zsh 插件,比如:

    安装 zsh-autosuggestions (可以自动提示以前输过的命令):

    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

    安装 zsh-syntax-highlighting(可以使命令行的命令高亮):

    git clone https://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
    )
    
  7. 同样的安装 Oh My Posh,就直接跟着官网的教程走就行。

    Oh My Posh | Installation | Linux

    下载 oh my posh:

    sudo wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O /usr/local/bin/oh-my-posh
    sudo chmod +x /usr/local/bin/oh-my-posh
    

    下载主题:

    mkdir ~/.poshthemes
    wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/themes.zip -O ~/.poshthemes/themes.zip
    unzip ~/.poshthemes/themes.zip -d ~/.poshthemes
    chmod u+rw ~/.poshthemes/*.json
    rm ~/.poshthemes/themes.zip
    
  8. 替换现有提示符,在 ~/.zshrc 最后添加下面的代码:

    eval "$(oh-my-posh --init --shell zsh --config ~/jandedobbeleer.omp.json)"

    当然也可以把jandedobbeleer 改成其他喜欢的主题,比如我改成了:

    eval "$(oh-my-posh --init --shell zsh --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 地址,连上就行了。

配置 Cloudreve

Cloudreve Github 地址

在被控制的电脑中打开 cloudreve.exe 即可,第一次启动时会提示一次用户名和密码,以后启动时就没有提示了,所以要注意保存。

然后在浏览器打开 localhost:5212 就能看见 Cloudreve 的前端网页了,之后添加一个 WebDAV 账号,它默认使用的是本地(被控制设备)存储,这样就能在两台电脑之间传输文件了。其实远程桌面连接,支持直接复制粘贴文件,不过每次都要打开远程桌面手动复制粘贴,有点麻烦。

Cloudreve 默认每个用户的容量为 1G,可以进 cloudreve 的后台更改用户组的容量设置。

之后就是在主控制端的 Windows 上装 Webdav 客户端了,我用的是 Raidrive 因为其可以挂载 One Drive 和 Google Drive 等的其他存储方式,而且配置功能也比较丰富。下面是刚刚配置的 Cloudreve 的 raidrive 配置,比如,端口 5212,路径默认/dav ,用户名默认 admin@cloudreve.org ,密码则是刚刚创建的 Webdav 新账号的密码

配置 aliyundrive-webdav

aliyundrive-webdav Github 地址

我把阿里云盘的 webdav 服务放在了被控制的 windows 上一直开着,比较方便,而且局域网内的其他设备也可以用。下面跟着 Github 上的说明走就行,我是用 docker 部署的服务:

docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 8080:8080 -v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ -e REFRESH_TOKEN='your refresh token' -e WEBDAV_AUTH_USER=admin -e WEBDAV_AUTH_PASSWORD=admin messense/aliyundrive-webdav

等同于在 Powershell 中的

docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 8080:8080 `-v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ `-e REFRESH_TOKEN='your refresh token' `-e WEBDAV_AUTH_USER=admin `-e WEBDAV_AUTH_PASSWORD=admin `messense/aliyundrive-webdav
  • -v :绑定的卷,这里的这个卷主要是用来存放阿里云盘的 refresh_token。

    前面的那个/etc/aliyundrive-webdav/ 是 windows 里的地址(我随便改了个 ~/ 地址)

    后面的那个/etc/aliyundrive-webdav/ 是 docker 容器里的地址

  • -e :环境变量

    REFRESH_TOKEN :阿里云盘 refresh_token (获得方法的话,作者在 Github 上有说)

    WEBDAV_AUTH_USER :想要设置的 WebDAV 服务的用户名(我直接默认的)

    WEBDAV_AUTH_PASSWORD :想要设置的 WebDAV 服务的密码(我直接默认的)

被控制的 Windows 上的 docker 运行正常后,就可以在主控制端配置 webdav 了,我顺便还连上了 OneDrive 和 Google Drive

备份分区/磁盘

DiskGenius 官网

这次配置系统,不知道出了多少的问题(主要是因为 Spacedesk 和 WSL2 不兼容的问题),还把机械硬盘弄成了动态卷,然后又一不小心把机械硬盘的分区弄坏了。后来用 DiskGenius 重建分区表都只恢复了部分分区,感觉以后随时都要注意备份分区和硬盘了。我前面弄的那个阿里云盘 webdav 主要也是为了方便保存一些数据和系统备份镜像,以免本地电脑出问题后花时间来重新配置系统。

这里备份的时候,有两种主要的方式:备份与克隆

备份只是生成一个镜像文件,不会覆盖其他分区的数据,而且镜像文件移动起来也比较方便。如果还嫌麻烦的话,就直接用各种一键还原的软件,还能自动的帮你装启动项和做U盘启动盘,貌似 DiskGenius 官方就有一个叫易数一键还原的工具。

克隆则是直接把一个分区(或硬盘)的所有数据复制到另一个分区(或硬盘),而且会覆盖掉另一个分区原有的数据。所以我个人认为,分区备份要方便一点,当然如果要进行系统迁移的话,还是最好用克隆硬盘的方式。

这以后如果在云端能做的事情,我就尽量在线上操作算了,这样就不用注意本地备份的问题了。

本文由 Tsanfer’s Blog 发布!

Windows 重装系统,配置 WSL,美化终端,部署 WebDAV 服务器,并备份系统分区相关推荐

  1. Windows 安装和配置 WSL(亲测)

    按文章操作前先看说明: 本人也是按如下文章中的操作成功的完成了WSL的安装和配置,但为什么还要单独写一篇文章,写明亲测.是因为文章中有一些细节,没有说明.需要大家注意 1.安装oh-my-zsh,这里 ...

  2. 华为服务器如何备份系统,服务器怎么备份操作系统

    服务器怎么备份操作系统 内容精选 换一换 本节操作适用于Linux操作系统云服务器/etc/passwd文件损坏导致云服务器无法登录的问题.本节操作为紧急恢复系统方法,需要在单用户模式下会将系统备份初 ...

  3. 鸿蒙系统增加了什么功能,华为再发新版鸿蒙OS系统!新增超级终端功能:可媲美iOS系统...

    [4月2日讯]相信大家都知道,自从华为推送了鸿蒙OS手机Bate版本系统以后,不少参与鸿蒙系统内测用户便纷纷反馈,在升级了鸿蒙OS系统以后,在系统流畅度.续航等方面的优化表现,确实也是更加出色,这也让 ...

  4. 鸿蒙系统超级功能,华为再发新版鸿蒙OS系统!新增超级终端功能:可媲美iOS系统...

    [4月2日讯]相信大家都知道,自从华为推送了鸿蒙OS手机Bate版本系统以后,不少参与鸿蒙系统内测用户便纷纷反馈,在升级了鸿蒙OS系统以后,在系统流畅度.续航等方面的优化表现,确实也是更加出色,这也让 ...

  5. 鸿蒙os系统作用,华为再发新版鸿蒙OS系统!新增超级终端功能:可媲美iOS系统...

    [4月2日讯]相信大家都知道,自从华为推送了鸿蒙OS手机Bate版本系统以后,不少参与鸿蒙系统内测用户便纷纷反馈,在升级了鸿蒙OS系统以后,在系统流畅度.续航等方面的优化表现,确实也是更加出色,这也让 ...

  6. 华为鸿蒙系统超级终端,华为再发新版鸿蒙OS系统!新增超级终端功能:可媲美iOS系统...

    [4月2日讯]相信大家都知道,自从华为推送了鸿蒙OS手机Bate版本系统以后,不少参与鸿蒙系统内测用户便纷纷反馈,在升级了鸿蒙OS系统以后,在系统流畅度.续航等方面的优化表现,确实也是更加出色,这也让 ...

  7. 云服务器1和1g装什么系统好,1核1g的云服务器装什么系统好

    1核1g的云服务器装什么系统好 内容精选 换一换 简要介绍JpegOptim是用于优化jpeg文件的实用程序,提供无损优化(基于优化霍夫曼表)和基于设置最大品质因数的"有损"优化. ...

  8. 服务器无法通过系统非页面共享区进行分配,服务器无法通过系统非页面共享区来进行分配的解决方法...

    服务器开始阶段性的出现死机状态了.隔一段时间就无法连接了.重启后正常,过一段时间又是同样的问题. 事件查看器中有大量的同样报错: 事件ID:2020 描述:服务器无法通过系统页面共享区来进行分配,因为 ...

  9. 系统部署在服务器,如何把系统部署在云服务器

    如何把系统部署在云服务器 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 华为云 ...

最新文章

  1. python中的队列和栈_python的队列和栈
  2. 软件测试论坛_浅谈软件测试的未来,我们该如何做好准备
  3. MIT用超导体制成极低功耗神经元,能效接近人类大脑,比计算机高4个量级
  4. 阿里再开源!基于JAVA的模块化开发框架JarsLink
  5. JavaScript三种弹出框(alert,confirm和prompt)用法举例
  6. 缓存通用管理类 + 缓存 HttpContext.Current.Cache 和 HttpRuntime.Cache 的区别
  7. 数学不好,能学好机器学习吗?
  8. git clone 出现fatal: unable to access ‘https://github 类错误解决方法
  9. 20200714:动态规划复习day05
  10. thymeleaf获取url地址跳转时所带参数
  11. linux 文件压缩与解压
  12. php 查看本机ip,查看本机ip地址用什么命令
  13. 什么是5W1H分析法?
  14. 解决word或wps办公软件删除空白页后页面布局变乱问题
  15. 【温故知新】—— React/Redux/React-router4基础知识独立团Demo
  16. 为什么这位俄罗斯亿万富翁要为音乐节和音乐会创造一个虚拟现实世界?
  17. 新日+苏宁O2O,电动车市迎来智慧零售新时代
  18. Linux网络知识详解以及demo(Centos6、7)——OSI、TCP、UDP、IP、子网掩码/划分、网关、路由、广播、虚拟网络、网卡、交换机、DNS、ARP
  19. 关于\xEF\xBB\xBF的介绍
  20. 有导师学习神经网络的回归拟合——基于近红外光谱的汽油辛烷值预测

热门文章

  1. 美团yolov6初体验
  2. web前段开发(第五周)
  3. mt4交易软件云服务器_MT4软件要选择什么样的服务器?
  4. 全媒体运营师胡耀文教你:用户运营体系的推导思考
  5. 乔布斯生前最喜欢看的书
  6. 基于分形的山脉河流生成
  7. node.js+uni计算机毕设项目基于小程序的农牧认养系统(程序+小程序+LW)
  8. jsPDF(高清),html导出多页pdf(分享)
  9. 2021-NCTF pwn方向题目复现
  10. 域名解析--什么是A记录、别名记录(CNAME)、MX记录、TXT记录、NS记录