Linux磁盘管理

磁盘的种类

磁盘以接口分类,常见的磁盘接口有两种,分别是IDE与SATA接口,IDE接口的设备在Linux下对应的文件名为/dev/hd[a-d], SATA/SCIS/USB/U盘等文件名为/dev/sd/sd[a-p]。

磁盘的组成

磁盘组要由盘片,机械手臂,磁头,与主轴马达所组成。而数据则在盘片上(一个盘片的上下两面都可以存储数据)。盘片上可以细分为扇区(Selector),柱面(Cylinder)两种单位。每个扇区占512Bytes。在所有扇区中,第一个扇区最重要。这个扇区记录整个磁盘最重要的两个信息,分别是:

  • 主引导区(Master Boot Record): 这个区块的空间是安装引导加载程序的地方,任何操作系统想要在个人计算机上运行就必须把操作系统对应的引导加载程序写入这个区块。 BIOS在开机的时候就会主动的读取这个区块的程序被把执行权交个这个引导程序,在由这个引导程序加载操作系统,从而才能使用这个操作系统。这个区块共占446Bytes。

  • 分区表(Partition Table): 这个部分则记录整块磁盘的分区情况。一块磁盘就好像一本书,而分区表就像是书的目录。目录是记录这本书的每个章节的起始位置和结束位置。从而可以使我们阅读这本书的时候可以更快的查找出我们需要的内容。而分区表就跟目录一样记录着整块磁盘的各个分区所在的起始位置和结束位置。这个区块共占64Bytes。

磁盘分区表

分区里面最小的单位是柱面,或者说分区是以柱面为单位分的。假设你的磁盘有400个柱面,平均的分为4个分区,也就是以个分区有100个柱面。
假设你往第一个分区里面添加数据也就相当于在1~100柱面添加数据。如果你的硬盘是IDE接口的,那么在Linux下对应的文件名应该是:

  • 第一个分区文件名字为:/dev/hda1
  • 第二个分区文件名字为:/dev/hda2
  • 第三个分区文件名字为:/dev/hda3
  • 第四个分区文件名字为:/dev/hda4

由于分区表只有64Bytes,最多只能记录4个分区。这四个分区称为主分区(Primary)或者扩展分区(Extended)分区。

分区名词解释

  • 主分区(Primary Partition):主分区,和扩展分区、逻辑分区一样,是一种分区类型。主分区中不能再划分其他类型的分区,因此每个主分区都相当于一个逻辑磁盘(在这一点上主分区和逻辑分区很相似,但主分区是直接在硬盘上划分的,逻辑分区则必须建立于扩展分区中)。 激活的主分区会成为“引导分区”(或称为“启动分区”),引导分区会被操作系统和主板认定为第一个逻辑磁盘(在DOS/Windows中会被识别为“驱动器C:”或“本地磁盘C:”,即通称的C盘)。有关DOS/Windows启动的重要文件,如引导记录、boot.ini、ntldr、ntdetect.com等,必须放在引导分区中。

  • 扩展分区(Extended Partition):扩展分区是一个概念,实际上是看不到的。当整个硬盘分为一个主分区的时候,就没有了扩展分区。分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,剩下的部分就浪费了。扩展分区不能直接使用,必须分成若干逻辑分区。所有的逻辑分区都是扩展分区的一部分。 硬盘的容量=主分区的容量+扩展分区的容量; 扩展分区的容量=各个逻辑分区的容量之和。

  • 逻辑分区(Logical Partition ):把一个扩展分区切分成几个分区,那么这几个分区就称为逻辑分区。

tips: 一块硬盘必须要有一个主分区,可以不要拓展分区,切扩展分区只能有一个。

分区的好处

  • 数据的安全性:假设你是Windows系统,突然某天C盘中毒,在这种情况下,你只需要把C盘格式化然后在重装系统就可以解决这个问题。因为你把磁盘分成了几个区,而只有需要把C盘格式化。所以其他盘的数据可以得以保存。

  • 系统性能:由于每个分区都有自己的区段,所以当想读取某个分区进行数据的操作时就可以只搜索这个分区所在的区段,例如:对第一个分区进行读取操作时只需要搜索1~100柱面范围,而不用搜索整个磁盘。

开机流程与主引导分区

当按下个人计算机电源按钮时,主板上的BIOS(Basic Input Output System)就会读取硬盘里第一个MBR的位置。这个MBR里放置着读取操作系统内核的引导加载程序(Boot Loader),引导加载程序开始运行,然后操作系统开始工作。这个引导加载程序有以下几个项目。

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

多重引导
一个电脑可以装多个操作系统就原因就是因为上面第三点,第三点表示磁盘上有着多于一个的引导加载程序的存在,所以我们可以选择不同系统的引导加载程序来加载不同的系统。虽然我们的MBR只能放置一个引导加载程序,但是我们可以把引导加载程序放置在每个分区的引导扇区。假设你个人计算机上装着Windows和Linux系统那么系统加载过程如下:

  • MBR里面的引导加载程序提供两个菜单,菜单一可以直接加载Windows的内核文件来开机,菜单二则是将引导加载工作交给第二个分区的启动扇区。当用户选择菜单二时,那么整个引导加载程序工作就会交给第二分区的引导加载程序了。

Linux下磁盘分区

在Linux中所以得数据都是以文件的形态来存放的,所以就形成了一个目录树(directory tree)。所有文件都是从根目录(root directory)开始的,这个根目录表示方法为“/”。

这里写图片描述

当我们想打开mydata文件时,需要写的目录是/home/dmtsai/mydata
那么我们如何把目录树跟分区关联起来呢,这个时候就可以使用到“挂载”(mount)这个概念。

挂载
所谓挂载就是把一个目录当成一个进入点,把进入点跟这个磁盘分区关联起来的动作称为挂载,那个进入点的目录被称为挂载点,所以,当我们进入到挂载点就相当于读取该分区的意思。由于Linux系统中最重要的是根目录,因此根目录一定需要挂载到某个分区。其他目录则可以根据需求进行挂载。

参考

《鸟哥的Linux私房菜》


如此文章有不对地方请多多指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值