目标
- 针对”现代”版本的 Windows 10/11 ,备份整个操作系统,含软件、配置等,主要是防止突然磁盘故障造,重装系统软件配置虽没难度,但琐碎麻烦,
- 频率一般不高,可能几个月才备份一次;
- 力求简单方便且可靠,类似于“古代”的GHOST 这种;
- 可以选择性的备份,即排除某些文件或目录;
- 增量备份,是可有可无的功能。
场景分析
现代 Windows 10/11 应该都安装在SSD上的,微软也不推荐SSD分一堆区,一般情况下就是一个操作系统分区(一般是 C 盘,以下简称“系统分区”,注意不是Windows 磁盘管理里的 “EFI 系统分区”),再加上几个隐藏分区(EFI 分区/ESP,恢复分区,微软保留分区/MSR)。所以系统分区可能会有几个大目录,像下载文件夹、游戏安装文件夹、资料存档文件夹等,备份时,备份时最好能忽略掉这些目录。
具体方案
使用 diskgenius 的磁盘备份、分区备份功能;最好在 PE 下操作。
备份:
1)先备份系统分区,diskgenius 菜单 – 分区 – 备份分区到镜像文件,对话框里有“备份选项”的按钮,可做排除目录或文件。有一些排除目录勾选项,默认已经排除了回收站、休眠文件等,还可手工添加自定义的路径。
2)再备份整个磁盘,但排除掉系统分区,这个备份文件应该很小;如果用是 diskgenius 免费版,可以每个分区分别备份。事实上,只用备份一次就可以,甚至不备份也行。
3)按实际需要定期备份系统分区,频度按个人需要。
还原:
1)如果只是系统坏掉,比如装了某个软件驱动所致,这时只用还原系统分区即可。注意,这一步会要覆盖掉整个分区!提前把必要的文件转出来,尤其是备份时忽略掉的目录。
2)如果是磁盘损坏更换了新盘,则要先一次性先还原整个磁盘的备份,然后新建分区,当然其容量要够系统分区,再把系统分区的备份恢复上去。每个分区分别备份的话,手工建分区并逐个还原即可。
3)如果没有做磁盘备份,或者磁盘备份坏了,那就先还原系统分区,再新建 EFI 分区、MSR 分区,很多工具(比如 diskgenius )都有这个功能,名称不统一,也可能叫修复启动项等名称。
修复/重建EFI 分区的第三方工具
这里只列举个大概,要理解具体的修复操作,得补充一系列相关背景知识,在后面的章节有述。
如果磁盘上没有 EFI 分区的话,要先手工添加,要注意分区类型,要设置为为 “EFI System Partition”,而不是 FAT16/32。分区本身格式化成 FAT16或32 都可。(注意,这里 “分区类型” 与“格式化类型”是两个概念,一个是分区表里的的标记,一个是分区里的文件系统)。事实上,分区类型设置成 FAT格式多半也能正常工作,这应该是主板固件做的兼容吧。
- diskgenius, 可以一键添加 EFI分区,MSR分区(ESP/MSR),不过它不能生成EFI目录的文件,这要借用其他工具。
- Dism++,工具箱 – 引导修复,有重建ESP的功能,但要用其他工具事先创建好相关分区。
- WePE内置的 “Windows 引导修复”也类似,使用更简单,点挂载ESP,再点修复即可;还能编辑BCD。
- WePE内置的 BOOTICE,好像也是类似工具,大概也行,不过暂时没研究明白,先不管了。
- 傲梅轻松备份(免费版),也可以实现,甚至跟上面说的“备份”功能,也都是其功能。不过这里没有选用。主要是因为更习惯 disgenius 的操作。
- 还有更多工具,如 小兵U盘启动/小兵一键装机(其“修复引导”功能),NTBOOTautofix ,据说可以,未做测试,有兴趣者可以尝试。
附注
本文的“备份”单指对操作系统及软件配置的备份,不涉及个人文档等的备份,这方面要按个人实际需要而做备份(比如使用 FreeFileSync 等第三方工具)。
关于增量备份。备份分区时,diskgenius 有增量备份的功能,不过不建议用。因为增量备份时要与历史备份做比照,很慢,而且经验上增量备份远比想象的大;还有,理论上,一组增量备份中任意损坏一个,整个备份集都可能废掉。所以不如每次都全量备份。
现代的电脑应该都是使用 UEFI 启动模式了,硬盘也使用 GPT/GUID分区表,如果还使用 BIOS/Legacy模式,这个方案肯定不行。
实际上UEFI+GPT 使用更简单,分区在磁盘上位置在前在后都无所谓,这不同于传统的 MBR 一定在第一扇区。
如果磁盘上有多个操作系统,按实际情况评估备份方案,前述方案理论上也是没问题的,只不过重建 EFI 分区后,还要再添加入其他系统的启动项,可能麻烦。
做些深入的探究
为了修复或重建 EFI分区(ESP),还要多一些知识储备。简单梳理一下相关概念,知其大概即可,以方便理解为要,这里也不苛求精准。如果不深入探究技术细节,是否理解这这些内容,关系并不很大。
一些相关概念
BIOS 模式(Legacy)与 UEFI 模式
电脑启动引导进入操作系统,这一步是主板固件负责,有两种模式,1)一种是1980’s 年代的 BIOS 模式,这是相当古老的技术,近些年的主板上,还有保留,可能称为 Legacy 模式/传统模式。主板固件在Boot硬盘上找到 MBR 记录,再据此找到系统分区,再在其中找启动程序,从而启动操作系统。 2)目前主流使用的是 UEFI 模式,起源于 2000年左右 Intel 提出的 EFI 规范,随后与多家公司成立UEFI Forum,制定出 UEFI 规范,它要求磁盘使用使用 GUID分区表(GUID Partition Table, GPT)。主板固件直接识别分区表(GPT),找到EFI分区(ESP),从中找到引导程序及启动项数据库BCD,从而启动操作系统。 这两种模式的流程还是很相似,步骤大体上可以对应。
BIOS 模式,Legacy 模式,传统模式,主引导记录MBR,MBR 模式,MBR 分区表,MBR 引导记录,这些概念在日常技术讨论中并不严格,尤其中文语境下,大体上可以理解为同一套东西,它们都依赖于 (MBR)相关的一系列标准。就是上面说的第一种古老的技术,没有特别需要,就不要用了。
UEFI 模式,实际上很复杂,但对于日常使用而言,反而容易些,要记住它要求磁盘使用 GUID分区表(GPT)。这个分区表支持更大的磁盘。实际上,UEFI 模式的主板,在一定程度上有对 MBR 模式的兼容,甚至可以把两种模式中的元素混用起来,一定程度上也造成了理解障碍。
GUID分区表(GPT)的磁盘,一般会有一个 EFI系统分区(全称为 EFI System Partition, ESP),简称为 EFI分区,也会不规范的称为 “ESP 分区”,指的是同一个东西,理解就行。这个分区类型的GUID 一定是 {C12A7328-F81F-11D2-BA4B-00A0C93EC93B}
,容量一般在 100-300 MB(Windows 默认分 100 MB),而且一定是 FAT 格式,其中会有一个名为 EFI 的目录,里面是待启动的操作系统的位置信息(下述)。UEFI 模式的主板固件,就是先找这个分区,再从中找启动项并启动操作系统。可以类比成 Legacy 模式里的 MBR 引导项及 活动分区里的 boot.ini 。
上段说的 EFI 目录,里面文件很多,也相当复杂,好在我们不必过多关注其内容,可以简单的理解为,它指定了安装操作系统分区的位置,存储在 \EFI\Microsoft\Boot\BCD 文件中,这是个二进制数据库,修改其内容要借用 bcdboot, bcdedit 命令或第三方工具。
泛指主板固件程序时,尤其与机器启动相关的部分时,BIOS / UEFI 这两个概念经常也混用。
在讲BIOS 设置,主板设置,主板的启动设备等,CMOS 与 NVRAM 这两个概念也会混用,指的是对对主板提供的设置程序,就是按 Del/F2/F12/Esc 键进入的设置后保存界面。
一个标准的 Windows 10/11 安装,GPT 磁盘(UEFI 模式)通常包含这些分区:
分区 类型 大小 作用 EFI System Partition (ESP) FAT32 100–300 MB 存放 bootx64.efi、BCD 等启动文件 Microsoft Reserved (MSR) 未格式化 16 MB 保留空间,在 Windows 做 GPT分区调整时会用到;一般可以无视其存在 Windows 系统分区 (C:) NTFS 数 GB ~ TB 存放Windows系统文件、程序、用户数据 Recovery 分区 NTFS 500 MB – 1 GB 存放恢复环境(WinRE)
修复隐藏分区(EFI分区, ESP)
只有一个“Windows系统分区” 的完整备份,但没有其他隐藏分区的任何备份,如何实现恢复?
1)使用命令手工实现
手工修复并不简单,但更能理解技术细节。使用 Windows 安装盘 → 进入“修复计算机” → 命令提示符
C:/>diskpart DISKPART>list disk DISKPART>select disk 0 DISKPART>create partition efi size=100 DISKPART>select partition 3 DISKPART>format quick fs=fat32 label="System" DISKPART>assign letter=S DISKPART>exit C:/>bcdboot C:\Windows /s S: /f UEFI C:/>
即:新建 efi 分区,并把 C 盘里的 Windows 加入到 BCD 数据库中。其中 DISKPART> 提示符的行,都是在 diskpart 这个工具内部的执行命令,Microsoft 有详细文档,下面仅对前面命令相关的部分做些补充。
# disk, partition, volume 都是用数字序号,即 list xxx 命令里显示的 ### 一栏
# create partition 后的 select partition 命令,其实不必要,因为 create 后 diskpart 背后自动 select 过了;因为要新建 efi 分区必须指定 efi 参数
# 使用 assign letter 给 efi 分区附加了个盘符S,这只是临时的,供下一步给 bcdboot 命令指定这个盘符,重启后会它并不显示在磁盘列表里
# diskpart 工具里一般都是先 select disk/part/volume N 再 format/delete xx 操作;比如 delete xx override删除分区。这与常见的命令行工具的习惯不太一致
# 还有 detail 命令用于显示当前select 的 disk/part/volume 信息;
bcdboot 工具在这里用于生成完整的 EFI 分区文件内容的工具,即 /f UEFI 参数,指明需要生成的是 UEFI 模式的相关文件;生成的目标由 /s S: 指定,就是上面
2)使用第三方工具修复
一般在 PE 中用图形化的工具,适合不想手动打命令者。这类工具其实很多,尤其对于只有一个 Windows 系统的修复,一键完成修复。就是前面“修复/重建EFI 分区的第三方工具”一节。
Last Updated on 2025/10/13