各硬件设备在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. UESTC_Sea Base Exploration CDOJ 409

    When the scientists explore the sea base, they use a kind of auto mobile robot, which has the missio ...

  2. python2 和3的区别

    __future__ 模块 Python 3.x引入一些Python2不兼容的关键字和函数,可以通过在 Python2 内置的模块 __future__ 导入.建议如果你想在代码中支持 Python3 ...

  3. Eclipse/IDEA中使用Maven创建Web项目报错

    Eclipse中的错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp-1.0.jar:R ...

  4. 关于 jsp:include 传参的用法

    引用模版页面的代码,如下: <jsp:include page="/WEB-INF/template/nav_template.jsp">     <jsp:pa ...

  5. linux下 /etc/profile、~/.bash_profile ~/.profile的执行过程

    关于登录linux时,/etc/profile.~/.bash_profile等几个文件的执行过程. 在登录Linux时要执行文件的过程如下: 在刚登录Linux时,首先启动 /etc/profile ...

  6. 【进制问题】【HDU2056】A + B Again

    A + B Again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  7. 每日一发linux命令

    很多用虚拟机的同学在向/tmp目录下进行解压的时候,会发现之前挂载的此目录空间不足,导致下一步无法进行(我在vmwaretools解压的时候就遇到了这个problem)…… 实际上,/tmp是可以进行 ...

  8. android 数据存储之SharePreference 的几种方式

    1. 常见的 getSharedPreferences(String filename,mode) 指定sp文件的名称,生成的文件名为 filename.xml 2.getPreferences(mo ...

  9. U盘变小恢复工具——亲测完美可用

    大白菜U盘,装系统后,U盘损坏,格盘后8G只剩345M,用usbboot恢复到了2G容量.离8G还差很远.用U盘变小恢复工具后,完美恢复到原来大小.在此记录一下,以待下次遇到相似情况使用. 原文地址 ...

  10. 查看Android数据库文件

    使用Eclipse DDMS的File Explorer不能能看到Data目录下面的东西,可能由下面原因引起的 手机没有Root  -- 可以使用Root大师 Data文件权限不够 -- 可以使用Ro ...