[转+整理]LINUX学习笔记(1):磁盘结构及分区
整理自:
http://vbird.dic.ksu.edu.tw/linux_basic/0130designlinux_2.php
http://lengjianxxxx.blog.163.com/blog/static/811884020073228627532/
一:各硬件与对应LINUX档案名
|
装置 |
装置在Linux内的档名 |
|
IDE硬盘机 |
/dev/hd[a-d] |
|
SCSI/SATA/U盘硬盘机 |
/dev/sd[a-p] |
|
U盘快闪碟 |
/dev/sd[a-p](与SATA相同) |
|
软盘机 |
/dev/fd[0-1] |
|
打印机 |
25针: /dev/lp[0-2] |
|
鼠标 |
U盘: |
|
当前CDROM/DVDROM |
/dev/cdrom |
|
当前的鼠标 |
/dev/mouse |
|
磁带机 |
IDE: |
二、多磁盘与LINUX对应名:
硬盘分为IDE和SATA两种,首先以IDE举例:
PC一般提供两个IDE借口插槽(primary/secondary),一个IDE排线可以接2个IDE设备(硬盘/光驱)(Master/Slave),故LINUX中设备名如下图所示:
|
IDE\Jumper |
Master |
Slave |
|
IDE1(Primary) |
/dev/hda |
/dev/hdb |
|
IDE2(Secondary) |
/dev/hdc |
/dev/hdd |
SATA设备名则由Linux核心侦测到磁的顺序决定,与实际插槽代号无关:例如PC
SATA1和SATA5插槽有两个硬盘及一个U盘,则依次为:/dev/sda,/dev/sdb/,dev/sdc。
三、磁盘结构
磁盘结构示意图:
一般情况下:硬盘包含一个或者多个盘片,每个盘片对应正反两个磁面,每个磁面会用来记录数据,并对应一个磁头来读取数据。每个磁面被划分为面、磁道和扇区。各面上磁道号相同的磁道合起来,称为一个柱面(cylinder)
磁道:读写硬盘时,磁头依靠磁盘的高速旋转引起的空气动力效应悬浮在盘面上,与盘面的距离不到1微米(约为头发直径的百分之一)。由于磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。我们称这样的圆周为一个磁道(Track)。如果读写磁头沿着圆形薄膜的半径方向移动一段距离,以后写入的数据又排列在另外一个磁道上。
扇区:磁道数可以从几百到数千不等;一个磁道上可以容纳数KB的数据,而主机读写时往往并不需要一次读写那么多,于是,磁道又被划分成若干段,每段称为一个扇区(Sector)。一个扇区一般存放512字节的数据。扇区也需要编号,同一磁道中的扇区,分别称为1扇区,2扇区。。。。这里需要注意的是,硬盘在划分扇区时,和一般的软盘有一定的区别。软盘的一个磁道中,扇区号依次编排。而在硬盘的一个磁道中,扇区号是按照某个间隔跳跃着编排的。我们举一个例子来说明:在某个硬盘上,以实际存储位置而论,2号扇区并不是1号扇区后的第一个,而是第5个,3号扇区又是2号扇区后的第5个,以此类推。这个"5"就是我们说的交叉因子。当然,这个交叉因子的设定并不是绝对的,每个种类的硬盘为根据自身的情况加以变化。选择适当的交叉因子,可使硬盘驱动器读写扇区的速度与硬盘的旋转速度相匹配,提高存储数据的速度。
计算机对硬盘的读写,出于效率的考虑,是以扇区为基本单位的。即使计算机只需要硬盘上存储的某个字节,也必须一次把这个字节所在的扇区中的512字节全部读入内存,再使用所需的那个字节,每个扇区并不仅仅是由512个字节组成的,在这些由计算机存取的数据的前、后两端,都另有一些特定的数据,这些数据构成了扇区的界限标志,标志中含有扇区的编号和其他信息。计算机就凭借着这些标志来识别扇区。
MBR(Master Boot Recorder)主要开机扇区,记录了两个重要的东西,分别是:开机管理程序,与磁盘分区表 ( partition table )。所以我们所做的硬盘分区,也就是在修改partition table。磁盘分区表只有64bytes,只能保存4个分区记录:Primary ( 主分区 ) 及 Extended ( 扩展分区 ) ,使用标识: /dev/had[1~4],其中,Extended 只能有一个,因此,你如果要分区成四块磁盘分区的话,那么最多就是可以:(P + P + P + P)或者(P + P + P + E)。
由扩展分区(partition table)可以划分出逻辑分区(logical
partition),使用 /dev/had[5~n]。逻辑分区也有分区表,放在Extended中第一分区,故个数也是有限制的。
总结:Primary ( 主分区 ) 及 Extended ( 扩展分区 ) 与逻辑分区(Logical)的特性:
- Primary 与Extended 最多可以有4个(硬盘的限制)
- Extended 最多只能有一个(操作系统的限制)
- Logical是在Extended中 重新划分的分区
- Primary ( 主分区 ) 及 Logical ( 扩展分区 ) 可以格式化并进行数据存取,Extended 无法格式化;
- Logical的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个(5号到63号), SATA硬盘则有11个
(5号到15号)。
四、启动流程
CMOS是记录各项硬件参数且嵌入在主板上面的储存器,BIOS是程序,直接写入硬件CMOS,是硬件启动加载的第一个程序。
1、 读取BIOS,获得MBR位置
2、 读取MBR,获得启动管理程序(boot loader)
3、 读取boot loader,读取核心文件,加载操作系统,或者转入4
4、 转交给其他loader(多操作系统的多重启动),递归3。
启动管理程序的工作运行示意图
WINDOWS安装会覆盖掉MBR以及所在分区的启动区域。Linux可以将boot loader安装在MBR或其他分区的启动区域, 而且Linux的loader可以手动配置菜单,加入Windows启动的选项;
[转+整理]LINUX学习笔记(1):磁盘结构及分区的更多相关文章
- Linux学习笔记之磁盘与文件系统的管理
三.Linux磁盘与文件系统的管理 MBR扇区(512B) 磁盘的分区组成 Boot sector 扇区(用来装引导程序) Super block 记录inode与Block的信息 Inod ...
- Linux学习笔记12—磁盘管理
一.查看磁盘或目录的容量 1. df命令 作用:查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 参数: -I : 查看inodes使用状况 -h: 使用合适的 ...
- Linux学习笔记02—磁盘分区
下面介绍四种最常见的分区方式: (1) 最简单的分区方案. SWAP分区:即交换分区,建议大小是物理内存的1-2倍. /分区:建议大小在6GB以上. 使用以上的分区方案,所有的数据都在/分区上, ...
- linux学习笔记18---目录结构
对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统至关重要,下面 ...
- Linux学习笔记:系统目录结构
Linux系统文件夹代表的含义: /bin - Binaries. /boot - Files required for booting. /dev - Device files. /etc - Et ...
- Linux学习笔记--文件夹结构
暂时先上一张图学习吧,先大致了解好,再进行深入的学习.
- Linux学习笔记:磁盘分区
本文更新于2019-12-30.操作系统为Debian 8.9 (jessie). 以下假设新磁盘为/dev/sdb,要创建一个分区/dev/sdb1,文件系统类型为xfs.请根据实际情况,自行选择. ...
- 慕课Linux学习笔记(三)系统分区
Linux的系统分区 主分区:最多四个 扩展分区:最多只能一个,不能写入数据,只能包含逻辑分区 逻辑分区 必须分区: / (根分区) Swap 分区 (交换分区,内存的两倍,不超过2GB,如果内存大于 ...
- Linux学习笔记之系统中的分区和文件系统
转自 http://blog.csdn.net/hanxuehen/article/details/8229472
随机推荐
- IIS本地部署项目出错
今天,打开部署在本地IIS的项目发现出错了.报的错,跟没有连接网络一样的.我当时有点懵,过一会儿再静下心来,想想这是什么原因. 第一步,把所有部署的项目,都打开看了一下,方便找出对比. 发现,绑定了I ...
- 第4条:多用类型常量,少用#define预处理指令
定义常量的几种方式: 1.#define ANIMATION_DURAION 0.3 //定义了一个动画时长的常量, 预处理过程会把碰到的所有ANIMATION_DURAION一律替换 ...
- iOS 开发工具
Github 社区 https://github.com/ iOS 开发类库 http://www.code4app.com/thread-7831-1-1.html (出处: Code4App-iO ...
- 将P2P虚拟货币(比特币、莱特币....)的算力用于公共的分布式计算的猜想
比特币最近几年非常火爆.发明者中本聪设计了一个特定的算法用于生成(发行)比特币,让各位玩家(矿工)用自己的CPU.显卡,或者更加专业的矿机,通过无聊的并行计算算出比特币的特定密码(挖矿).为了保证全网 ...
- c#写个基础的Socket通讯
晚上想写点东西,想想把我刚来公司学的Sockt通讯写上来吧.要写的简单易懂点,新人们可以借鉴下哦,用控制台写. 先得说说Socket,与TCP/UDP啥关系,一直讲什么Socket通讯,TCP通讯,都 ...
- web系统
现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务器来说 ...
- mysql-积累管理sql语句
//连接数据库 mysql -h xxx -u root -p; //查看数据库 show databases //查看数据表 show tables //查看某数据表结构 desc xxx表 //修 ...
- Makefile的简单例子
1.生成test可执行文件,源文件有prog.c prog.h cord.h test:prog.o code.o gcc -o test prog.o code.o prog.o:prog.c pr ...
- url、base64 编码规则
UrlEncode 相关: URI所允许的字符分作保留与未保留. 保留字符是那些具有特殊含义的字符. 例如, 斜线字符用于URL (或者更一般的, URI)不同部分的分界符. 未保留字符没有这些特殊含 ...
- Xcode中报错或警告信息整理,持续更新...
整理报错和警告信息,为以后自己查看方便用! [报错1] 信息:Static table views are only valid when embedded in UITableViewContro ...