BCDEdit 有什么作用?

BCDEdit 有什么作用?

我新安装的 Windows 7 无法启动。在 Microsoft 支持页面上,我找到了此操作指南(使用 Windows 7 恢复光盘):

 bcdedit /export C:\BCD_Backup
 C:
 cd boot
 attrib bcd -s -h -r
 ren C:\boot\bcd bcd.old
 bootrec /RebuildBcd

我还没有尝试过,因为我想先了解一下。为什么我必须导出bcdBCD_Backup,然后再进行bcd.old复制?这不是一回事吗?

答案1

分解一下你正在查看的命令:

bcdedit /export C:\BCD_Backup
** 将当前 BCD(启动配置数据)导出到 C:\BCD_Backup

C:
** 将当前工作驱动器更改为 C: 驱动器

cd boot
** 将当前工作目录更改为当前驱动器 (C:) 上的隐藏“boot”目录

attrib bcd -s -h -r
** 从文件“bcd”(存储引导配置数据的位置)中删除 SYSTEM、HIDDEN 和 READ-ONLY 属性

ren c:\boot\bcd bcd.old
** 将“bcd”文件重命名为“bcd.old”(备份)

bootrec /RebuildBcd
** 实际上是从头开始重建“bcd”文件

正如本文所述Microsoft 帮助

/RebuildBcd 选项会扫描所有磁盘以查找与 Windows Vista 或 Windows 7 兼容的安装。此外,此选项还允许您选择要添加到 BCD 存储的安装。当必须完全重建 BCD 时,请使用此选项。

基本上,您正在备份,然后删除启动配置数据,然后强制对其进行完全重建。

答案2

BCD编辑代表启动配置数据编辑器,它基本上是该boot.ini文件的后继者。根据文档:

  • bcdedit /export C:\BCD_Backup将您的 BCD 导出到文件。
  • C:应确保您位于 C: 的根目录中。
  • cd boot将目录更改为 C:\boot
  • attrib bcd -s -h -r删除 bcd 文件的系统、隐藏和只读属性。
  • ren C:\boot\bcd bcd.old将 bcd 重命名为 bcd.old。回答你的问题,我相信它们是同一事物的两种不同格式。
  • bootrec /RebuildBcd将(呃)重建 bcd。

答案3

为什么我必须将 bcd 导出到BCD_Backup,然后进行bcd.old复制?这不是一回事吗?

知识库文章(其中有两篇包含这些说明。 是较新的 Windows NT 6.1。)不会告诉您进行复制。该ren命令不会复制文件。它们会告诉您重命名旧文件,并从头开始,完全没有 BCD 数据库文件。该bcd.old文件不一定与该BCD_Backup文件相同,因为后者是通过读取现有数据库并写出具有相同记录的新数据库来创建的。

是的,重复可能看起来是多余的。但只有在 BCD 数据库不是损坏。知识库文章正在解决这种情况:,记住。在这种情况下,bcd.old数据库文件是原样的,并且是可以从中成功检索以进行导出的BCD_Backup任何内容。bcdedit

相关内容