我的电脑从 2022 年末购入以来,经历了无数的腥风血雨。三年多来,我的能力和知识从匮乏、杂乱变得越来越丰富与系统,自然我的电脑也需要一次重构。在几次的折腾之后(包括但不限于:加装硬盘、无厘头地迁移软件、强制降级系统),电脑的系统盘、注册表、快捷方式等等已经变得混乱不堪,岌岌可危。

加装硬盘时我心血来潮把数据盘整体目录结构进行重构,却没想到这导致了注册表中大量软件安装路径大量失效。在那之后还不收手,便出现了更多问题——MSI 系统的程序因找不到原安装包或缓存,导致无法卸载或更新;各种“幽灵注册表”残留等等。

最终让我决定重装的是显卡驱动的崩溃。在一次普通的更新失败后,我逐渐意识到事情的严重性:NVIDIA App 无法安装,显卡驱动无法装上,硬件无法正常识别。即便用 DDU(Display Driver Uninstaller)卸载后能勉强凑合用,但比起继续缝缝补补,不如给自己一个痛快。

数据备份

重装必然牵扯到数据的备份。为了防止痛失重要数据,我梳理了以下必须备份的几个大类:

1. 用户目录文件

首先是用户文件夹下的内容,比如桌面、图片、视频、音乐、下载等文件夹。由于 C 盘空间极其充裕,我之前并未修改它们的默认位置。

另外,在用户夹下还有一些极其重要的隐藏文件夹:.gitconfig.ssh/ 文件夹。它们分别存储了 Git 的全局配置以及系统级的 SSH 配置(私钥、known_hosts 等)。

除此之外,我安装过的游戏中,《赛博朋克2077》、《过山车之星》、《底特律:化身为人》等游戏的存档通常默认存放在 C:\Users\{USERNAME}\Saved Games\ 文件夹下,统统需要打包带走。

2. 软件配置数据

C:\Users\{USERNAME}\AppData\RoamingC:\Users\{USERNAME}\AppData\Local 两大文件夹存放了重要的软件数据和配置文件。其中包括但不限于达芬奇 (DaVinci Resolve)、Listary、Clash 等核心工具,挑出重要的对应目录进行妥善备份。

IDEs

鉴于 JetBrains 系列 IDE 以及 VSCode 的基础配置均有账号云备份,所以不再备份。

3. 字体库

对于在设计方面有所涉猎的人,字体也是必不可少的。主要的系统字体安装目录有 2 个:C:\Windows\Fonts%LOCALAPPDATA%\Microsoft\Windows\Fonts。如果有使用类似 FontBase 的字体管理软件,对应的根目录及缓存也需一并备份。

4. 系统设置与网络

hosts 文件:存放了一些自定义的 DNS 解析,可以用来屏蔽部分软件的正版验证服务器,也可以用来对 Cloudflare 等 CDN 的全球 IP 进行优选。路径位于 C:\Windows\System32\drivers\etc\hosts

环境变量PATH 环境变量倒是可有可无,毕竟重装后软件的目录不一定完全一致,且盲目恢复可能引入新的垃圾环境。视需要导出即可。

Wi-Fi 密码:系统保存的所有 Wi-Fi 密码值得导出一次。使用以下命令:

1
netsh wlan export profile folder={FOLDER} key=clear

该命令会将系统保存的所有 Wi-Fi 密码导出到 {FOLDER} 中,格式为明文包含密码的 XML 文件。

重装后,即可使用以下命令一键恢复:

1
for %f in ("{FOLDER}\*.xml") do netsh wlan add profile filename="%f"

5. 必要驱动收集

  • 官方驱动https://www.mi.com/service/notebook/drivers/A11S
  • 绝对必要的驱动 —— 网卡驱动:由于不能确定新装的 Windows 版本能否自动包含并打上网卡的通用驱动。为避免首次开机后陷入无网络的尴尬,至少准备好网卡驱动的安装包。

备份完成后的的整体目录结构大致如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
d:\backups
├─ %sunshineInstallationPath%/ # Sunshine 安装目录备份(包含配置文件等)
├─ C.Users.28618/ # 用户目录关键数据
│ ├─ .gitconfig # Git 全局配置
│ ├─ .ssh/ # SSH 密钥与 known_hosts
│ └─ Saved Games/ # 游戏存档
│ ├─ CD Projekt Red/
│ │ └─ Cyberpunk 2077/
│ ├─ Frontier Developments/
│ │ └─ Planet Coaster/
│ └─ Quantic Dream/
│ └─ Detroit Become Human/
├─ C.Users.28618.AppData.Roaming/ # Roaming 配置备份
│ ├─ Blackmagic Design/
│ │ ├─ Blackmagic Proxy Generator/
│ │ └─ DaVinci Resolve/
│ ├─ FontBase/ # FontBase 配置与缓存
│ ├─ io.github.clash-verge-rev.clash-verge-rev/ # Clash Verge Rev 配置、规则、订阅
│ └─ Listary/
├─ C.Windows.Fonts/ # 字体库备份
├─ C.Windows.System32.drivers.etc/
│ └─ hosts # hosts 文件
├─ drivers/ # 驱动安装包集合
├─ envVariables/
│ └─ path.txt # PATH 导出
├─ userFolders/ # 用户文件夹备份
│ ├─ desktop/ # 桌面
│ ├─ downloads/ # 下载
│ ├─ music/ # 音乐
│ └─ pictures/
└─ WiFi/ # WLAN 配置 XML
└─ WLAN-*.xml

系统安装

做好万全的数据备份与准备后,便可以开始长痛不如短痛的重装环节。整个系统的清空与安装过程简要概括为以下几步:

  1. 引导进入 PE 环境:使用制作好的启动盘,从 U 盘引导进入 PE 系统。
  2. 清除磁盘并重建分区:打开 DiskGenius,选中系统所在磁盘删除所有分区。确认磁盘格式(转换为 GPT)。随后利用“快速分区”等功能在空闲分区上重新划分系统盘,建立引导分区(ESP)及保留分区(MSR)。
  3. 应用系统镜像:打开 WinNTSetup,选官方下载的 Windows 镜像文件,将引导驱动器定为刚分出的 ESP 分区,安装驱动器定为新建的系统主分区,点击确定开始部署。
  4. 重启完成 OOBE:等待进度条走完重启电脑,随后只需坐和放宽,然后完成 OOBE 。

嗨,别来无恙啊!