美文网首页我用 LinuxLinuxlinux基础
机械硬盘及分区的基础知识

机械硬盘及分区的基础知识

作者: 一名IT小学生 | 来源:发表于2019-02-18 06:39 被阅读3次

最近刚学到硬盘及分区的基础知识,就想着按照要求将其写成一篇博客,因水平有限,有错误之处,还望指出。

1、硬盘的接口类型及组成

一般的机械硬盘外部组成如图所示 external.png

接口类型:
由接口传输方式不同分为:串口传输和并口传输

  其中串口传输的有:
      SATA:6Gbps
      SAS:6Gbps
      USB:480MB/s
  其中并口传输的有:
      IDE:133MB/s  ==>接口速率
      SCSI:640MB/s ==>常见

  linux中磁盘设备的设备文件命名方式:
      IDE:/dev/hd#
      SCSI、SATA、SAS,USB:/dev/sd#
                    
     不同设备的标识:a-z
     同一设备上的不同分区的标识:1,2……
            其中:主分区:1-4
                 逻辑分区:5-……

2、硬盘的内部组成

internal.png

3、硬盘的基础概念

磁道(track):围绕着圆心的一圈圈的灰色同心圆就是磁道。
扇区(sector):从圆心向外做射线,将磁道分成一个一个的有宽度的弧形叫做扇区,扇区一般大小为512byte。
image.png
柱面(cylinder):由同一编号(位置)的磁道组成了柱面。
磁头:读取数据的关键部件,每个盘面各一个。
image.png
块/簇:逻辑上由多个(2^n)相邻的扇区共同组成的一个整体,方便操作系统对整体进行数据的读写操作,以提高访问效率。
Windows中ntfs文件系统中称为簇,Linux中ext4等文件系统中称为块。
大小均是2^n次方。

扇区:整个硬盘最小的读写单位
柱面:对硬盘进行分区的最小单位
块/簇:操作系统对硬盘进行数据读写的最小单位

4、硬盘存储容量的计算

总容量=磁头数(即盘面数)磁道数扇区数*每个扇区的大小
上图中:
盘面数:6
磁道数:7,ps:此处灰色的磁道数量为7
扇区数:12
每个扇区大小:512byte

总容量:6712*512= 258048byte

5、MBR及分区

准则:以柱面为基本单位进行硬盘分区,其中整个硬盘的分区信息都保存在0柱面0磁道1扇区的MBR里面。

下面简单介绍MBR(Main Boot Record):
MBR,即主引导记录,负责告诉计算机到此硬盘的那个地方去寻找操作系统,其中包含着硬盘的分区信息。

大小:512byte,其中包含着:

  446 byte:boot loader,包含最基本的引导程序,即调用操作系统的机器码
  64 byte:分区信息,其中一个分区信息为16byte,故主分区一个只能有64/16=4个,一般是3P+1E(N个逻辑分区)
           在每个分区信息的16 byte中,后4个byte标志着主分区扇区的总个数,即一个主分区的扇区总个数为2^32个扇区,每个扇区512byte,则每个主分区的大小不超过2T。
  2 byte:0x55和0xAA,则此设备可以用于系统启动,若不是这2个字节,则表明不能用于系统启动。

PS:当磁盘的容量大于2T时,多于2T的容量不会被MBR识别,因此当硬盘大于2T时,考虑使用GPT,一种新的分区表类型。

6、Linux中常见的分区命令

分区管理工具:fdisk、parted、sfdisk

fdisk:

特点:
1、对于一块硬盘来说,最多管理15分区
2、只能分2T以下的硬盘,若大于2T,则可以挂载整个硬盘,但是不能分区,因此此时需要使用parted命令进行分区管理。

#fdisk -l  ==>列出指定所有设备磁盘分区信息 
#fdisk 设备名  ==>进行分区
#fdisk 设备
                    
子命令:管理功能
            p:显示已有分区
            n:new 创建
            d:delete 删除
            w:write,写入磁盘并退出
            q:quit,放弃更新并退出
            m:获取帮助
            l:列表所分区ID
            t:调整分区ID
分区后先查看,若内核未同步,则使用命令将分区信息同步到内核:
  方式一:
    查看内核是否已经识别新的分区:
            cat /proc/partations 
    通知内核重新读取硬盘分区表:
            partx -a  /dev/DEVICE
            不理会报错
  方式二:
        使用file命令:file /dev/sdb2
        若结果没有block,则说明Linux内核没有同步,可使用
        #partprobe     ==>进行内核同步

  方式三:关机重启

7、文件系统

文件系统是将文件存储于设备上一种特定的方法和数据结构。根据方法和数据结构的不同,在Linux中将文件系统分为:

ext2 、ext3、ext4、xfs
swap:交换分区,将磁盘当内存使用
光盘:iso9660

文件系统的格式化工具

在对硬盘分区后,我们往往对分区进行格式化,使分区变成我们想要的文件系统,以便存储文件。
在Linux中的格式化命令:

#mkfs.FS_TYPE  -L '卷标'  /dev/分区名称(不能使扩展分区)==>此步骤将某个分区以FS_TYPE进行格式化
    其中FS_TYPE常见的类型有:
      ext2
      ext3
      ext4
      xfs
      btrfs
      vfat
另外ext2、3、4文件系统的专用格式化命令:
mke2fs -t [ext2|ext3|ext4] -L '卷标' /dev/分区

