精华内容
下载资源
问答
  • 硬盘分区表知识——详解硬盘MBR

    万次阅读 多人点赞 2019-05-07 10:26:15
    硬盘是现在计算机上最常用的存储器之一。我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据...当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般...

    硬盘是现在计算机上最常用的存储器之一。我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据的能力。而这些数据都以文件的形式存储在硬盘里。不过,计算机可不像人那么聪明。在读取相应的文件时,你必须要给出相应的规则。这就是分区概念。

        分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置。而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过以后的高级格式化,即Format命令来实现。面、磁道和扇区硬盘分区后,将会被划分为面(Side)、磁道(Track)和扇区(Sector)。需要注意的是,这些只是个虚拟的概念,并不是真正在硬盘上划轨道。

        先从面说起,硬盘一般是由一片或几片圆形薄膜叠加而成。我们所说,每个圆形薄膜都有两个“面”,这两个面都是用来存储数据的。按照面的多少,依次称为0面、1面、2面……由于每个面都专有一个读写磁头,也常用0头(head)、1头……称之。按照硬盘容量和规格的不同,硬盘面数(或头数)也不一定相同,少的只有2面,多的可达数十面。各面上磁道号相同的磁道合起来,称为一个柱面(Cylinder)。

     

        上面我们提到了磁道的概念。那么究竟何为磁道呢?由于磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。我们称这样的圆周为一个磁道。如果读写磁头沿着圆形薄膜的半径方向移动一段距离,以后写入的数据又排列在另外一个磁道上。根据硬盘规格的不同,磁道数可以从几百到数千不等;一个磁道上可以容纳数KB的数据,而主机读写时往往并不需要一次读写那么多,于是,磁道又被划分成若干段,每段称为一个扇区。一个扇区一般存放512字节的数据。扇区也需要编号,同一磁道中的扇区,分别称为1扇区,2扇区……

        计算机对硬盘的读写,处于效率的考虑,是以扇区为基本单位的。即使计算机只需要硬盘上存储的某个字节,也必须一次把这个字节所在的扇区中的512字节全部读入内存,再使用所需的那个字节。不过,在上文中我们也提到,硬盘上面、磁道、扇区的划分表面上是看不到任何痕迹的,虽然磁头可以根据某个磁道的应有半径来对准这个磁道,但怎样才能在首尾相连的一圈扇区中找出所需要的某一扇区呢?原来,每个扇区并不仅仅由512个字节组成的,在这些由计算机存取的数据的前、后两端,都另有一些特定的数据,这些数据构成了扇区的界限标志,标志中含有扇区的编号和其他信息。计算机就凭借着这些标志来识别扇区。硬盘的数据结构 在上文中,我们谈了数据在硬盘中的存储的一般原理。为了能更深入地了解硬盘,我们还必须对硬盘的数据结构有个简单的了解。硬盘上的数据按照其不同的特点和作用大致可分为5部分:MBR区、DBR区、FAT区、DIR区和DATA区。

     

    我们来分别介绍一下:

    1、MBR区

          MBR(Main Boot Record 主引导记录区)位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节,另外的64个字节交给了DPT(Disk Partition Table硬盘分区表),最后两个字节“55,AA”是分区的结束标志。这个整体构成了硬盘的主引导扇区。

        主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk.exe)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而实现多系统共存。

        下面,我们以一个实例让大家更直观地来了解主引导记录:

        例:80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00 在这里我们可以看到,最前面的“80”是一个分区的激活标志,表示系统可引导;“01 01 00”表示分区开始的磁头号为01,开始的扇区号为01,开始的柱面号为00;“0B”表示分区的系统类型是FAT32,其他比较常用的有04(FAT16)、07(NTFS);“FE BF FC”表示分区结束的磁头号为254,分区结束的扇区号为63、分区结束的柱面号为764;“3F 00 00 00”表示首扇区的相对扇区号为63;“7E 86 BB 00”表示总扇区数为12289622。

    2、DBR区

        DBR(Dos Boot Record)是操作系统引导记录区的意思。它通常位于硬盘的0磁道1柱面1扇区,是操作系统可以直接访问的第一个扇区,它包括一个引导程序和一个被称为BPB(Bios Parameter Block)的本分区参数记录表。引导程序的主要任务是当MBR将系统控制权交给它时,判断本分区跟目录前两个文件是不是操作系统的引导文件(以DOS为例,即是Io.sys和Msdos.sys)。如果确定存在,就把它读入内存,并把控制权 交给该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数,分配单元的大小等重要参数。DBR是由高级格式化程序(即Format.com等程序)所产生的。

    3、FAT区

        在DBR之后的是我们比较熟悉的FAT(File Allocation Table文件分配表)区。在解释文件分配表的概念之前,我们先来谈谈簇(Cluster)的概念。文件占用磁盘空间时,基本单位不是字节而是簇。一般情况下,软盘每簇是1个扇区,硬盘每簇的扇区数与硬盘的总容量大小有关,可能是4、8、16、32、64…… 同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内,而往往会分成若干段,像一条链子一样存放。这种存储方式称为文件的链式存储。由于硬盘上保存着段与段之间的连接信息(即FAT),操作系统在读取文件时,总是能够准确地找到各段的位置并正确读出。 为了实现文件的链式存储,硬盘上必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下一个簇的簇号。对一个文件的最后一簇,则要指明本簇无后继簇。这些都是由FAT表来保存的,表中有很多表项,每项记录一个簇的信息。由于FAT对于文件管理的重要性,所以FAT有一个备份,即在原FAT的后面再建一个同样的FAT。初形成的FAT中所有项都标明为“未占用”,但如果磁盘有局部损坏,那么格式化程序会检测出损坏的簇,在相应的项中标为“坏簇”,以后存文件时就不会再使用这个簇了。FAT的项数与硬盘上的总簇数相当,每一项占用的字节数也要与总簇数相适应,因为其中需要存放簇号。FAT的格式有多种,最为常见的是FAT16和FAT32。

     

    4、DIR区

       DIR(Directory)是根目录区,紧接着第二FAT表(即备份的FAT表)之后,记录着根目录下每个文件(目录)的起始单元,文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在硬盘中的具体位置和大小了。

     

    5、数据(DATA)区

        数据区是真正意义上的数据存储的地方,位于DIR区之后,占据硬盘上的大部分数据空间。

     

    一、硬盘的物理结构:

         硬盘存储数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成(图1),其中盘片和磁头密封在无尘的金属壳中。

                

     

       硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后将数据存储或读取出来。当系统向硬盘写入数据时,磁头中“写数据”电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或线圈阻抗产生变化,经相关电路处理后还原成数据。因此只要能将盘片表面处理得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘。这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立更多的磁道以存储更多的数据。

     

    二、硬盘的逻辑结构:

        硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。每个盘片被划分成若干个同心圆磁道(逻辑上的,是不可见的。)每个盘片的划分规则通常是一样的。这样每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2……每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1、2、3……形成Cylinders×Heads×Sector个扇区。这三个参数即是硬盘的物理参数。我们下面的很多实践需要深刻理解这三个参数的意义。
        硬盘存储数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成(图1),其中盘片和磁头密封在无尘的金属壳中。

     

    三、磁盘引导原理:

    3.1 MBR(master boot record)扇区:

      计算机在按下power键以后,开始执行主板bios程序。进行完一系列检测和配置以后。开始按bios中设定的系统引导顺序引导系统。假定现在是硬盘。Bios执行完自己的程序后如何把执行权交给硬盘呢。交给硬盘后又执行存储在哪里的程序呢。其实,称为mbr的一段代码起着举足轻重的作用。MBR(master boot record),即主引导记录,有时也称主引导扇区。位于整个硬盘的0柱面0磁头1扇区(可以看作是硬盘的第一个扇区),bios在执行自己固有的程序以后就会jump到mbr中的第一条指令。将系统的控制权交由mbr来执行。在总共512byte的主引导记录中,MBR的引导程序占了其中的前446个字节(偏移0H~偏移1BDH),随后的64个字节(偏移1BEH~偏移1FDH)为DPT(Disk PartitionTable,硬盘分区表),最后的两个字节“55 AA”(偏移1FEH~偏移1FFH)是分区有效结束标志。

      MBR不随操作系统的不同而不同,意即不同的操作系统可能会存在相同的MBR,即使不同,MBR也不会夹带操作系统的性质。具有公共引导的特性。

      我们来分析一段mbr。下面是用winhex查看的一块希捷120GB硬盘的mbr。

    MBR扇区代码

     

        你的硬盘的MBR引导代码可能并非这样。不过即使不同,所执行的功能大体是一样的。这里找wowocock关于磁盘mbr的反编译,已加了详细的注释,感兴趣可以细细研究一下。

        我们看DPT部分。操作系统为了便于用户对磁盘的管理。加入了磁盘分区的概念。即将一块磁盘逻辑划分为几块。磁盘分区数目的多少只受限于C~Z的英文字母的数目,在上图DPT共64个字节中如何表示多个分区的属性呢?microsoft通过链接的方法解决了这个问题。在DPT共64个字节中,以16个字节为分区表项单位描述一个分区的属性。也就是说,第一个分区表项描述一个分区的属性,一般为基本分区。第二个分区表项描述除基本分区外的其余空间,一般而言,就是我们所说的扩展分区。这部分的大体说明见表1。

              

      DPT代码分析

      注:上表中的超过1字节的数据都以实际数据显示,就是按高位到地位的方式显示。存储时是按低位到高位存储的。两者表现不同,请仔细看清楚。以后出现的表,图均同。

      也可以在winhex中看到这些参数的意义:
           

        说明: 每个分区表项占用16个字节,假定偏移地址从0开始。如图3的分区表项3。分区表项4同分区表项3。

      1、0H偏移为活动分区是否标志,只能选00H和80H。80H为活动,00H为非活动。其余值对microsoft而言为非法值。

      2、重新说明一下(这个非常重要):大于1个字节的数被以低字节在前的存储格式格式(little endian format)或称反字节顺序保存下来。低字节在前的格式是一种保存数的方法,这样,最低位的字节最先出现在十六进制数符号中。例如,相对扇区数字段的值0x3F000000的低字节在前表示为0x0000003F。这个低字节在前的格式数的十进制数为63。

      3、系统在分区时,各分区都不允许跨柱面,即均以柱面为单位,这就是通常所说的分区粒度。有时候我们分区是输入分区的大小为7000M,分出来却是6997M,就是这个原因。 偏移2H和偏移6H的扇区和柱面参数中,扇区占6位(bit),柱面占10位(bit),以偏移6H为例,其低6位用作扇区数的二进制表示。其高两位做柱面数10位中的高两位,偏移7H组成的8位做柱面数10位中的低8位。由此可知,实际上用这种方式表示的分区容量是有限的,柱面和磁头从0开始编号,扇区从1开始编号,所以最多只能表示1024个柱面×63个扇区×256个磁头×512byte=8455716864byte。即通常的8.4GB(实际上应该是7.8GB左右)限制。实际上磁头数通常只用到255个(由汇编语言的寻址寄存器决定),即使把这3个字节按线性寻址,依然力不从心。 在后来的操作系统中,超过8.4GB的分区其实已经不通过C/H/S的方式寻址了。而是通过偏移CH~偏移FH共4个字节32位线性扇区地址来表示分区所占用的扇区总数。可知通过4个字节可以表示2^32个扇区,即2TB=2048GB,目前对于大多数计算机而言,这已经是个天文数字了。在未超过8.4GB的分区上,C/H/S的表示方法和线性扇区的表示方法所表示的分区大小是一致的。也就是说,两种表示方法是协调的。即使不协调,也以线性寻址为准。(可能在某些系统中会提示出错)。超过8.4GB的分区结束C/H/S一般填充为FEH FFH FFH。即C/H/S所能表示的最大值。有时候也会用柱面对1024的模来填充。不过这几个字节是什么其实都无关紧要了。

      虽然现在的系统均采用线性寻址的方式来处理分区的大小。但不可跨柱面的原则依然没变。本分区的扇区总数加上与前一分区之间的保留扇区数目依然必须是柱面容量的整数倍。(保留扇区中的第一个扇区就是存放分区表的MBR或虚拟MBR的扇区,分区的扇区总数在线性表示方式上是不计入保留扇区的。如果是第一个分区,保留扇区是本分区前的所有扇区。

      附:分区表类型标志如图4

          

     

    3.2 扩展分区

      扩展分区中的每个逻辑驱动器都存在一个类似于MBR的扩展引导记录( Extended Boot Record, EBR),也有人称之为虚拟mbr或扩展mbr,意思是一样的。扩展引导记录包括一个扩展分区表和该扇区的标签。扩展引导记录将记录只包含扩展分区中每个逻辑驱动器的第一个柱面的第一面的信息。一个逻辑驱动器中的引导扇区一般位于相对扇区32或63。但是,如果磁盘上没有扩展分区,那么就不会有扩展引导记录和逻辑驱动器。第一个逻辑驱动器的扩展分区表中的第一项指向它自身的引导扇区。第二项指向下一个逻辑驱动器的EBR。如果不存在进一步的逻辑驱动器,第二项就不会使用,而且被记录成一系列零。如果有附加的逻辑驱动器,那么第二个逻辑驱动器的扩展分区表的第一项会指向它本身的引导扇区。第二个逻辑驱动器的扩展分区表的第二项指向下一个逻辑驱动器的EBR。扩展分区表的第三项和第四项永远都不会被使用。

        通过一幅4分区的磁盘结构图可以看到磁盘的大致组织形式。如图5

            

        关于扩展分区,如图6所示,扩展分区中逻辑驱动器的扩展引导记录是一个连接表。该图显示了一个扩展分区上的三个逻辑驱动器,说明了前面的逻辑驱动器和最后一个逻辑驱动器之间在扩展分区表中的差异。

                  

       除了扩展分区上最后一个逻辑驱动器外,表2中所描述的扩展分区表的格式在每个逻辑驱动器中都是重复的:第一个项标识了逻辑驱动器本身的引导扇区,第二个项标识了下一个逻辑驱动器的EBR。最后一个逻辑驱动器的扩展分区表只会列出它本身的分区项。最后一个扩展分区表的第二个项到第四个项被使用。

           

     

        扩展分区表项中的相对扇区数字段所显示的是从扩展分区开始到逻辑驱动器中第一个扇区的位移的字节数。总扇区数字段中的数是指组成该逻辑驱动器的扇区数目。总扇区数字段的值等于从扩展分区表项所定义的引导扇区到逻辑驱动器末尾的扇区数。

        有时候在磁盘的末尾会有剩余空间,剩余空间是什么呢?我们前面说到,分区是以1柱面的容量为分区粒度的,那么如果磁盘总空间不是整数个柱面的话,不够一个柱面的剩下的空间就是剩余空间了,这部分空间并不参与分区,所以一般无法利用。照道理说,磁盘的物理模式决定了磁盘的总容量就应该是整数个柱面的容量,为什么会有不够一个柱面的空间呢。在我的理解看来,本来现在的磁盘为了更大的利用空间,一般在物理上并不是按照外围的扇区大于里圈的扇区这种管理方式,只是为了与操作系统兼容而抽象出来CHS。可能其实际空间容量不一定正好为整数个柱面的容量。

     

        文章内容转载自:https://blog.csdn.net/sallay/article/details/3668614

    展开全文
  • ubuntu 16.04 硬盘分区,挂载 一、硬盘分区 1.查看硬盘及所属分区情况 sudo fdisk -lu 显示当前的硬盘及所属分区的情况。如下图所示: 图中有两块硬盘,我们要对第二块硬盘进行分区。 2.对硬盘进行分区 ...

    ubuntu 16.04 硬盘分区,挂载,硬盘分区方案

    一、硬盘分区
    1.查看硬盘及所属分区情况
    sudo fdisk -lu
    显示当前的硬盘及所属分区的情况。如下图所示:
    图中有两块硬盘,我们要对第二块硬盘进行分区。
    图中有两块硬盘,我们要对第二块硬盘进行分区
    2.对硬盘进行分区
    sudo fdisk /dev/sdb
    如下图所示,可按m获取帮助:

    3.在提示符后面输入n,然后输入p,设置主分区,分区号输入1,起始块默认2048,终止块大小自己定义,这里输入+500G,表示大小为500G。
    在这里插入图片描述
    4.输入p,显示分区表,500G的新分区
    在这里插入图片描述
    5.输入w,保存分区表
    在这里插入图片描述
    6.输入sudo fdisk -lu,发现新分区
    在这里插入图片描述
    二、硬盘格式化
    1.将新分区格式化,转换为ext4格式。
    sudo mkfs -t ext4 /dev/sdb1
    在这里插入图片描述
    三、挂载硬盘分区
    1.显示硬盘挂载情况
    sudo df -l
    新硬盘分区没有挂载,无法进入和查看。
    在这里插入图片描述
    2.新建data目录,用于挂载新分区;把/data目录挂载到/dev/sdb1分区下
    sudo mkdir /media/data
    sudo mount -t ext4 /dev/sdb1 /media/data

    3.查看硬盘挂载情况
    sudo df -l
    发现data目录已经挂载到sdb1下
    在这里插入图片描述
    4.配置硬盘在系统启动自动挂载。
    查看查看磁盘分区的UUID:
    sudo blkid
    在这里插入图片描述
    发现fstab只读,不可修改
    1)sudo mount -o remount,rw /
    表示重新修改根目录/的读写属性
    2)sudo vim /etc/fstab
    在这里插入图片描述
    3)直接输入E
    在这里插入图片描述
    4)输入i,进入插入状态
    在这里插入图片描述
    5)在末尾加上
    UUID=072495b1-f395-4706-92b0-7226441bc91f /media/data ext4 defaults 0 2
    6)按ESC,退出编辑
    7)输入:wq,退出并保存
    8)打开fstab,发现已经成功修改
    9)重启OK

    三、硬盘分区方案
    512G SSD + 2T机械硬盘
    SSD分区
    1.主分区 500M EFI分区 (用作EFI启动500M完全足够)

    2.主分区 500M /boot (开机程序500M完全足够)

    3.主分区 64G swap 交换分区 (按照内存大小来设置)

    4.主分区 100G /usr/local (软件默认安装路径)
    5.主分区 剩下部分 / (根目录,相当于我的电脑)

    机械硬盘分区:
    1.主分区 所有部分 /home (home 用来存储用户的数据)

    展开全文
  • 硬盘分区怎么合并?有时候出厂的笔记本电脑分区有点多,想要给硬盘的分区合并不知道如何操作,如何在不影响系统正常使用的情况下分区呢?下面小白系统带你看下如何操作硬盘合并分区吧。注意事项:下面操作需要提前...

    大家好,今天分享一篇来自小白一键重装网(xiaobaixitong.com)关于解答:硬盘分区怎么合并?

    8e5943e8aab0ef60cf93d647ec7f26a2.png

    硬盘分区怎么合并?有时候出厂的笔记本电脑分区有点多,想要给硬盘的分区合并不知道如何操作,如何在不影响系统正常使用的情况下分区呢?下面小白系统带你看下如何操作硬盘合并分区吧。

    注意事项:下面操作需要提前备份好除C盘外的磁盘的重要资料,并且请勿打开其他磁盘上面的软件导致合并失败。

    方法一:电脑自带合并分区(以win10为例)

    操作如下:

    1、鼠标右击此电脑选择”管理“。

    766a35347d80414e28553c9a66d90a3f.png

    2、在计算机管理界面左侧选择”磁盘管理“。接着选择需要合并的分区,目前这台电脑除C盘外有2个分区,下图:

    9ff692bd8920032702f5b701b1dd9220.png

    3、切记备份重要资料哦,选择需要合并的分区,右击选择”删除卷“,另外一个分区也是同样的操作。

    f1054ff9a1594d329bd53beb06fa564a.png

    4、删除后看到出现”未分配“状态,右击选择”新建简单卷“,然后一直点击下一步就完成了。下图所示:

    6aca172a402ec7447dbefbf1dc638326.png
    7f6d724b61078b987790f1c526d34358.png

    方法一:DiskGenius分区工具合并

    1、打开DG分区工具,然后选择需要合并的分区,右击选择”删除当前分区(Del)“,下图:

    a4c7fec75b88ec4a3c4bdded044058e1.png

    2、同样的操作删掉其他的分区,然后点击左上方的”保存更改“按钮,下图:

    cfde90c3bea610523be3e68aa31c199d.png

    3、然后右击空闲的区域选择”建立新分区“,接着点击”保存更改“就完成合并分区了。

    3b56bc9ed85916b8a9e91b5959803507.png

    以上就是关于硬盘分区合并的详细步骤,建议各位同学在操作之前备份好资料哦。

    展开全文
  • 文章目录磁盘结构介绍分区类型说明磁盘管理说明fdisk -l 参数详解MBR分区管理图形化分区命令行模式命令格式化硬盘为gpt和mbr说明【了解就行】fdisk命令行分区参数介绍创建分区【含扇区解释】主分区和扩展分区说明...

    磁盘结构介绍

    • 一个磁盘由盘片和磁道组成,磁道有无数个扇区,一个扇区512Byte
      注:硬盘最小单位才是扇区,并不是最小存储单位-block(4k)
      在这里插入图片描述

    分区类型说明

    • 分区的类型为3类:

      • 主分区:从硬盘上直接划分出来的,可以直接格式化使用的分区
      • 扩展分区:直接从硬盘上划分,但是不直接格式化使用,而是在上面创建多个小分区
      • 逻辑分区:逻辑分区就是扩展分区创建的小分区
    • 分区表,只记录 主分区+扩展分区,每记录一个分区消耗16B

    • 主分区扩展分区<=4 且扩展分区<=1

    • 如果想划分多个分区,至少你得留一定的空间作为扩展分区,在上面划分更多个逻辑分区

    • MBR和GPT

      • MBR–>兼容性好,但是不能用于>2T硬盘
      • GPT–>可以有128个主分区,兼容性差一些,但是可以用大大于2T的硬盘
      • 决定使用MBR结构还是GPT结构,这个选择叫做“初始化磁盘标签”
        fdisk–>mbr结构
        gdisg–>gpt结构
        parted–>兼而有之

    磁盘管理说明

    如果输入fdisk -l命令没有找到新的磁盘,按下面步骤操作
    1)进入到cd /sys/class/scsi_host/
    2)echo "---" > host0/scan #接口扫描新加磁盘即可,如果输入命令还是没有找到则将host0改为host1、host2都试试

    fdisk -l 参数详解

    我们执行fdsikl -l的时候,会看到一个硬盘的全部信息如下:

    [root@controll ccx]# fdisk -l
    Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x00068e46
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     2099199     1048576   83  Linux
    /dev/sda2         2099200   419430399   208665600   8e  Linux LVM
    
    • 下面分开讲解前面4行内容:

      • 第一行:
        Disk /dev/sda【硬盘名称】: 214.7 GB【大小】, 214748364800 bytes【字节】, 419430400 sectors【扇区】
        其中一个扇区等于512个字节,我们硬盘的最小单位是扇区。上面的214其实是不准的,真实的硬盘大小为:214748364800/1024/1024/1024=200G【1G=1024M,1M=1024k,1K=1024bytes】
      • 第二行:
        Units = sectors of 1 * 512 = 512 bytes【柱面单元大小 (一个扇区作为一个柱面,一个扇区大小为512 bytes,即0.5KB】
      • 第三行:
        Sector size (logical/physical): 512 bytes / 512 bytes 【扇区大小 ,逻辑/物理都为 512 bytes】
      • 第四行:
        I/O size (minimum/optimal): 512 bytes / 512 bytes 【IO最小/最优 均为 512bytes 】
    • 注:下面boot中系统盘前面会有*,其他无内容
      最后一行 实际大小 是我自己新增的,用来展示换算单位

    设备boot起始柱面结束柱面分区大小分区类型对分区类型的解析实际大小
    /dev/sda1*20482099199104857683Linux1G
    /dev/sda220992004194303992086656008eLinux LVM198.999G

    分区大小转换计算方法

    方式一

    • 以上面的/dev/sda1和/sda2为例
    • 直接以分区大小计算,这个大小显示的是扇区数据【Kb】,所以公式为:分区大小【Blocks】/1024/1024
    • 如上的/dev/sda1为:1048576/1024/1024=1【反过来换算就是:G*1024*1024=扇区大小【最简单的方式就是估算,小数点向前移动6位即为Gb大小】
    • 如上的/dev/sda2为:208665600/1024/1024=198.999【反过来换算就是:G*1024*1024=扇区大小【最简单的方式就是估算,小数点向前移动6位即为Gb大小】

    方式二

    • 以上面的/dev/sda1和/sda2为例
    • 这个是以存储单位【bytes】计算,上面说过,一个扇区为512Bytes,所以公式为:结束扇区【end】-起始扇区【start】/1024/1024/1024*512【这种方式实用于新硬盘分区时硬盘容量大小(Gb)精确计算】
    • 如上的/dev/sda1为:2099199-2048/1024/1024/1024*512=0.99999【反过来换算就是:G*1024*1024*1024/512=Bytes大小【GxMxKxBytes÷扇区】
    • 如上的/dev/sda2为:419430399-2099200/1024/1024/1024*512=198.999【反过来换算就是:G*1024*1024*1024/512=Bytes大小【GxMxKxBytes÷扇区】

    MBR分区管理

    有2种分区方法,图形化和命令行(不建议用图形化分区)

    图形化分区

    点击菜单栏-工具-磁盘-点击新添加磁盘-设置中格式化
    在这里插入图片描述
    分区中-选择格式化为MBR格式还是GPT格式-选好后点击格式化即可;
    在这里插入图片描述

    命令行模式

    命令格式化硬盘为gpt和mbr说明【了解就行】

    • 格式化为gpt格式:parted 硬盘设备名(lsblk查看) mklabel格式(gpt) , 会提示格式化后数据会丢失 输入yes即可:
      在这里插入图片描述

    • 如果不要提示 加上参数-s 即可:
      在这里插入图片描述

    • 取消之前格式化的格式: parted -s 硬盘设备名 mklabel loop:
      在这里插入图片描述

    • 如果要格式化大于2T的文件,参考文档:
      linux大于2T磁盘分区方法(parted分区方法说明)

    • 格式化为mbr格式:parted 硬盘设备名(lsblk查看) mklabel msdos , 会提示格式化后数据会丢失 输入yes即可:
      在这里插入图片描述

    fdisk命令行分区

    • fdisk -l:查看所有磁盘信息
    • fdisk -l 硬盘设备名 :查看单独的磁盘信息 如:fdisk -l /dev/sdb2
    • mbr结构(DOS)创建分区fdisk 分区磁盘设备名, 输入m 获取帮助
      在这里插入图片描述

    参数介绍

    • fdisk 分区磁盘设备名, 输入m回车 即可看到下列字母的详细介绍

      • d:删除一个分区
      • l(L):列出磁盘类型
      • m:显示当前菜单
      • n:新划一个分区
      • p:打印分区表
      • q:不保存退出
      • w:保存提出
      • t:转换类型
    • 如果没有新分区直接p打印分区表是空白的:
      在这里插入图片描述

    创建分区【含扇区解释】

    • fdisk 分区磁盘设备名,如:fdisk /dev/sdb2
    • 开始新化分区 n
      • 选择主分区或逻辑分区,前3个一般选主分区,所以输入:p
      • 起始扇区默认回车即可【默认2048,也可以手动输入2048指定的】
      • 第二次就是容量扇区,直接输入+#G即可
        注:分区大小本身是以扇区来计算的,一个扇区0.5k,所以如果需要划分2G,就要慢慢推算扇区大小:2048(2g大小)+2(2g数量)*1024(M)*1024(k)*2(扇区)-1(起始位)【这仅仅是第一个分区的计算方式】,很麻烦,所以直接 +#G 即可
        在这里插入图片描述

    我们划分区的时候,一般是默认起始扇区的(直接回车就是默认),所以建立多个之间并不会有空隙,如,第一块建了2G,第一块的结尾+1就是第二块的开始,但如果我们手动指定扇区了,就是并不是以第一块结尾+1为起始扇区,这里留了8个扇区(0.5*8=4k),这时候再建第三快分区的时候,如果是默认起始扇区,就是以第一次留下的扇区为起始扇区,在划分2个G,就会提示超出范围,因为这时候的扇区是第一块分区结束和第二块分区起始之间的空间,起始和结尾都直接回车(默认,如果结尾直接回车就是全部空间都给该分区),就会发现 实际只能分4K大小,所以,我们划分区手动指定扇区的时候,一定要注意起始扇区: (图中第一块扇区结尾有误:是4196351)
    所以这时候就需要用p查看第二块的结尾扇区,然后+1 就是新的起始扇区。
    在这里插入图片描述

    主分区和扩展分区说明

    • 假如我们有一个20G的硬盘,我们4块都划分为2G的主分区,那么剩下的12G就没法使用了:
      在这里插入图片描述
      在这里插入图片描述
    • 所以我们需要把最后一块建成扩展分区 e (如果已经创建了4个主分区,d 删除第4个分区),并且全部空间都分给扩展分区(结束扇区直接回车即可),MBR总分区<=4,主分区<=4(就是可以全部分为主分区),扩展分区<=1:
      在这里插入图片描述
    • 从扩展分区中继续建的属于逻辑分区,逻辑分区是不询问输入p或e的,直接从5开始累加:
      在这里插入图片描述
      在这里插入图片描述

    分区类型转换

    • 分区根据用途还可以进行一些分类:有的是普通的linux分区→不管是逻辑分区还是主分区都可以直接格式化使用 , 但有的分区作为交换分区,有的分区用来配置lv(逻辑分区),有的分区用来配置raid,有的分区用来做扩展分分区
    • 输入t 转换类型,L查看所有类型,如:现在把几个linux类型改为lv卷:
      在这里插入图片描述
    • L查看并记录好需要转换的类型id号后再次输入t,即可进入类型转换模式了:
      • 输入分区号,就是要给哪个分区修改类型
      • 然后输入类型id即可修改完成【需要给多个分区修改则重复上面步骤】
        在这里插入图片描述
        在这里插入图片描述

    保存分区

    • 上面功能按需定义完以后输入 w回车即可保存成功
    • 然后输入 partprobe 分区设备名(刷新分区表):
      在这里插入图片描述

    partprobe 分区设备名(刷新分区表)

    • 也可以直接执行 partprobe即可。
    • 在这单独说明,是证明这个很重要,做完分区w保存退出以后必须执行这个命令,不然fdisk -l看不到最新的分区信息。
    • 全部完成以后输入lsblk是看不出主分区或扩展分区等类型的,需要输入 fdisk -l 设备名 ,才能看到刚才定义的类型:
      在这里插入图片描述
      在这里插入图片描述

    完整流程展示

    • 下面我创建了3个主分区和若干逻辑分区,为了更直观看出,我没有用空格,注意看后面解释内容。
    • 其实下面内容是我另外一个脚本中的部分摘抄罢了,更多的可以直接去看这篇博客哈:
      linux脚本用fdisk批量给主机硬盘分区
    [root@controll ccx]# fdisk /dev/sdb  # 分区/dev/sdb这块盘
    Welcome to fdisk (util-linux 2.23.2).
    
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): n # 开始创建
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): p #选择主分区
    Partition number (1-4, default 1): 1 # 第一个主分区
    First sector (2048-41943039, default 2048): 2048 #起始扇区
    Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 6289408 #默认扇区,我是换算的单位,这可以直接+3G的
    Partition 1 of type Linux and of size 3 GiB is set
    
    Command (m for help): n # 创建分区
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): p #创建主分区
    Partition number (2-4, default 2): 2 #第二个主分区
    First sector (6289409-41943039, default 6291456): 6289409 #默认扇区,上一个结束扇区+1
    Last sector, +sectors or +size{K,M,G} (6289409-41943039, default 41943039): 14678017
    Partition 2 of type Linux and of size 4 GiB is set
    
    Command (m for help): n
    Partition type:
       p   primary (2 primary, 0 extended, 2 free)
       e   extended
    Select (default p): p
    Partition number (3,4, default 3): 3
    First sector (14678018-41943039, default 14680064): 14678018
    Last sector, +sectors or +size{K,M,G} (14678018-41943039, default 41943039): 25163778
    Partition 3 of type Linux and of size 5 GiB is set
    
    Command (m for help): n
    Partition type:
       p   primary (3 primary, 0 extended, 1 free)
       e   extended
    Select (default e): e
    Selected partition 4
    First sector (25163779-41943039, default 25165824): 25163779
    Last sector, +sectors or +size{K,M,G} (25163779-41943039, default 41943039): +
    Using default value 41943039
    Partition 4 of type Extended and of size 8 GiB is set
    
    Command (m for help): n
    All primary partitions are in use
    Adding logical partition 5
    First sector (25165827-41943039, default 25167872): 25165827
    Last sector, +sectors or +size{K,M,G} (25165827-41943039, default 41943039): 29360131
    Partition 5 of type Linux and of size 2 GiB is set
    
    Command (m for help): n
    All primary partitions are in use
    Adding logical partition 6
    First sector (29362180-41943039, default 29364224): 29362180
    Last sector, +sectors or +size{K,M,G} (29362180-41943039, default 41943039): 33554436
    Partition 6 of type Linux and of size 2 GiB is set
    
    Command (m for help): n
    All primary partitions are in use
    Adding logical partition 7
    First sector (33556485-41943039, default 33558528): 33556485
    Last sector, +sectors or +size{K,M,G} (33556485-41943039, default 41943039): +
    Using default value 41943039
    Partition 7 of type Linux and of size 4 GiB is set
    
    Command (m for help): p
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x0ab2846a
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048     6289408     3143680+  83  Linux
    /dev/sdb2         6289409    14678017     4194304+  83  Linux
    /dev/sdb3        14678018    25163778     5242880+  83  Linux
    /dev/sdb4        25163779    41943039     8389630+   5  Extended
    /dev/sdb5        25165827    29360131     2097152+  83  Linux
    /dev/sdb6        29362180    33554436     2096128+  83  Linux
    /dev/sdb7        33556485    41943039     4193277+  83  Linux
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    [root@controll ccx]# 
    

    分区完成以后 需要格式化后才能正常使用

    分完区以后的硬盘使用流程

    格式化硬盘(指定块大小等)

    • 输入mkfs. 然后tab就可以查看所有支持的类型:(也可以mkfs -t 类型,如mkfs -t xfs…,但建议使用mkfs.**)(-t是指定类型,但一般用mkfs.类型,不用-t指定)
      在这里插入图片描述
    • 定义成什么,直接mkfs.**即可,以xfs为例:mkfs.xfs -f /dev/sdb1 (-f 是强制转换,如果之前已经定义了一次,不输入-f就会报错):
      在这里插入图片描述
      • 不加-f再次定义报错:
        在这里插入图片描述
    • 可以自定义block(默认是4k)mkfs.xfs -f -b size=大小 设备名 ,即可:
      在这里插入图片描述
    • ext4定义block:mkfs.ext4 -b 大小 设备名 ,即可:
      在这里插入图片描述
      格式定义完以后磁盘分区就完成了。

    硬盘挂载(需格式化后)

    • 完成格式化要使用需要挂载呀? 挂载有2种:

      • 一种是临时挂载 mount 设备名 挂载文件(挂载文件可以mkdir新建到任何设备名中)
      • 第二种是永久挂载,把信息写进/etc/fstab中,永久挂载中有一栏需要知道 类型,类型查看有2种方法,第一种先临时挂载磁盘,然后df -Th即可, 第二种 直接blkid,后面有所有分区的类型:
        在这里插入图片描述
    • 如果/etc/fstab文件中类型错误会导致系统无法开机,如何识别是否正确写入,编辑完保存以后,mount -a如果磁盘能自动挂载便成功(如果使用的是网络设备挂载,建议用uuid的方式,因为网络设备有可能会发生磁盘的窜位,导致磁盘无法正常使用):
      在这里插入图片描述

    查看uuid的2种方式

    • 一种是blkid【查看所有分区的uid】
    • 另外一种是xfs_admin -u 设备名 【查看单独一个分区的uuid】

    修改uuid

    uuidgen 生成一个随机id,然后xfs_admin -U 新uuid 设备名即可:
    在这里插入图片描述
    分区已经创建好以后,查看文件系统的属性:xfs_info 挂载设备名

    展开全文
  • 在进行重装系统过程中,不少小伙伴遇到了这个问题,那就是装系统时出现获取硬盘分区失败,可能缺少硬盘驱动怎么办?下面小编给大家分享下具体的解决方法。 一:主启动引导不对 1、进BIOS修改启动模式,改UEFI启动...
  • DiskGenius是一款硬盘分区及数据恢复软件。它是在最初的DOS版的基础上开发而成的。Windows版本的DiskGenius软件,除了继承并增强了DOS版的大部分功能外(少部分没有实现的功能将会陆续加入),还增加了许多新的功能。...
  • 硬盘分区、挂载及Ubuntu系统安装

    万次阅读 多人点赞 2017-12-23 20:50:16
    Linux发行版按照打包方式划分主要包括Debian系(基于Dpkg)、Red Hat系(基于RPM)、Slackware系等,其中Debian系、Red Hat系是我们所常见的...本文介绍硬盘分区的基础知识、Linux系统的目录结构及与硬盘分区的挂载关系...
  • 文件系统以及硬盘分区概念

    千次阅读 2018-08-23 23:31:43
    文件系统和硬盘分区基本概念介绍 文件系统:是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。 从系统角度来看,文件...
  • 硬盘分区形式之MBR、GPT

    千次阅读 2020-01-19 16:48:41
    新买一块硬盘,设置分区时,系统会询问你是想要使用MBR分区形式还是GPT分区形式(有些硬盘出厂的时候就默认给你设定了分区形式)。MBR是以前的分区形式,GPT是一种新的分区形式,现在逐渐取代MBR分区形式。 GPT...
  • 硬盘分区MBR和GPT知识详解

    千次阅读 2019-09-20 10:18:40
    重装系统之前都会了解一些关于BIOS与EFI的知识,很多小伙伴了解之后都会问快启动小编,自己的电脑硬盘分区MBR和GPT选哪个好?其实这个问题得根据你的电脑配置以及需求来回答,所以今天快启动小编为大家分享相关知识点...
  • PQ硬盘分区魔术师 10.0绿色优化增强版 虽然大了点,但功能绝对是一流的! 即使你的分区是NTFS,也照样可以操作,不同于低版本的,会提示你无法识别硬盘!
  • 其中硬盘分区方式有2种,MBR分区方式和GPT分区方式,对应的硬盘格式是MBR格式和GUID格式。这里只说单一硬盘重装系统的情况,多硬盘就比较复杂了,不管是MBR分区方式还是GPT分区方式,都可以出现MBR格式与GUID格式的...
  • Ubuntu新硬盘分区并挂载

    千次阅读 2020-11-05 18:51:45
    查看系统里的硬盘分区情况: fdisk -lu 准备挂载这个硬盘,首先进行分区: fdisk /dev/sdb 输入n表示建立新的分区。 默认是p,表示主分区。e为扩展分区 Partition number(1-4)时,1表示只分一个区。 在Command ...
  • 硬盘分区最好几个比较合适

    千次阅读 2020-04-06 22:27:33
    通常我们购买电脑后都会有1-3个分区,有的是只有一个分区,有的是两个分区,最多的是三个分区,那么究竟分几个分区比较合适呢? 其实这个是要根据我们磁盘大小而定的,磁盘大小在128GB或者其下,建议是个分区或者...
  • ubuntu16.04查看硬盘分区使用情况

    千次阅读 2020-08-09 08:42:16
    现在我们就可以查看硬盘的使用情况了,右边会列出每个分区,点选后在底部会列出使用情况。 方法三: 1.打开文件管理,然后选择并打开要查看的分区。 2.在顶面直接鼠标右键“属性”。 3.在弹出的窗口中列出分区大小...
  • 上期说到了如何安装pe启动盘,这期就讲一下用pe工具给硬盘分区,pe里面用到的分区工具是DiskGenius,有硬盘分区,数据找回,数据迁移的实用功能,已经很多年的一款软件了,另外一般pe里面还会附带一款傲梅分区助手,...
  • Ubuntu硬盘分区、格式化、挂载

    千次阅读 2018-03-30 16:16:02
    转载自:...统的硬盘空间不够用了,需要增加新的硬盘扩容。将硬盘分区、格式化、自动挂载配置的整个过程记下来,备忘。 运行环境 | Enviroment Ubuntu 10.10 一、硬盘分区 | Hard di...
  • Linux硬盘分区方案与分区格式介绍

    千次阅读 2018-12-27 20:02:03
    Linux分区方案介绍 Linux至少有两个挂载点 “/” 及 “swap” 。 “/”(根分区) “swap”(交换分区,一般为内存的2倍) “/boot”(启动分区,一般为200M左右) “/var”(看服务器决定,一般存储日志文件等) ...
  • Windows--如何查看硬盘分区表类型

    万次阅读 2019-02-18 09:28:39
    如何查看硬盘分区表类型 1、什么是硬盘分区表 人们在使用电脑时,有时由于异常操作,有时由于病毒侵袭,会导致某个分区消失或硬盘无法启动。究其原因,就是硬盘分区表受损。硬盘分区表可以说是支持硬盘正常工作的...
  • Linux和Windows硬盘分区设置

    千次阅读 2018-05-02 09:45:10
    Linux和Windows硬盘分区设置 现在的Linux都带了图形界面的...
  • 硬盘分区表故障和丢失的原因

    千次阅读 2018-04-27 09:54:06
    开启计算机时无法进入Windows界面,甚至通过系统启动盘也无法正常识别硬盘,启动系统时往往会出现“Non-System disk or disk error,replace disk and press a key to reboot”(非系统盘或盘出错)、“Error ...
  • U教授硬盘分区工具选用的是DiskGenius硬盘分区工具,DiskGenius是最好的硬盘分区软件及硬盘数据恢复软件之一,集数据恢复、硬盘分区、系统备份还原等多种功能于一身的超级工具软件,是一个磁盘分区、管理、数据恢复...
  • 500G硬盘分区标准

    千次阅读 2019-07-29 17:48:34
    Linux操作系统安装硬盘分区,500G硬盘分区的规范(不采用LVM): /boot分区 300MB 称为启动分区,主要用于Linux系统启动时加载该分区的Linux内核文件、镜像文件,此分区大小不会增加、是固定的; Swap分区 512...
  • Red Hat Linux硬盘分区教程

    千次阅读 2020-11-27 22:43:37
    Red Hat Linux硬盘分区教程 1.给系统添加一块10G的硬盘 2.添加完后开启虚拟机 3.开机后建议创建一个快照,以免配置错误回复不了 4.使用fdisk -l查看系统上的所有硬盘 /dev/sdb 就是刚刚添加的那一块硬盘 5.使用...
  • 硬盘分区容量计算方法

    千次阅读 2019-06-18 18:59:10
    在实际操作中,大家是否遇到过这样一个问题,在对硬盘重新或者全新进行分区时,总得不到一个整数的硬盘容量。然而实际上我们在使用FDISK工具分区时并...硬盘分区的计算公式存在着一个误差.其实所得出的整数G并不是从...
  • Linux硬盘分区的过程

    千次阅读 2019-01-21 22:22:49
    先添加一个硬盘分区完干嘛呢! 格式化,为啥格式化,规定要放是什么东西,终于能放了,那就挂载吧!等等,你需要自动挂载的服务? 使用一个硬盘也不容易呀(菜鸟的咆哮)! 目录 分区 格式化 挂载 知识点...
  • 之前有好友建议我全部重装双系统,本身硬盘分区表与启动模式不太符合标准,所以怎么装引导都不会成功,干脆全部转为GPT+UEFI,从根源上解决。但我老想着保住我的win10,里面有两三百个G的资料,还有很多难装的编程...
  • LINUX硬盘分区查看、创建跟MBR

    千次阅读 2019-03-19 20:20:39
    3.硬盘分区 4.破坏MBR实例 1.Linux查看硬盘信息命令 [root@111 ~]# fdisk -l Disk /dev/sda: 53.7 GB, 53687091200 bytes------------硬盘的设备文件是以sd开头的,第一块是a,第二块是b...... 255 heads, 63...
  • Ubuntu18.04系统硬盘分区方法

    千次阅读 2020-05-31 11:09:24
    1 256GB的分区方法 图源自:https://blog.csdn.net/baidu_36602427/article/details/86548203 2 100G的分区方法 / 15GB /boot 1GB /home 25GB /tmp 10GB /usr 35GB /var 10GB ...
  • Win10系统硬盘分区简单教程

    千次阅读 2020-01-18 00:30:05
    Win10系统硬盘分区简单教程 前言 我之前买了一块台式机硬盘,自己稀里糊涂把它装到了电脑里,打开电脑发现这块硬盘没有显示出来。我还以为是买到了一块坏硬盘,于是我在网上找了一下原因,发现硬盘之所以没有显示是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 230,744
精华内容 92,297
关键字:

硬盘分区