热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux硬盘分区知识简介

文章标题:Linux硬盘分区知识简介。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  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:~$

[1] [2] 下一页


推荐阅读
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文主要讨论了在xps15上安装双系统win10和MacOS后,win10无法正常更新的问题。分析了可能的引导问题,并提供了解决方法。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
author-avatar
手机用户2702939047
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有