谁在启动过程中在BIOS中加载代码?

时间:2010-11-16 08:49:34

标签: bootstrapping bios

我正在研究Linux中的启动过程。我正在浏览这个html页面http://www.tldp.org/HOWTO/Bootdisk-HOWTO/x88.html。第3.1节“引导过程”下的第一行说“所有PC系统通过在ROM(特别是BIOS)中执行代码来启动引导过程”。

我怀疑是

  1. 谁在BIOS中加载代码?

  2. BIOS中的代码位于何处?

  3. 加载并执行BIOS中的代码在哪里?

  4. 请告诉我参考资料,我可以获得更多信息

    谢谢, LinuxPenseur

2 个答案:

答案 0 :(得分:1)

计算机开机时代码已经存在于内存中。它位于非易失性存储器中,这意味着它在计算机关闭时不会消失。

因此代码已存在于特定的内存地址中,处理器首先运行它。

更多信息here

答案 1 :(得分:-1)

一个好问题!实际上,除非新PC无法运行驱动器上的现有操作系统,否则您无需重新格式化硬盘或甚至重新安装操作系统。

通常,如果您只是简单地安装了Linux发行版,那么将硬盘移动到新系统并运行它就没有问题。但如果操作系统是Windows的一个版本,那么这种情况几乎为零:硬件供应商几乎总是调整他们的Windows设备驱动程序,因此你甚至无法在同一台机器上使用相同的驱动程序用于两个版本的Windows(升级例如,从XP到Windows 7,通常需要重新下载至少一些硬件驱动程序。)

如果安装了任何高性能驱动程序,即使使用Linux,问题也常常会出现。有时您可以从GRUB或LILO执行“恢复启动”,然后进入具有Internet访问权限的文本模式屏幕。如果你能做到这一点,通常你可以在Linux硬盘上安装新PC的驱动程序,而无需完全重新安装Linux。

事实上,这实际上是安装CD或DVD实际上正在做的事情。它引导操作系统(Windows或Linux)非常普遍,然后为它检测到的硬件安装驱动程序,重新启动(希望功能正常的驱动程序)并包装安装过程。