fdisk分区详解【适用于2T以内的新硬盘分区】

| /dev/sda2 | | 2099200 | 419430399 | 208665600 | 8e | Linux LVM | 198.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的方式,因为网络设备有可能会发生磁盘的窜位,导致磁盘无法正常使用):

总结:心得体会

既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。

学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。

面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。

最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。

大厂Java架构核心笔记(适合中高级程序员阅读):

了解详情https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB
如果使用的是网络设备挂载,建议用uuid的方式,因为网络设备有可能会发生磁盘的窜位,导致磁盘无法正常使用):

总结:心得体会

既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。

学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。

面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。

最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。

大厂Java架构核心笔记(适合中高级程序员阅读):

[外链图片转存中…(img-k3VNtzWZ-1724209316970)]

了解详情https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值