博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux磁盘分区基础
阅读量:4039 次
发布时间:2019-05-24

本文共 1848 字,大约阅读时间需要 6 分钟。

磁盘链接方式与设备文件名的关系

个人计算机常见的磁盘接口有两种,IDE接口和SATA接口,目前主流的接口是SATA接口。
老一点的主机仍然有一部分使用IDE接口,我们称可连接到IDE接口的设备为IDE设备。通常主机会提供两个IDE接口,一个IDE扁平电缆可以连接两个IDE设备,所以一个主机最多可以连接四个IDE设备。这两个IDE接口通常称为IDE1(primary)和IDE2(secondary),每条电缆上的设备分为主设备(Master)与从设备(Slave)。在这种连接方式下,磁盘连接位置与文件名称是一一对应的关系
IDE Master Slave
IDE1 /dev/hda /dev/hdb
IDE2 /dev/hdc /dev/hdd
SATA接口与USB/SCSI等磁盘接口都是使用SCSI模式来驱动,因此这写接口的磁盘设备文件名是/dev/sd[a-p]的格式。设备文件名称与Linux内核检测到磁盘挂载顺序有直接关联关系。不管挂载的磁盘在那个SATA接口上,只要是第一个挂载的磁盘,文件名称就是/dev/sda。

磁盘的组成

整块磁盘的第一个扇区特别重要,它记录了整个磁盘的重要信息,包括两个重要信息:
1.主引导分区(Master Boot Record, MBR),可以安装引导加载程序的地方,有446 bytes 。
2.分区表(partition table),记录了整块磁盘分区的状态信息,有64 bytes 。
        MBR是很重要的,当系统在开机的时候会主动去读取这个区域的内容,这样系统才会定位到开机程序在什么地          方,进行开机。

磁盘分区标

由于分区表只有64 bytes,最多只能容纳四个分区,这四个分区的称呼分为两类:主分区(Primary)和扩展分区(Extended)。下面是对磁盘分区重要信息的揭示:
1.所谓的“分区”就是对64 bytes的分区表进行设置而已
2.硬盘默认的分区表仅能写入四组分区信息
3.这四组分区信息可以称呼为主分区或扩展分区
4.分区最小的单位是柱面
分区操作的意义在于:1.保护数据的安全性;2.提升系统查找数据的性能
扩展分区的目的是使用额外的扇区来记录分区信息,扩展分区本身并不能被拿来格式化。扩展分区继续划分出的分区称为逻辑分区,逻辑分区的设备号码是从5开始的。
关于主分区、扩展分区、逻辑分区的特性总结:
1.主分区和扩展分区最多可以有四个(硬盘限制)
2.扩展分区最多只能有一个(操作系统的限制)
3.逻辑分区是从扩展分区持续切割出来的分区
4.能够被格式化后作为数据访问的分区为主分区和逻辑分区,扩展分区无法格式化
5.逻辑分区的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分区(从5到63),SATA硬盘最多有11个逻辑分区(从5到15)

开机流程与主引导分区

开机流程的描述:
1.BIOS是写入到主板上的一个软件程序,在开机的时候,是计算机系统会主动执行的第一个程序
2.BIOS分析计算机里面有那些存储设备,依据用户的设置取得能够开机的硬盘,读取硬盘第一扇区的MBR,到此BIOS运行任务圆满结束
3.MBR中保存了最基本的引导加载程序(Boot Loader),引导记载程序运行会加载内核文件,加载完成则引导加载程序任务圆满
4.内核文件运行,开始操作系统的功能
流程当中,BIOS和MBR是硬件本身会支持的功能,Boot Loader是操作系统安装在MBR上的一套软件。Boot Loader主要功能有:
1.提供菜单,用户可以选择不同的开机选项,是多重引导的重要功能
2.载入内核文件,直接指向可开机的程序段来开始操作系统
3.转交其他loader,将引导加载功能转交给其他的loader负责,是多重引导功能的基础
多重引导就是在一台及其上可以使用不同的操作系统进行开机,具体工作情况的总结:
1.每个分区都有自己的启动扇区(boot selector)
2.系统的分区分为最少两个分区
3.实际可开机的内核文件放置到各分区内
4.loader只会识别自己分区内的可开机内核文件和其他loader而已
5.loader可以直接指向或者是间接将管理权转交给另一个管理程序
Note:如果安装多重引导,最好先装Windows,再装Linux。因为Linux的loader可以手动设置菜单;Windows的安装程序会主动覆盖掉MBR以及自己所在分区的启动扇区,不提供选择菜单的机会。

转载地址:http://vwvdi.baihongyu.com/

你可能感兴趣的文章
概念区别
查看>>
关于静态块、静态属性、构造块、构造方法的执行顺序
查看>>
final 的作用
查看>>
在Idea中使用Eclipse编译器
查看>>
idea讲web项目部署到tomcat,热部署
查看>>
IDEA Properties中文unicode转码问题
查看>>
Idea下安装Lombok插件
查看>>
zookeeper
查看>>
Idea导入的工程看不到src等代码
查看>>
技术栈
查看>>
Jenkins中shell-script执行报错sh: line 2: npm: command not found
查看>>
8.X版本的node打包时,gulp命令报错 require.extensions.hasownproperty
查看>>
Jenkins 启动命令
查看>>
Maven项目版本继承 – 我必须指定父版本?
查看>>
Maven跳过单元测试的两种方式
查看>>
通过C++反射实现C++与任意脚本(lua、js等)的交互(二)
查看>>
利用清华镜像站解决pip超时问题
查看>>
[leetcode BY python]1两数之和
查看>>
微信小程序开发全线记录
查看>>
PTA:一元多项式的加乘运算
查看>>