磁盘的每个扇区为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. [Docker03] Deploy LNMP on Docker

    Deploy MYSQL docker pull mysql 挂载卷保存数据文件 mkdir -p /mysql/data chmod -p 777 /mysql/data MySQL使用过程中的环境 ...

  2. 原来 CPU 为程序性能优化做了这么多

    本文主要来学习内存屏障和 CPU 缓存知识,以便于我们去了解 CPU 对程序性能优化做了哪些努力. 首先来看下 CPU 缓存: CPU 缓存 CPU 缓存是为了提高程序运行的性能,CPU 在很多处理上 ...

  3. NeurIPS审稿引发吐槽大会,落选者把荒唐意见怼了个遍:“我谢谢你们了”

    七月份的尾巴,机器学习顶会NeurIPS 2019的初步结果已经来了. 一年一度的吐槽盛会也由此开始. "有评审问我啥是ResNet." "有评审问我为啥没引用X论文.我 ...

  4. Prism+MaterialDesign+EntityFramework Core+Postgresql WPF开发总结 之 基础篇

    本着每天记录一点成长一点的原则,打算将目前完成的一个WPF项目相关的技术分享出来,供团队学习与总结. 总共分三个部分: 基础篇主要争对C#初学者,巩固C#常用知识点: 中级篇主要争对WPF布局与美化, ...

  5. 下面总结一些在HTML中经常使用到的快捷键

    使用的编辑器是VS code: 首先是很基础的: ctrl+s  :保存: ctrl+a  :  全选: ctrl+c , ctrl+c , ctrl+v : 剪切,复制,粘贴: ctrl+z ,ct ...

  6. RecyclerView的刷新分页

    在开发中常常使用到刷新分页,这里实现一个 RecyclerView 的简单的刷新分页操作,测试效果见文末,实现过程参考如下: 实现思路 加载更多数据使用到 RecyclerView 加载多种布局,根据 ...

  7. bootstrip CSS

    什么是网格(Grid)? 摘自维基百科: 在平面设计中,网格是一种由一系列用于组织内容的相交的直线(垂直的.水平的)组成的结构(通常是二维的).它广泛应用于打印设计中的设计布局和内容结构.在网页设计中 ...

  8. B【USACO 2015 Jan Gold】牧草鉴赏家

    时间限制 : 10000 MS   空间限制 : 65536 KB 问题描述 约翰有n块草场,编号1到n,这些草场由若干条单行道相连.奶牛贝西是美味牧草的鉴赏家,她想到达尽可能多的草场去品尝牧草. 贝 ...

  9. Codeforces Round #628 (Div. 2)

    1325A - EhAb AnD gCd 题意:随意找两个数是他们的最大公约数 GCD 与最小公倍数 LCM 之和为所给定的值. 思路:找一下规律 ,假设所给的 数位n, 那么我们将n分成 1 ,n- ...

  10. springboot 启动时执行方法

    Springboot提供了两种“开机启动”某些方法的方式:ApplicationRunner和CommandLineRunner.下面简单介绍下ApplicationRunner 1.创建个Tests ...