磁盘的每个扇区为512bytes。磁盘的第一个扇区记录了整块磁盘的重要信息,包含有主引导分区(MBR):可以安装引导加载程序的地方,有446bytes;分区表(partition table):记录整块硬盘分区的状况,有64bytes。

系统在开机的时候会自动去读取这个MBR的内容,这样系统才会知道程序放在那里且该如何进行开机。

分区表记录的是整块硬盘的分区记录,最多为四组记录。即一块硬盘最多只能分为四个(主/扩展)区,这四个分区被称为主(primary)或扩展(Extended)分区。柱面是分区的最小单位,分区表通过柱面的号码来记录每个分区的大小。

硬盘的分区在Linux中的命名是通过在硬盘名称后加数字来表示,如:/dev/hda表示硬盘,则/dev/hda1表示该硬盘的第一个分区。注意:硬盘的第一个分区不包含第一个扇区(MBR)。

当一个主分区被继续划分为多个分区后,该主分区成为扩展分区,同时划分出的多个分区被称为逻辑分区。在扩展分区的第一个扇区中也记录了自身分区的逻辑分区记录信息。注意:扩展分区不能进行格式化;由于/dev/hda1~/dev/hda4名称是留给主分区或扩展分区使用,所以逻辑分区的名称是从/dev/hda5开始;扩展分区最多只能有一个(操作系统的限制);如果扩展分区被破坏,则所有的逻辑分区将会被删除,因为逻辑分区的信息都记录在扩展分区里面。

CMOS:记录各项硬件参数且嵌入在主板上面的存储器。

BIOS:写入到主板的程序。开机的时候计算机系统会主动执行的第一个程序。BIOS会分析计算机的硬盘信息,读取硬盘的MBR。

MBR:MBR中存放着引导加载程序。

引导加载程序 (boot loader):目的是加载内核文件。引导加载程序是操作系统在安装时提供,能够识别硬盘内的文件系统格式。引导加载程序除了可以安装在MBR,还可以安装在每个分区的引导扇区(boot sector)(如果该分区安装了系统,则会生成引导扇区)。如果一个硬盘存在多个系统(当然每个系统占有一个分区),则硬盘存在多个引导加载程序。loader只认识自己的系统分区内的可开机内核文件,以及其他loader而已。loader可直接指向或间接将管理权转移交给另一个管理程序。

内核文件:开始启动操作系统。放在各分区内。

 开机顺序:CMOS->BIOS->MBR->boot loader->自己分区的内核文件/(其他分区boot loader->自己分区的内核文件/其他分区boot loader。。。)。

  

  注意:

  1、安装多重引导,最好先安装Windows,再安装Linux。

    解析:Linux安装的时候,其引导加载程序可以安装在MBR或者其他的分区的启动扇区boot sector,并且,Linux的Boot Loader可以设置菜单,假如Windows的loader。

        Windows安装的时候,MBR和自己分区的启动扇区会自动被覆盖,无法进行手动操作。

  

