MBR 本身并不是一个可以直接“运行”的命令,它是一个存储在硬盘物理扇区(通常是第 0 个扇区)中的数据结构。 我们通常所说的“MBR 命令”,指的是用于查看、创建、备份、恢复或修复 MBR 及其相关功能的工具命令。

这些命令主要分为两大类:
- 特定操作系统自带的工具:如 Windows 的
bootrec、Linux 的fdisk和dd。 - 第三方磁盘工具:如
TestDisk和GParted。
下面我将分类详细介绍这些命令的格式和用法。
Windows 系统下的 MBR 相关命令
在 Windows 中,最核心的工具是 bootrec,它通常在 Windows 恢复环境 中使用,你可以通过安装 U 盘启动并进入“疑难解答” -> “高级选项” -> “命令提示符”来访问它。
bootrec 命令
bootrec 用于修复 Windows 的启动配置数据,这其中就包括了重建 BCD(Boot Configuration Data)和修复 MBR 的引导代码。

主要功能及命令格式:
| 命令 | 功能描述 | 命令格式及示例 |
|---|---|---|
/fixmbr |
修复 MBR,此命令会用一个标准的 Windows MBR 引导代码覆盖硬盘的 MBR,不会删除分区表。 | bootrec /fixmbr |
/fixboot |
修复 VBR(Volume Boot Record),此命令会在系统分区的起始处写入一个全新的启动扇区。注意: 如果系统分区是加密的(如 BitLocker)或位于非标准硬盘上,此命令可能会失败。 | bootrec /fixboot |
/scanos |
扫描所有磁盘并显示已安装的 Windows 操作系统,它会检查每个磁盘的分区表,并列出所有能找到的 Windows 安装。 | bootrec /scanos |
/rebuildbcd |
重建 BCD 存储,此命令会扫描所有 Windows 安装,并让你选择将其添加到启动菜单中,这是修复启动问题的最常用、最强大的命令之一。 | bootrec /rebuildbcd |
bootrec 完整修复流程示例:
这是一个经典的四步修复法,适用于大多数启动问题。
# 1. 修复 MBR 引导代码 bootrec /fixmbr # 2. 修复系统分区的启动扇区 bootrec /fixboot # 3. 扫描所有 Windows 安装 bootrec /scanos # 4. 重建启动配置数据 bootrec /rebuildbcd
diskpart 命令
diskpart 是一个功能强大的磁盘分区管理工具,它可以用于设置活动分区,这对于 MBR 启动至关重要。
主要功能及命令格式:

