linux 从fdisk命令中能学到什么

分区机制

MBR:Master Boot Record,主引导记录

MBR 是传统的分区机制,应用于绝大多数使用 BIOS 引导的 PC 设备(苹果使用EFI的方式)

在这里插入图片描述

  • MBR 支持 32 位和 64 位的操作系统
  • MBR 支持4个主分区
    • 位于整个硬盘的0磁道0柱面1扇区,在512字节的主引导扇区中,MBR只占用了其中的446个字节,另外的64个字节交给了 DPT(Disk Partition Table硬盘分区表),最后两个字节“55,AA”是分区的结束标志。
    • 一个分区表信息占用16字节,64字节存储4个分区表信息
  • MBR 支持不超过 2T 的硬盘,超过 2T 的硬盘只能使用 2T 空间(有第三方解决办法)
    • 因为MBR的寻址空间只有 32 位
    • MBR分区表最大可寻址的存储空间只有2TB(2^32 * 512)

GPT:GUID Partition Table,即全局唯一标识分区表

是一个较新的分区机制,解决了 MBR 的很多缺点

在这里插入图片描述

  • GPT 支持超过 2T 的硬盘,分区大小支持到256TB
  • GPT 向后兼容 MBR
  • GPT 分区必须使用 64 位的系统
  • Mac、Linux 系统都支持 GPT 分区
  • 不区分主分区还是扩展分区,都是主分区,最大支持到128个分区

查看硬盘分区类型
在这里插入图片描述
使用命令工具

MBR:fdisk
默认一般格式都为dos,MBR

GPT:parted

MBR转换成GPT
在这里插入图片描述
总结:系统安装建议改为UEFI+GPT模式,系统引导跟着硬盘格式,相应的BIOS也需要更改,也就是UEFI+GPT模式和BIOS+MBR,如果只是用于文件存储是可以单独GPT格式

参考:UEFI+GPT与BIOS+MBR

BIOS和UEFI

作用都是把电脑主机的硬件工作起来,然后加载操作系统

两者在『引导』的方式,原理上的不同

  • 传统BIOS引导的是MBR分区表,读取分区表的主引导记录(0磁道,1扇区,前512字节,以55AA结束)
  • UEFI引导是启动到文件,读取第一个FAT分区(ESP分区)efi\boot\bootx64.efi 来引导系统

参考:https://www.zhihu.com/question/21672895

最小单位

硬盘最小单位:sectors(扇区)=每个扇区512byte

系统文件最小单位:block(块)=每个块4096byte,8个连续扇区组成(默认,可以根据需求更改)

在这里插入图片描述

文件系统不是一个扇区一个扇区的来读数据,太慢了,所以有了block(块)的概念,它是一个块一个块的读取的,block才是文件存取的最小单位。

MBR和GPT和LVM分区

MBR分2种类型

  • 主分区:4个主分区,只要主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序。
  • 扩展分区:扩展分区是不能使用的,它只是做为逻辑分区的容器存在的,先创建一个扩展分区,在扩展分区之上创建逻辑分区
    • 逻辑分区:真正存放数据的是主分区和逻辑分区,逻辑分区就可以创建很多个

GPT

  • 主分区:都是主分区

linux系统LVM分区

  • 它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性,创建、删除、扩容、缩小等操作

相关操作:https://blog.csdn.net/qq_27281257/article/details/81603410

存储单位

1000还是1024

  • 国际单位规定的换算关系是1G=1000M
  • 由于计算机的二进制特性,计算机的存储容量是2的整数次幂,用起来不方便。设计者发现210=1024与k=103接近,相差不过2%,于是为了当时的方便,简化了存储容量的计算方式,把存储容量中的1kB当成了1000B而不是1024B。但是操作系统坚持用2的整数次幂来标示存储容量。这就造成了我们看到的容量和厂家报的容量不一致的情况。

参考:https://www.zhihu.com/question/20255371/answer/14504214

命令解析

fdisk [选项] 改变分区表

fdisk [选项] –l 列出所有分区表

fdisk –s <partition(分区编号)> 以分区块为单位,给出指定分区的大小

**mbr分区**
 fdisk -l 

在这里插入图片描述
hd大多是IDE硬盘;sd大多是SCSI或移动存储:fd为软驱
sda sdb sdc sdd 代表几个硬盘,a b c d = 1 2 3 4 依次类推
引导(Boot):表示引导分区,在上面的例子中 sda1 是引导分区;
Start (开始):表示的一个分区从X cylinder(磁柱)开始;
End (结束):表示一个分区到 Y cylinder(磁柱)结束;
Blocks(容量):这个不是块的意思,表示的意思是容量,其单位是K;一个分区容量的值是由下面的公式而来的;
Blocks = (相应分区End数值 - 相应分区Start数值)x 单位cylinder(磁柱)的容量

fdisk /dev/sdd

新增分区
在这里插入图片描述
起始扇区位置是从2048开始的,为什么?
First Sector 表示起始扇区
默认从第2048块扇区开始是因为,由于EFI的兴起,要给EFI 代码留磁盘最开始的1M空间.
2048*512Byte = 1024 KByte = 1 MByte
上面提到的UEFI是EFI2.0版本,也就说这个空间1M没什么用处

其他就是正常的分区和分配大小
在这里插入图片描述
注意:Blocks为容量,单位K

GPT分区
fdisk /dev/sdc

在这里插入图片描述
看到分区类型只有一种,也默认会从2048扇区开始
在这里插入图片描述

硬盘硬件知识参考:点击访问

linux 硬盘分区格式化

分区创建后需要被格式化才能使用

文件系统类型

xfs、ext4、ext3、ext2

centos7.0开始默认文件系统是xfs,centos6是ext4,centos5是ext3
区别都是针对数据传输,安全、恢复等好处为中心进行升级文件系统

格式化
mkfs.xfs /dev/sdd1
mkfs.ext4 /dev/sdd1
查看当前分区格式
findmnt /dev/sdd1

查看空情况
1、分区未挂载使用
2、LVM分区
在这里插入图片描述

发布了37 篇原创文章 · 获赞 14 · 访问量 1368

猜你喜欢

转载自blog.csdn.net/yangshihuz/article/details/104069106
今日推荐