磁盘的每个扇区为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. gRPC (1):入门及服务端创建和调用原理

    1. RPC 入门 1.1 RPC 框架原理 RPC 框架的目标就是让远程服务调用更加简单.透明,RPC 框架负责屏蔽底层的传输方式(TCP 或者 UDP).序列化方式(XML/Json/ 二进制)和 ...

  2. SpringBoot2 整合 Swagger2

    SpringBoot2 整合 Swagger2 SpringBoot整合三板斧 第一步.引入pom <dependency> <groupId>com.spring4all&l ...

  3. redis 一百二十篇(简单介绍)之第一篇

    前言 总结自己的redis,日常使用不是特别频繁,所以比较基础. 开篇 redis 是无关系型数据库,因为其实内存数据库,所以常常和他的竞争对手memcached对比,因为两者原理基础相似,存储方式也 ...

  4. PAT 乙级 1007. 素数对猜想 (20) c++ 筛选法求素数

    PAT 乙级 1007. 素数对猜想 (20) c++ 筛选法求素数 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数 ...

  5. 【opencv系列04】OpenCV4.X图形绘制

    一. 基本图形绘制 1. 基本函数与参数 cv2.line(): 线 cv2.circle(): 圆 cv2.rectangle(): 矩形 cv2.ellipse(): 椭圆 cv2.putText ...

  6. OSLab:开启保护模式

    日期:2019/5/22 关键词:操作系统:OS:保护模式:A20地址线激活:分页开启:二级页表的设置 PS:OSLAB实验课的整理. 本文主要内容是分析操作系统中一个简易的MBR. 建议先阅读:ht ...

  7. 数据科学中需要知道的5个关于奇异值分解(SVD)的应用

    介绍 "Another day has passed, and I still haven't used y = mx + b." 这听起来是不是很熟悉?我经常听到我大学的熟人抱怨 ...

  8. 新手必备 | 史上最全的PyTorch学习资源汇总

    目录: PyTorch学习教程.手册 PyTorch视频教程 PyTorch项目资源      - NLP&PyTorch实战      - CV&PyTorch实战 PyTorch论 ...

  9. 好记性-烂笔头:JDK8流操作

    1):对象 List<User> 转 Map<String,Object> 案例如下: public class User { private Integer id; priv ...

  10. Nginx 实现API 网关

    1,网关 网关(Gateway)就是一个网络连接到另一个网络的“关口”. 在Nginx 配置负载均衡之后,可以进入到网关,在网关决定进入到哪个真实的web 服务器. 2,将Ngnix 配置 API 网 ...