zoukankan      html  css  js  c++  java
  • MBR详解

    因为BIOS很小,功能有限,为了完成加载操作系统的功能,就产生了mbr! 

    主引导记录MBR

            硬盘的0柱面、0磁头、1扇区称为主引导记录MBR(Master Boot Record)
    它由三个部分组成,主引导程序(boot loader)、硬盘分区表DPT(Disk Partition table)和硬盘有效标志(55AA)。

            在总共512字节的主引导扇区里主引导程序446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。 !!!!!!!!!!!!!!!!!!!!!

            一般将MBR分为广义狭义两种:
    广义的MBR包含整个扇区(引导程序、分区表及分隔标识),也就是上面所说的主引导记录;而狭义的MBR仅指引导程序而言。


    主引导程序(boot loader)

            主引导程序(boot loader)直接写入第一个扇区的前446个字节,如grub是直接写进mbr硬盘的主引导记录中的,计算机BIOS 在启动时,按照预定的方式,mbr内的代码加载至内存指定位置, 然后跳转至那里,mbr的代码就开始运行了!

            如果将grub写入mbr,bios就引导grub; 将winxp的引导代码写入mbr,bios就引导ntldr; 将dos的引导代码写入mbr,bios就引导dos。(装双系统时先装win,再装ubuntu,发现开机变成ubuntu的引导界面,就是因为ubuntu把win安装在第一个扇区的主引导程序覆盖了)

            grub,ntldr等他们最终实现的功能是一样的,都是将引导代码加载 至 内存指定位置,并运行。

            另外,mbr是独立于操作系统的,地位与分区表同级,所以,格式化任何分区内都影响不到他, 包括ghost备份,还原。

            bios检测到一个硬盘后,将硬盘的0柱面、0磁头、1扇区的内容经过简单判断后,读取至内存中的指定位置,然后跳转至这个位置,开始从这个位置运行。具体引导过程见MBR和EFI启动过程

  • 相关阅读:
    http协议及http协议和tcp协议的区别
    Fastcgi协议定义解释与说明
    web请求响应
    Linux网络编程:一个简单的正向代理服务器的实现
    Nginx-请求处理与响应
    Nginx事件管理机制-epoll
    负载均衡
    Nginx-进程模型
    [转载]NGINX原理分析 之 SLAB分配机制
    Nginx惊群处理
  • 原文地址:https://www.cnblogs.com/focus-g/p/11355315.html
Copyright © 2011-2022 走看看