Windows 重裝系統,配置 WSL,美化終端,部署 WebDAV 服務器,並備份系統分區


最新博客文章鏈接

最近發現我 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盤會被格式化,有重要數據的話,記得提前保存

https://cdn.tsanfer.com/image/202216194621.png

安裝完成之后,可以把 Ventoy U盤當成一般的U盤來使用,不會影響U盤的引導。

配置 Ventoy 插件( VentoyPlugson )

Ventoy 支持許多的插件,這里我只配置了“指定搜索目錄”,主要是為了加快鏡像的搜索速度。當然你也可以不配置,一般搜索鏡像的速度都是比較快的。

指定搜索ISO文件的根目錄。默認Ventoy會搜索U盤上的所有目錄和子目錄,當你U盤上有海量的文件時,這個過程會很慢。
這種情況下你可以把ISO文件單獨放在某個目錄下,然后通過這個變量來指定搜索路徑,此時Ventoy就只會搜索該目錄及其子目錄。

https://cdn.tsanfer.com/image/202216195527.png

Ventoy 插件里面有一個數據持久化插件,如果想在 Linux LiveCD 中保存數據的話,可以試試這個插件。

下載系統鏡像

微軟官網 下載 Windows 11

kubuntu 官網

Windows 和 Linux 的鏡像都可以,不過如果要在 Windows 11 上用 QQ 的話,要用簡體中文版的鏡像。我開始用的英文版鏡像,QQ 就一直說我文件損壞,后來改用簡體中文版后才正常。

下完了鏡像后,就直接把鏡像文件復制到U盤里(任意位置都行),當然也可以在U盤里放一些軟件安裝包,方便裝完系統后安裝。

制作 PE 鏡像

微PE 官網

這里我做了個 PE 的鏡像文件,放到U盤里,方便以后電腦有什么問題時,可以用U盤進 PE 系統解決。比如,可以用 PE 來修復系統引導,或者恢復系統盤數據等。

https://cdn.tsanfer.com/image/202216215043.png

做好 PE 的 ISO 鏡像后,和系統鏡像一樣,放到U盤里就行。

安裝系統

  1. 插上U盤,重啟電腦,進入 BIOS 選擇U盤啟動。
  2. 然后選擇要安裝的鏡像,電腦問你要系統激活碼可以跳過,我選的是 Windows 11 的 Pro 工作站版,感覺這個版本的功能要全一點。
  3. 然后就是選擇要裝到哪個地方,可以先刪除之前的分區,然后選擇整個硬盤或者某個未分配的區域,來安裝系統。
  4. 之后就是電腦開始從U盤安裝系統了,在電腦讀取完了U盤的數據之后,就可以拔掉U盤了,然后等它重啟。
  5. 之后進入了設置界面,按步驟走就好,唯一要注意的就是賬號的登陸。我這選擇的是離線登陸,如果你這里選的是在線賬號登陸的話,系統用戶名就會變成你登陸賬號的前幾位,以后進命令行也是這個名字。離線登陸的話,進入系統后顯示的用戶名則是自己輸入的名字。

配置系統

進了系統就是配置各種 Windows 設置里面的東西了,比如改改任務欄軟件圖標或者刪一些不用的軟件,最重要的是記得更新系統。當然你也可以對硬盤進行分區,我一般用 DiskGenius 來進行硬盤操作。

我之后重定位了,文檔、下載、音樂、圖片、視頻的文件夾位置,這樣就不用以后一個一個更改瀏覽器或者下載軟件里的下載位置了

https://cdn.tsanfer.com/image/202216222023.png

安裝軟件

然后就是安裝軟件了,比如 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

    之后重啟終端,就能看見新的提示符了。

    https://cdn.tsanfer.com/image/202216230801.png

  4. 不過我這里自己更換了另一個更喜歡的主題 craver,如果你不換主題的話,這一步就不用看了。我把剛剛那個 Microsoft.PowerShell_profile.ps1 腳本里的 ~/jandedobbeleer.omp.json 更改為了 ~\AppData\Local\Programs\oh-my-posh\themes\craver.omp.json ,然后再重啟終端就行了。或者直接下載網上 json 文件並配置。

    https://cdn.tsanfer.com/image/202216234006.png

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=(
    	git
    	zsh-autosuggestions
    	zsh-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)"

    然后重啟終端就行了

    https://cdn.tsanfer.com/image/202217163854.png

