各硬件设备在Linux中的文件名

  在Linux系统当中,几乎所有的硬件设备文件都在/dev这个目录内。

  各硬件设备在Linux中的文件名:

设备 设备在Linux中的文件名
IDE接口的硬盘 /dev/hd[a-d]
SCS/SATA/USB硬盘 /dev/sd[a-p]
U盘 /dev/sd[a-p] (跟SATA相同)
打印机 25针:/dev/lp[0-2]
USB:/dev/usb/lp[0-15]
当前鼠标 /dev/mouse
当前CD ROM/DVD ROM /dev/cdrom

磁盘分区

1.磁盘的组成

  磁盘的组成:盘片、机械手臂、磁头、主轴马达。盘片上又可以细分出扇区和柱面两种单位,其中扇区每个为512bytes那么大。

  

  

  每块磁盘的第一个扇区特别重要,因为它记录了整块磁盘的两个重要信息:

  • 主引导分区(Master Boot Record MBR):可以安装引导加载程序的地方,有446 bytes
  • 分区表(partition table):记录整块硬盘分区的状态,有64bytes

  MBR是很重要的,因为系统在开机的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里且该如何进行开机。如果你要安装多重引导的系统 MBR这个区块的管理就非常重要了。

2.磁盘分区表(partition table)

  柱面是文件系统的最小单位,也就是分区的最小单位。我们就是利用参考柱面号码的方式来处理,在分区表所在的64bytes容量中,总共分为四组记录区,每组记录区记录了该区段的起始与结束的柱面号码。

  

  假设上面的硬盘设备文件名是是/dev/hda时,那么这四个分区在Linux系统中的设备文件名如下所示:

  • P1:/dev/hda1
  • P2:/dev/hda2
  • P3:/dev/hda3
  • P4:/dev/hda4

  当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理。由于分区表的容量限制,最多只能容纳四个分区。这四个分区被称为主(Primary)或者扩展(Extended)分区。根据上面的图示和说明,可以得到以下几个重点信息。

  • 其实所谓的”分区”只是针对那个64bytes的分区表进行设置而已。
  • 硬盘默认的分区表仅能写入四组分区信息。
  • 这四组分区信息我们称为主(Primary)和扩展(Extended)分区。
  • 分区的最小单位为柱面(cylinder)。

  虽然分区表只能记录四个分区,但是不代表我们最多只能分区四个。既然第一个扇区所在的分区表只能记录四个数据,那可以利用额外的扇区来记录更多的分区信息。

  扩展分区的目的是使用额外的扇区来记录分区信息,扩展分区本身并不能被拿来格式化。但是我们可以通过扩展分区所指向的那个区块继续做分区记录。

  由扩展分区继续切出来的分区称为逻辑分区(logical partition)。由于逻辑分区是由扩展分区继续分区出来的,所以它可以使用的柱面范围就是扩展分区所设定的范围。 
  需要注意的时,不管分区表的4个记录用不用完,文件中1-4始终都是保留着呢。即使只用了一个主分区,扩展分区也是从5开始。

  请注意以下信息:

  • 主分区与扩展分区最多可以有四个(硬盘的限制)。
  • 扩展分区最多只能有一个(操作系统的限制)。
  • 逻辑分区是由扩展分区持续切割出来的分区。
  • 能够被格式化后作为数据访问的分区为主分区和逻辑分区。扩展分区无法格式化。
  • 逻辑分区的数量依操作系统不同而不同。在Linux系统中,SATA硬盘最多有11个逻辑分区(5号到15号)
  • 如果扩展分区被破坏,所有逻辑分区都将会被删除。因为逻辑分区的信息都记录在扩展分区里面。

  如果一个硬盘的第一个扇区(就是MBR与partition table所在的扇区)物理坏掉了,那这个硬盘大概就没有用了。

3.开机流程

