| /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÷扇区】
======================================================================
有2种分区方法,图形化和命令行(不建议用图形化分区)
点击菜单栏-工具-磁盘-点击新添加磁盘-设置中格式化
分区中-选择格式化为MBR格式还是GPT格式-选好后点击格式化即可;
命令格式化硬盘为gpt和mbr说明【了解就行】
- 格式化为gpt格式:
parted 硬盘设备名
(lsblk查看)mklabel
格式(gpt) , 会提示格式化后数据会丢失 输入yes即可:
- 如果不要提示 加上参数-s 即可:
- 取消之前格式化的格式: parted -s 硬盘设备名 mklabel loop:
- 如果要格式化大于2T的文件,参考文档:
- 格式化为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个主分区和若干逻辑分区,为了更直观看出,我没有用空格,注意看后面解释内容。
-
其实下面内容是我另外一个脚本中的部分摘抄罢了,更多的可以直接去看这篇博客哈:
[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