使用 `dd` Linux 程序保存/恢复磁盘的 MBR

使用 `dd` Linux 程序保存/恢复磁盘的 MBR

我的笔记本电脑上安装了 Ubuntu 操作系统。我想将 Windows 7 也安装到另一个磁盘分区(我将通过从笔记本电脑上的特殊分区恢复它来实现)。

安装 Windows 后,我想恢复硬盘 MBR 以便能够加载 Ubuntu。我计划使用 Linux程序:

1)(安装前,在Linux中执行此命令) dd if=/dev/sda of=/home/user/mbr_backup bs=512 count=1

2)(安装后,加载 Ubuntu Live CD 并启动它) dd if=/home/user/mbr_backup of=/dev/sda bs=512 count=1

3)在 PC 上加载 Ubuntu 并重新配置 GRUB2 以便能够启动 Windows

我需要你的建议,我想确保我不会损坏磁盘(它的分区表)。

答案1

您说得对,驱动器的前 512 个字节包含 MBR,您的方法会将其恢复到之前的状态,但这可能不是最好的做法。Ubuntu 应该保持 MBR 完好无损。只要分区表仍然完好,您仍然可以看到您的分区,只需将 grub 安装为引导加载程序即可。如果您使用的是现代 Ubuntu 版本,那么您可能会拥有 grub 2,这很棒,它会自动检测 Windows 分区并将其添加到您的 grub 列表中。只需运行 update-grub2。如果您没有在 Ubuntu 中安装引导加载程序,则可能会有点困难。类似有助于。

答案2

第一的你必须使用磁盘管理确保你将从正确的硬盘保存正确的 MBR,特别是当你使用两个或更多硬盘时

第二你必须对你的硬盘进行备份,如果你可以克隆到另一个硬盘上那就更好了[你可以使用 dd 来进行,但它需要通话时间]

第三将您的 MBR 备份和备份保存在安全的地方,例如外部硬盘或 USB 闪存或另一个内部硬盘或另一个安全分区(不推荐)

第四使用 dd 并将 MBR 保存到 .img 文件,例如 mbrBackup.img

答案3

  1. 特殊分区(如果在安装 Ubuntu 后仍然存在)位于您的硬盘上。您需要在分区时不要破坏它。在 Ubuntu 中,使用 sudo sfdisk -l 查看驱动器上有哪些分区。
  2. 如果不是硬盘上的第一个分区(特殊分区除外),大多数 Windows 版本都无法正常运行。
  3. 如果您想保存当前的 Ubuntu 系统,请使用 tar 将其备份到外部驱动器。如果是 LVM Ubuntu 安装,这可能有点困难,因为访问 LV 以备份它们可能需要在从 Ubuntu CD 或启动棒启动时单独安装 LV,然后使用 tar 备份它们,然后在 Windows7 安装后重新创建 LV 结构以执行 tar 重新安装。不要从操作系统本身 tar 正在运行的 linux 操作系统,您需要从 CD 或闪存启动棒启动以备份干净关闭的 linux 操作系统。或者,您可以将 LVM linux 分区的大小调整为较小的大小,然后在该分区上使用 dd 将其备份到外部驱动器。或者,LVM 可能足够智能,能够将整个 Ubuntu 安装迁移到单独的驱动器,然后再将其迁移回来——因此,如果您的 Ubuntu 安装在 LVM 分区上并且您想要保存它,请研究 LVM。
  4. 当您保存了 Ubuntu 安装后——如果您希望保存它,您可以选择删除 Ubuntu 分区(以及除特殊分区之外的所有其他分区)。请确保删除正确的分区。
  5. 在笔记本电脑上调用 Windows7 恢复——如果隐藏分区仍然存在。
  6. 现在您有一台原装 Windows7 笔记本电脑,其 Windows 已安装到位。下载 Windows Ubuntu 分区工具并切掉 Windows 分区的末端,为 Ubuntu 和其他分区留出空间。
  7. 现在要么安装新的 Ubuntu 作为磁盘上的第二个操作系统,要么使用 tar(和 LVM)或 dd 或 LVM migration 来恢复旧的 Ubuntu 安装。
  8. 如上所述,如果您要恢复之前的 Ubuntu 安装,则需要在 MBR 上手动安装 grub(早期的 Ubuntu)或 grub2(更高版本的 Ubuntu),以便与 Windows7 兼容,从而能够实现双启动。

给出了原始 grub(1) 的技术这里,但Ubuntu后续版本使用的是grub2。

相关内容