CMOS:记录各个硬件参数并且嵌入在主板上面的储存器 。
BIOS:一个写入到主板上的程序,BIOS是开机的时候计算机会主动执行的第一个程序。   

  接着BIOS会分析计算机里面有哪些储存设备,并且到硬盘里面去读取第一个扇区的MBR位置。 MBR这个仅有446bytes的硬盘容量里面会放置最基本的引导加载程序。 接着MBR 识别硬盘内的文件系统格式,引导加载内核文件 ,进入操作系统。

开机流程:

  • BIOS:开机主动执行的韧体,会认识第一个可开机的设备。
  • MBR:第一个可开机设备的第一个扇区内的主引导分区块,内包含引导加载程序。
  • 引导加载程序(Boot loader):一支可读取内核文件来执行的软件。
  • 内核文件:开始操作系统的功能。

4.主引导分区(MBR)  

  引导加载程序(Boot loader)是操作系统安装在MBR上面的一套软件,这个程序小而完美。这个boot loader的主要任务有下面这些项目:

  • 提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能。
  • 载入内核文件 :直接指向可开机的程序区段来开始操作系统。
  • 转交其他loader:将引导加载功能转交给其他loader负责。(多系统)

  引导加载程序除了可以安装在MBR之外,还可以安装在每个分区的引导扇区(多系统)。  

  上图中,MBR的引导加载程序提供两个菜单M1和M2,M1可以直接加载Windows的内核文件来开机,M2则是将引导加载程序工作交给第二个分区的启动扇区,当用户在开机时选择M2的时候,整个引导加载工作就交给第二分区的引导加载程序了。而M2内只有一个开机菜单,即直接加载Linux的内核来开机。这就是多重引导的工作情况。

主引导分区(MBR)总结:

  • 每个分区都拥有自己的启动扇区(boot sector)
  • 实际可开机的内核文件是放置到各分区内的
  • loader只会认识自己的系统分区内的可开机内核文件,以及其他loader而已
  • loader可以直接指向或是间接将管理权转交给另一个管理程序。

ps:windows安装程序会主动覆盖掉MBR以及自己所在分区的启动扇区 ,所以如果安装双系统,最好先安装windows再安装linux。

5.Linux安装模式下,磁盘分区的选择

  目录树:所谓的目录树结构是指以根目录为主,然后向下呈现分支状的目录结构的一种文件结构,根目录的表示方法为一条斜线“/”。

  挂载:如何结合目录树的架构和磁盘内的数据,就要牵扯到”挂载”了。所谓挂载,就是利用一个目录当成进入点, 将磁盘分区的数据放置在该目录下。也就是说,进入该目录就可以读取该分区的意思。由于整个Linux系统中最重要的是根目录,所以根目录一定需要挂载到某个分区。

  图例:

  上图中假设硬盘分为两个区,partition1挂载到根目录,partition2挂载到/home目录。也就是说,我的数据放在/home内的各次目录时,数据是放在partition2的。如果不是放在/home下面的目录,那么数据就会被放置到partition1。

参考:

《鸟哥的Linux私房菜》

http://linux.vbird.org/linux_basic/0105computers.php

http://www.2cto.com/os/201502/378262.html

Linux主机规划与磁盘分区的更多相关文章

  1. 鸟哥的linux私房菜学习-(一)优缺点分析以及主机规划与磁盘分区

    一.linux的优缺点 那干嘛要使用Linux做为我们的主机系统呢?这是因为Linux有底下这些优点: 稳定的系统:Linux本来就是基于Unix概念而发展出来的操作系统,因此,Linux具有与Uni ...

  2. 安装一台Linux练习机前的考虑——主机规划与磁盘分区

    要安装一台Linux主机并不是那么简单的事,我们必须要针对distributions的特性.服务器软件的能力.未来的升级需求.硬件扩充性需求等来考虑,对于磁盘分区.文件系统.Linux操作较频繁的目录 ...

  3. 鸟哥的Linux私房菜-第一部分-第3章主机规划与磁盘分区

    1. 选择一个与你的Linux搭配的主机配置 NAT服务器:小型企业或者学校都基本是只有一条对外的线路,网卡 SAMBA服务器:完成Windows网上邻居的功能,网卡和硬盘要求高 Mail服务器:如果 ...

  4. 鸟哥的linux私房菜 - 第三章 主机规划与磁盘分区

    各硬件装置在linux中的文件名 在linux系统中,每个装置都被当成一个档案来对待. 常见的装置与其在linux中的档名: 磁盘分区 磁盘链接的方式与装置文件名的关系 个人计算机常见的磁盘接口有两种 ...

  5. 别人的Linux私房菜(3)主机规划与磁盘分区

    磁盘阵列:RAID.将数个硬盘整合成为在操作系统看来是一个硬盘. Linux对笔记本电脑的支持:https://www.linux-laptop.net/ 几乎所有硬件设备存放于/dev/目录. SC ...

  6. Linux的主机规划和磁盘分区

    选择与Linux搭配的主机配置 CPU  只要不是老旧到让你的硬件系统死机的都能够支持 RAM 内存越大越好,内存的重要性要比CPU还要高,至少512MB Hard Disk 由于数据量与数据的访问频 ...

  7. linux:主机规划和磁盘分割

    1>.在linux系统中,每个装置都被装成一个档案来对待: 2>.各硬体装置在linux当中的档案名:SATA介面的硬碟的档案名为/dev/sd[a-d];在linux中,几乎所以的硬体装 ...

  8. Linux-鸟菜-2-主机规划与磁盘分区

    Linux-鸟菜-2-主机规划与磁盘分区 开机流程: 1. BIOS:開機主動執行的韌體,會認識第一個可開機的裝置: 2. MBR:第一個可開機裝置的第一個磁區內的主要開機記錄區塊,內含開機管理程式: ...

  9. 浅谈Linux下傻瓜式磁盘分区工具cfdisk的使用

    对于新手来说,Linux环境下的磁盘分区可能还会存在一些困难.对于熟悉Linux的朋友来说,我们还有fdisk.parted(2TB以上的磁盘分区使用)等磁盘分区工具可以使用.在我们新增磁盘或者在原来 ...

随机推荐

  1. toolkit,phonetextbox中实现用户按回车键会换行

    今天,了解到一个需求,要在输入框中实现:用户按回车键后换行 输入框是toolkit中的phonetextbox 1.首先google了一下,了解到有MultiLine这个属性,但是找寻了一番之后,居然 ...

  2. java POI读取excel 2007/2003

    2003版office excel读取 import java.io.FileNotFoundException; import java.io.IOException; import java.io ...

  3. DOTween 模仿NGUI Tween

    最近再做一个小的项目,只要使用的是DOTween 动画. 但是感到DOTween 在某些方面不如 NGUI的Twenn 比较好用 所以就模仿了一下 在此,请各位大神指点一下 public class ...

  4. 键盘code码速查表

    键盘 Key Code对照表 字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C ...

  5. 反对网抄,没有规则可以创建目标"install" 靠谱解答

    在ubuntu下遇到这个问题,原因其实很简单,你不能用WINDWOS下的方法用图形方式打开,然后点了一下按扭"解压缩",生成了一个文件夹. 的确,这个文件夹看起来和正常的没有什么区 ...

  6. linux C连接mysql

    linux 环境下C语言连接数据库首先要配置环境 1,确定你的linux下安装mysql我们可以做个测试. 打开你的终端,在终端下输入:service mysqld status [root@bogo ...

  7. AC自动机跟随Kuangbing学习笔记

    http://www.cnblogs.com/kuangbin/p/3164106.html kuangbin的博客 第一段代码基本是COPY kuangbin的.. 1.HDU 2222 Keywo ...

  8. java替换字符串和用indexof查找字符

    java自带替换 String s="hlz_and_hourui哈哈"; String new_S=s.replaceAll("哈", "笑毛&qu ...

  9. [Linked List]Insertion Sort List

    Total Accepted: 59422 Total Submissions: 213019 Difficulty: Medium Sort a linked list using insertio ...

  10. Linux程序设计 读笔3 文件操作

    一 linux文件结构 二 系统调用和设备驱动程序 三 库函数 四 底层文件访问 五 标准IO库 六 格式化输入输出 七 文件和目录的维护 八 扫描目录 九 错误处理 十