| 命令 | 功能描述 | 命令格式及示例 |
|---|---|---|
list disk |
列出所有磁盘。 | list disk |
select disk X |
选择要操作的磁盘(X 是磁盘编号)。 |
select disk 0 |
list partition |
列出所选磁盘上的所有分区。 | list partition |
select partition Y |
选择要操作的分区(Y 是分区编号)。 |
select partition 1 |
active |
将所选分区标记为“活动”,在 MBR 磁盘上,活动分区是包含操作系统引导文件的分区。这是 MBR 启动成功的关键一步。 | active |
diskpart 设置活动分区示例:
# 启动 diskpart diskpart # 列出磁盘,找到你的系统盘(通常是 Disk 0) list disk # 选择你的系统盘(假设是 Disk 0) select disk 0 # 列出分区,找到你的 Windows 系统分区(通常是分区 1) list partition # 选择你的 Windows 系统分区(假设是分区 1) select partition 1 # 将其标记为活动分区 active # 退出 diskpart exit
Linux 系统下的 MBR 相关命令
在 Linux 中,fdisk 和 dd 是操作 MBR 最常用的工具。
fdisk 命令
fdisk 是一个交互式的分区表管理工具,可以用于查看和修改 MBR 分区表。
主要功能及命令格式:
| 命令 | 功能描述 | 命令格式及示例 |
|---|---|---|
sudo fdisk -l /dev/sdX |
列出指定磁盘的分区表信息。-l 选项表示“list”,/dev/sdX 是你的磁盘设备名(如 /dev/sda)。 |
sudo fdisk -l /dev/sda |
| 交互式操作 | 启动 fdisk 后,会进入交互模式。 |
sudo fdisk /dev/sda |
p (print) |
在交互模式下,打印当前的分区表。 | p |
a (toggle bootable flag) |
在交互模式下,切换分区的“活动”标志,对于 MBR 启动,需要将 Linux 分区(如 /dev/sda1)设置为活动。 |
a -> 1 (输入分区号) |
w (write) |
在交互模式下,将更改写入磁盘并退出。 | w |
fdisk 设置活动分区示例:
# 启动 fdisk 交互界面 sudo fdisk /dev/sda # (fdisk) p # 查看当前分区表,找到 Linux 分区号,比如是 1 # (fdisk) a # 准备设置活动分区 # Partition number (1-4, default 1): 1 # 输入分区号 1 # The bootable flag on partition 1 is enabled now. # (fdisk) w # 保存更改并退出
dd 命令
dd 是一个强大的底层文件复制工具,被称为“字节复制器”,它可以精确地复制硬盘的扇区,因此非常适合用于备份和恢复 MBR。
MBR 的结构:
- 引导代码:前 446 字节。
- 分区表:接下来的 64 字节。
- 结束标志:2 字节(
0x55AA)。
主要功能及命令格式:
| 功能 | 命令格式及示例 |
|---|---|
| 备份 MBR | 将整个 MBR(512字节)备份到一个文件中。if 是输入文件,of 是输出文件,bs 是块大小,count 是块数量。 |
| 恢复 MBR | 从备份文件中恢复 MBR。警告: 此操作会覆盖目标磁盘的 MBR,可能导致数据丢失,请谨慎操作! |
| 只重写引导代码 | 这是一个更安全的操作,它只覆盖前 446 字节的引导代码,保留原有的分区表。 |
第三方工具
TestDisk
TestDisk 是一个开源的数据恢复工具,功能非常强大,专门用于修复丢失的分区和修复启动问题。
主要功能及命令格式:
| 功能 | 命令格式及示例 |
|---|---|
| 修复 MBR | TestDisk 可以自动检测并修复损坏的 MBR。 |
| 恢复丢失的分区 | 它可以扫描磁盘并尝试重建丢失的分区表。 |
| 修复启动 | 它可以修复被破坏的启动扇区和 BCD。 |
总结与安全警告
| 工具 | 平台 | 核心功能 | 关键命令/操作 |
|---|---|---|---|
bootrec |
Windows RE | 修复 MBR 引导代码、VBR、BCD | bootrec /fixmbr, /rebuildbcd |
diskpart |
Windows RE | 管理分区,设置活动分区 | select disk, select partition, active |
fdisk |
Linux | 查看/修改分区表,设置活动分区 | sudo fdisk /dev/sda, a (交互式) |
dd |
Linux | 备份/恢复整个 MBR 或引导代码 | dd if=/dev/sda of=backup.img bs=512 count=1 |
TestDisk |
跨平台 | 综合修复,恢复分区,修复启动 | testdisk /dev/sda |
⚠️ 重要安全警告 ⚠️
- 备份!备份!备份! 在使用任何能修改磁盘分区的工具(如
diskpart,fdisk,dd)之前,务必备份重要数据,一个错误的命令可能导致整个硬盘的数据永久丢失。 - 确认设备名:在使用
dd或diskpart时,务必确保你选择的设备名(如/dev/sda或Disk 0)是正确的目标磁盘,选错磁盘(比如选成了 U 盘或另一个硬盘)会造成灾难性后果。 - 理解操作后果:在运行命令前,请务必理解该命令将要做什么。
dd if=... of=/dev/sda会将 U 盘的内容写入整个硬盘,覆盖所有数据。 - 谨慎使用修复工具:修复工具虽然强大,但也有失败的风险,如果数据极其重要,建议寻求专业技术人员的帮助,而不是自行操作。
