关闭

Linux硬盘分区知识简介

发表于:2010-3-18 10:53

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  Linux系统可以挂载多个不同接口类型的磁盘(disk),每一个磁盘又可以分成若干个分区(Partition),每个分区又可以拥有自己的文件系统类型(FileSystem)。Linux对于磁盘和分区又自己的一套标记方法。

  硬盘和分区的区分

  第一个SCSI(Small Computer System Interface)磁盘记为/dev/sda,第二个SCSI磁盘记为/dev/sdb;第一个SATA磁盘记为/dev/hda,第二个为/dev/hdb,以此类推。Linux系统中,每一个磁盘的各个分区编号是从1开始的,例如,第一个SCSI磁盘的第一个分区为/dev/sda1,第二分区为/dev/sda2。

  分区结构

  一块没有分过区的硬盘(RAW)就像一块荒蛮的土地,是没有有意义数据的。分好区的硬盘就会具有一定的结构性。分区就是将硬盘分为一定的区域,便于使用。 一块硬盘最多可以分四个区(主分区)。无论硬盘分多少个区,它的最前面都有一个引导扇区(主引导记录MBR)。

  主引导记录由三部分组成:开始是446B的操作系统引导代码,紧接着是64byte的主分区表。主分区表最多记录四个主分区的分区信息,主要包括该分区的起始/结束柱面、大小、类型等信息。每个分区记录占用16B。分区就是修改分区表,它不影响硬盘上的存储的数据。最后是2字节的结束标志0×55AA(01010101 10101010)。

  扩展技术:由于分区表只能包含最多4个分区记录,如果需要将一块硬盘分成超过5个以上的分区,就需要将最多四个主分区中的一个分区类型改为扩展分区,然后在扩展分区中再建逻辑分区。逻辑分区的分区信息保存在扩展分区之中,叫做扩展分区表。理论上逻辑分区没有个数的限制。扩展分区不能被直接使用,必须将其划分为若干个逻辑分区。逻辑分区的起始位置的信息都写在扩展分区表里面。逻辑分区的分区编号从5开始,如:/dev/sda5是第一块硬盘的第一个逻辑分区。

  格式化

  其实,格式化就是为某个分区建立起某种类型的文件系统。没有文件系统的分区是不能被操作系统使用,也就无法写入有意义的数据的。文件系统的存在,就是为了让操作系统在一块硬盘的分区内有组织、有纪律的写入和保存数据,当然还得原样地读出数据。

  为一个分区建立文件系统的时候,该分区原有的数据就会被抹杀,想要恢复数据就很难了。尤其,当格式化过的分区被重新写入过数据时,恢复先前的数据就变得不可能了。

  分区工具的使用

  Linux环境下,主要有两个着名的分区管理工具fdisk和parted,本人经常使用的是fdisk。至于parted,可能更灵活,且支持非交互模式,你可以查看相应的man。下面简单介绍下fdisk,详细介绍还请您亲自man之。

  fdisk使用范例

  列出各磁盘的结构及分区表信息:

  ivan@ivan-desktop:~$ sudo fdisk -l
  [sudo] password for ivan:
  Disk /dev/sda: 160.0 GB, 160041885696 bytes
  255 heads, 63 sectors/track, 19457 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
  Disk identifier: 0x0003ce53
  Device Boot      Start         End      Blocks   Id  System
  /dev/sda1   *           1        3825    30720000    7  HPFS/NTFS
  /dev/sda2            3825        7650    30720000    7  HPFS/NTFS
  /dev/sda3            7650       11474    30720000    7  HPFS/NTFS
  /dev/sda4           11475       19457    64123447+   5  Extended
  /dev/sda5           11475       14444    23856472+   7  HPFS/NTFS
  /dev/sda6           19247       19457     1694826   82  Linux swap / Solaris
  /dev/sda7           14445       15660     9767488+  83  Linux
  /dev/sda8           15661       19246    28804513+  83  Linux
  Partition table entries are not in disk order
  Disk /dev/sdb: 80.0 GB, 80026361856 bytes
  255 heads, 63 sectors/track, 9729 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
  Disk identifier: 0x3571e2ec
  Device Boot      Start         End      Blocks   Id  System
  /dev/sdb1   *           1        9729    78148161    7  HPFS/NTFS
  ivan@ivan-desktop:~$

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号