Linux-设备-磁盘的更多相关文章

  1. Linux下磁盘挂载

    公司硬盘不够用了,新买了一个存储,需要挂载到现在的系统上.前期的步骤就不说了,运维全部搞定,无非是硬件和网络那一套,这里只说分配到本人后在Linux下如何挂载. 具体步骤如下: 1.查看是否已经分配 ...

  2. (转载)使用 udev 高效、动态地管理 Linux 设备文件

    概述: Linux 用户常常会很难鉴别同一类型的设备名,比如 eth0, eth1, sda, sdb 等等.通过观察这些设备的内核设备名称,用户通常能知道这些是什么类型的设备,但是不知道哪一个设备是 ...

  3. linux设备驱动概述,王明学learn

    linux设备驱动学习-1 本章节主要学习有操作系统的设备驱动和无操作系统设备驱动的区别,以及对操作系统和设备驱动关系的认识. 一.设备驱动的作用 对设备驱动最通俗的解释就是“驱使硬件设备行动” .设 ...

  4. Linux 设备驱动 Edition 3

    原文网址:http://oss.org.cn/kernel-book/ldd3/index.html Linux 设备驱动 Edition 3 By Jonathan Corbet, Alessand ...

  5. 嵌入式 使用udev高效、动态地管理Linux 设备文件

    本文以通俗的方法阐述 udev 及相关术语的概念.udev 的配置文件和规则文件,然后以 Red Hat Enterprise Server 为平台演示一些管理设备文件和查询设备信息的实例.本文会使那 ...

  6. 【转】使用 udev 高效、动态地管理 Linux 设备文件

    简介: 本文以通俗的方法阐述 udev 及相关术语的概念.udev 的配置文件和规则文件,然后以 Red Hat Enterprise Server 为平台演示一些管理设备文件和查询设备信息的实例.本 ...

  7. 《Linux设备驱动开发具体解释(第3版)》进展同步更新

    本博实时更新<Linux设备驱动开发具体解释(第3版)>的最新进展. 2015.2.26 差点儿完毕初稿. 本书已经rebase到开发中的Linux 4.0内核,案例多数基于多核CORTE ...

  8. 【转】Linux设备驱动--块设备(一)之概念和框架

    原文地址:Linux设备驱动--块设备(一)之概念和框架 基本概念   块设备(blockdevice) --- 是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时 ...

  9. 【转】深入浅出:Linux设备驱动之字符设备驱动

    深入浅出:Linux设备驱动之字符设备驱动 一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据 ...

  10. Linux 设备驱动之字符设备

    参考转载博客:http://blog.chinaunix.net/uid-26833883-id-4369060.html https://www.cnblogs.com/xiaojiang1025/ ...

随机推荐

  1. Spring WebFlux 入门

    1. WebFlux介绍 Spring WebFlux 是 Spring Framework 5.0中引入的新的响应式web框架.与Spring MVC不同,它不需要Servlet API,是完全异步 ...

  2. tarjan算法强连通分量的正确性解释+错误更新方法的解释!!!+hdu1269

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1269 以下内容为原创,转载请声明. 强连通分量SCC(Strongly Connected Compo ...

  3. Log4Net读取XML配置文件及在代码中完成添加Logger操作

    解决问题: 将log4net配置文件与app.config配置文件分开 手动读取log4net配置文件 手动创建logger 可将日志输出功能封装在类库中,应用程序引用时无需添加assembly引用及 ...

  4. 为什么信息熵要定义成-Σp*log(p)?

    作者:西贝链接:https://www.zhihu.com/question/30828247/answer/64816509来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...

  5. 使用SlimYOLOv3框架实现实时目标检测

    介绍 人类可以在几毫秒内在我们的视线中挑选出物体.事实上,你现在就环顾四周,你将观察到周围环境并快速检测到存在的物体,并且把目光回到我们这篇文章来.大概需要多长时间? 这就是实时目标检测.如果我们能让 ...

  6. Java 注解 So Easy!!!

    Java注解 Annotations, a form of metadata, provide data about a program that is not part of the program ...

  7. 一些数组笔记(C)

    0.数组名是一个指针,存放数组首元素地址,所以使用scanf()接受字符串输入时只用写上数组名,不用加&.数组名是常量不允许修改其值.数组只能定义的时候初始化,后期初始化会被认为是修改数组名的 ...

  8. USACO07MAR Face The Right Way G 差分

    题目链接 https://www.luogu.com.cn/problem/P2882 分析 这个题来看的话好像有点难下手,不如再去读一遍题 N遍,发现一句话很重要Each time the mach ...

  9. .Net微服务实践(一):微服务框架选型

    微服务框架 微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很 ...

  10. winsocket编程笔记(一)

    前言: 因为疫情原因,现在一直在网上授课,教师在讲述winsocket这一课程时没有给予我们课本,只有毫不相搭的linux环境的socket编程视频,故于此(开学第七周)总结winsocket的内容. ...