如何在 Windows 上备份我的 MBR(主引导记录)?我更喜欢内置工具(来自 Microsoft 等)
答案1
您可以使用 Windows 7 及更高版本附带的 PowerShell。此脚本使用 P/Invoke 访问本机CreateFile
函数,打开第一个磁盘进行直接读取,并将磁盘的前512个字节保存到mbr
当前目录中名为的文件中。
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class PInvoke {
[DllImport("kernel32.dll")] public static extern IntPtr CreateFile(string lpFileName, int dwDesiredAccess, int dwShareMode, IntPtr lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, IntPtr hTemplateFile);
}
"@
$handle = [PInvoke]::CreateFile('\\.\PhysicalDrive0', 0x80000000, 6, 0, 3, 0, 0)
$fs = New-Object System.IO.FileStream ($handle, 'Read', $true)
$b = [array]::CreateInstance([byte], 512)
$fs.Read($b, 0, 512) | Out-Null
Set-Content .\mbr $b -Encoding Byte
$fs.Dispose()
要使用它,请将其保存为 PS1 文件,如backupmbr.ps1
。按照启用脚本部分的说明操作后PowerShell 标签 wiki,您可以从管理命令提示符中调用它:
powershell -file .\backupmbr.ps1
如果您有多个驱动器,您可以在磁盘管理管理单元中查找要备份的 MBR 的驱动器编号,然后更新该编号\\.\PhysicalDrive0
以进行匹配。
答案2
据我所知,没有内置的 Windows 工具来备份 MBR。
您可以使用第三方工具布蒂斯。
如果您只是希望能够恢复 Windows 的默认 MBR,那么您不需要备份,而且有一个官方的 MS 工具可以做到这一点。从 Windows 安装媒体(Windows Vista 或更新版本)启动,按Shift+F10并输入bootrec /fixmbr
。