- 我有一块 HDD(称为 HDD1),其中有一些分区,例如 EFI 分区和 Windows 10 分区。
- 我有另一个 HDD(称为 HDD2),其中只有一个 EFI 分区和 Windows 10 分区。
我想将 Windows 分区从 HDD2 替换到 HDD1。(一种恢复)
为了能够在 Windows 上启动,我应该将 HDD2 的 EFI 分区中的什么替换到 HDD1?
- 您能详细告诉我 EFI 分区里面有什么吗?(windows/linux/any_other_OS 分区的位/扇区起始?)
- EFI 内每个窗口是否有唯一的 ID?(意味着仅替换 Windows 分区/文件是不够的)
我想从低层次了解 EFI 系统,以便知道可以做什么或不可以做什么。
假设:HDD2 的 Windows 分区大小与 HDD1 的 Windows 分区相同或更小。
編輯:只需替换 Windows 分区,它就可以正常工作。这意味着在 EFI 分区中,没有关于已安装 Windows 的信息。但我不明白为什么 EFI 分区中有这么多文件。
答案1
在 efi 分区中,/EFI/boot 目录中有 efi 引导加载程序,在 x64 系统上加载文件 bootx64.efi,在 x86 系统上启动文件 bootia32.efi。不需要扇区地址或类似信息,因为 EFI 可以识别文件系统 (FAT32)。
Windows 将其启动配置存储在目录 /Microsoft/Boot/ 中,即文件 BCD(具有启动设置的注册表配置单元)和相应子目录中的各种语言文件中。
BCD 文件存储引导加载程序的条目,并通过其唯一 ID 寻址分区(至少在 GPT 系统上)。因此,简单地将给定的 BCD 复制到另一个磁盘是行不通的,因为唯一 ID 不匹配,Windows 将停止启动并出现错误 0xC0000255。
您可以使用 bcdedit 之类的工具来修复该问题,或者使用 Visual BCD 编辑器。