#blkid 分区  == >格式化后,用于查看此分区的信息,例如(格式,卷标,UUID等)
[root@centos ~]# blkid /dev/sdb5
/dev/sdb5: LABEL="i am ext4" UUID="0fe92389-239a-417b-a679-2f32ac98865f" TYPE="ext4" 

#e2label  DEVICE_NAME   'LABEL_NAME'   ==>更改设备的label

当我们感觉到系统中的swap分区不够用时,可以进行swap分区的扩展。

#mkswap  /dev/分区     ==>创建swap分区
前提:在此分区的分区ID号必须得是82,即Linux swap

文件系统的检测工具

fsck_FS_TYPE 或fsck -t FS_TYPE
  注:FS_TYPE一定要与分区上已有文件类型相同
ext专用修复工具:
    e2fsck -f   DEVICE_NAME.  ==>强制修复DEVICE_NAME

8、文件系统的挂载

当文件系统格式后,我们可以通过将其与系统上的某个目录关联,通过目录进行文件系统中文件的访问,‘关联’这个动作就是挂载。

注:当目录中有文件时,挂载后,文件暂时隐藏,卸载后,文件恢复
相关命令:

#mount  DEVICE_NAME     MOUNT_POINT
其中device可以为:
1、设备文件 /dev/sda5
2、卷标:-L 'LABEL',例如:-L 'MYDATA'
3、UUID,-U 'UUID',例如:-U 'xxxxxxxxxxxxxxxx'
4、伪文件系统:proc,sysfs,devtmpfs,configfs

mount常用选项:
    -a : 自动挂载/etc/fstab里面的设备
    -L ‘LABEL’ :以卷标指明要挂载的设备
    -o OPTION 
          OPTION的选项,用此规定要被挂载的文件系统的一些属性,例如:只读,异步……
            async : 挂载使用异步模式 
            sync:同步模式,内存中数据改变后,会立即保存到硬盘中,异步是不立即改变。
            atime/noatime:每一次访问文件都会更新时间戳/不更新,包含目录和文件。
            diratime/nodiratime:目录的访问时间戳
            auto/noauto:是否支持自动挂载
            exec/noexec:是否支持将文件系统上的应用程序运行为进程(运行程序为进程)
          dev/nodev:是否支持在此文件系统上使用设备文件
          suid/nosuid:
          remount:重新挂载
          ro:只读
          rw:读写
          user/nouser:是否允许普通用户挂载此设备
          acl:启用此文件系统上的acl功能

      默认(defaults):相当于 rw, suid, dev, exec, auto, nouser, async
#umount DEVICE/MOUNT_POINT
卸载时2选一即可�
交换分区的挂载

当我们使用命令mkswap将分区设置为swap格式后,然后需要将swap分区挂载后才能正常使用。
命令:

swapon    /dev/DEVICE     ===>     将swap格式的分区进行激活
swapon     -a  DEVICE_NAME :将设备上所有的swap分区全部激活
swapoff  /dev/DEVICE    ===>     将swap格式的分区进行休眠
image.png

相关文章

  • 机械硬盘及分区的基础知识

    最近刚学到硬盘及分区的基础知识,就想着按照要求将其写成一篇博客,因水平有限,有错误之处,还望指出。 1、硬盘的接口...

  • 磁盘管理和文件系统

    磁盘管理和文件系统 机械硬盘和固态硬盘: 设备文件: 分区: MBR分区结构: 管理分区 parted 命令 gf...

  • DiskGenius 硬盘分区教程

    目录内容 一、机械固态硬盘多分区教程(适合XP,7,8,10系统) 二、固态硬盘单分区教程(适合XP,7,8,10...

  • linux分区

    linux分区 因为使用了120GSSD和1T机械硬盘,所以选择了讲/分区和/swap挂在在固态硬盘,其他挂在在机...

  • Ubuntu环境下挂载新硬盘

    一、硬盘分区 | Hard disk add new partition 1、显示硬盘及所属分区情况。在终端窗口中...

  • 磁盘可以进行克隆吗?想要克隆磁盘该怎么做?

    克隆硬盘功能是指将一个硬盘的所有分区及分区内的文件和其它数据克隆到另一个硬盘。克隆过程中,本软件将按源硬盘中的分区...

  • 一、Linux(CentOS7)系统磁盘分区及挂载

    新购买的阿里云服务器,默认硬盘容量肯定不够用,需要额外购买硬盘,购买后需要对硬盘进行分区及挂载操作,下面是硬盘分区...

  • 磁盘分区、挂载

    分区的方式: mbr分区: gtp分区: linux分区原理硬盘分为IDE硬盘和SCSI硬盘,目前基本是SCSI硬...

  • 理解格式化原理

    在前文《磁盘开篇:扒开机械硬盘坚硬的外壳!》和《拆解固态硬盘结构》中,我们了解到了硬盘基本单位是扇区。在《磁盘分区...

  • 阿里云ECS CentOS磁盘挂载

    查看硬盘个数及分区 对/dev/vdb进行分区空白处敲一记回车 再次查看磁盘个数及分区 格式化新分区(使用ext3...

网友评论

    本文标题:机械硬盘及分区的基础知识

    本文链接:https://www.haomeiwen.com/subject/lgniwftx.html