是否可以更换设备的硬盘并正常启动

是否可以更换设备的硬盘并正常启动

这可能是一个愚蠢/简单的问题,但我不确定我对此事的了解,所以我想问一些(希望)理解更好的人:)

考虑以下情况:您有一台几年前的计算机,连接到一台仪器上。是否可以取出硬盘并将其放入另一台(较新的)机器中并像以前一样启动?

当我昨天被问到这个问题时,我最初的回答是“不,因为 MBR 很可能无法识别新的硬盘,也不知道要启动什么/从哪里启动“。有人可以证实或否认这一点吗?此外,如果您能详细说明一下机器启动时其余硬件(比如主板)、MBR 和 HDD 之间发生的情况,我将非常高兴。

谢谢!

答案1

当机器启动时,首先调用BIOS。

如果 BIOS 识别您的 HDD,它将调用位于 HDD 上的 MBR(它不是特殊设备或组件)。每个磁盘都有一个 MBR。每个 MBR 都设置为指示计算机读取其磁盘的特定区域以启动操作系统。

因此,只要您的硬盘和硬件没有兼容性问题,计算机就能够启动您的磁盘。最后,您还必须希望您的操作系统会“喜欢”新硬件。由于较旧的操作系统倾向于在首次安装时安装驱动程序,因此您可能会在操作系统的执行过程中遇到问题,因为操作系统将尝试找到其旧硬件。尝试使用操作系统的安全模式启动来排除故障。

答案2

MBR 不是问题所在。除了那些以 MBR 计算机病毒形式安装的程序(如 GRUB)之外,正确的传统 MBR 几乎不受机器间差异的影响。影响 MBR 中引导代码运行方式的主要因素是 Phoenix/IBM/Microsoft INT 13h 扩展的存在。一些 MBR 引导程序只是假设这些扩展始终存在。对于本世纪制造的机器来说,它的缺失并不是一个真正的问题,因为自 20 世纪 90 年代中后期以来发布的大多数零售 PC 固件都具有这些扩展,因此您对 MBR 的担忧在很大程度上只是一种转移注意力的借口。

更合适的关注焦点是问题的答案上面 shlck 指出了这一点。您的操作系统使用的设备驱动程序(在磁盘上的系统卷中配置和安装)可能完全不适合新机器。

例如,对于 Windows NT,HAL 和“引导启动”类驱动程序必须是正确的,才能使系统能够在新硬件上启动。(这是 Windows NT 版本 6.x 的启动过程)微软已经提供Microsoft 知识库文章 #249694详细说明阻止这种情况发生的许多因素;所以我就不再重复了。

同样的担忧也适用于其他操作系统。对于 Linux,再举一个例子,卡拉·施罗德笔记如果编译的内核正在引导,你可能会面临“典型的神秘和无用的”错误消息(正如 M. Schroder 没有明确指出的那样,但Andryan Prakasa Gouw 笔记) 所有initrd模块都不能正确匹配新硬件。

相关内容