部署局域網 WebDAV 服務器

我用局域網內的另外一台 Windows 來做下載器,在其上安裝了 Cloudreve 以及 aliyundrive-webdav 來實現 Webdav,操作則用 Windows 自帶的遠程桌面來控制。cloudreve 主要是用來在兩台 Windows 之間傳輸文件的,aliyundrive-webdav 則是部署阿里雲盤的 webdav 服務。webdav 的客戶端的話,我則是用的是 Raidrive

配置 Windows 遠程桌面

微軟官方配置遠程桌面教程

先在被控制的電腦上打開遠程控制,然后找到其的 IP 地址。比如我用 ipconfig 找到本地的 IPv4 地址為 192.168.1.7 。當然,你也可以不用遠程控制,直接在另一台 Windows 電腦面前操作。

https://cdn.tsanfer.com/image/202217174614.png

這里最好配置一下路由器的 DHCP ,為其靜態分配一個固定的 IP 地址,以后連的時候就不用再看地址了。然后在控制端打開遠程桌面連接,輸入被控制電腦的 IP 地址,連上就行了。

https://cdn.tsanfer.com/image/202217180038.png

配置 Cloudreve

Cloudreve Github 地址

在被控制的電腦中打開 cloudreve.exe 即可,第一次啟動時會提示一次用戶名和密碼,以后啟動時就沒有提示了,所以要注意保存。

https://cdn.tsanfer.com/image/202217173410.png

然后在瀏覽器打開 localhost:5212 就能看見 Cloudreve 的前端網頁了,之后添加一個 WebDAV 賬號,它默認使用的是本地(被控制設備)存儲,這樣就能在兩台電腦之間傳輸文件了。其實遠程桌面連接,支持直接復制粘貼文件,不過每次都要打開遠程桌面手動復制粘貼,有點麻煩。

Cloudreve 默認每個用戶的容量為 1G,可以進 cloudreve 的后台更改用戶組的容量設置。

https://cdn.tsanfer.com/image/202217221623.png

之后就是在主控制端的 Windows 上裝 Webdav 客戶端了,我用的是 Raidrive 因為其可以掛載 One Drive 和 Google Drive 等的其他存儲方式,而且配置功能也比較豐富。下面是剛剛配置的 Cloudreve 的 raidrive 配置,比如,端口 5212,路徑默認/dav ,用戶名默認 admin@cloudreve.org ,密碼則是剛剛創建的 Webdav 新賬號的密碼

https://cdn.tsanfer.com/image/202217181916.png

配置 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 服務的密碼(我直接默認的)

https://cdn.tsanfer.com/image/202217235135.png

被控制的 Windows 上的 docker 運行正常后,就可以在主控制端配置 webdav 了,我順便還連上了 OneDrive 和 Google Drive

https://cdn.tsanfer.com/image/202218154455.png

備份分區/磁盤

DiskGenius 官網

這次配置系統,不知道出了多少的問題(主要是因為 Spacedesk 和 WSL2 不兼容的問題),還把機械硬盤弄成了動態卷,然后又一不小心把機械硬盤的分區弄壞了。后來用 DiskGenius 重建分區表都只恢復了部分分區,感覺以后隨時都要注意備份分區和硬盤了。我前面弄的那個阿里雲盤 webdav 主要也是為了方便保存一些數據和系統備份鏡像,以免本地電腦出問題后花時間來重新配置系統。

這里備份的時候,有兩種主要的方式:備份與克隆

備份只是生成一個鏡像文件,不會覆蓋其他分區的數據,而且鏡像文件移動起來也比較方便。如果還嫌麻煩的話,就直接用各種一鍵還原的軟件,還能自動的幫你裝啟動項和做U盤啟動盤,貌似 DiskGenius 官方就有一個叫易數一鍵還原的工具。

克隆則是直接把一個分區(或硬盤)的所有數據復制到另一個分區(或硬盤),而且會覆蓋掉另一個分區原有的數據。所以我個人認為,分區備份要方便一點,當然如果要進行系統遷移的話,還是最好用克隆硬盤的方式。

https://cdn.tsanfer.com/image/202218172311.png

這以后如果在雲端能做的事情,我就盡量在線上操作算了,這樣就不用注意本地備份的問題了。

本文由 Tsanfer's Blog 發布!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM