磁盘管理

了解

  1. 专业名词概览

MBR分区,全称"Master Boot Record",中文名称"主引导记录"。 BIOS,全称"Basic Input Output System",中文名称"基本输入输出系统"。 Legacy BIOS,顾名思义就是指传统的BIOS。 UEFI BIOS,是新型的BIOS,其中UEFI全称"Unified Extensible Firmware Interface",中文名称"统一的可扩展固件接口"。


  1. 磁盘分区格式:MBR分区和GPT分区 2.1 简介 MBR分区是和Legacy BIOS一起搭配的。GPT分区是搭配UEFI BIOS的。 UEFI BIOS用于取代老旧的Legacy BIOS,而GPT则取代老旧的MBR。

2.2 区别 MBR分区:最大支持2TB磁盘,最多4个主分区,理论支持安装windows所有版本的系统。

3.启动引导模式:Legacy BIOS和UEFI BIOS

Legacy BIOS的启动过程

UEFI BIOS的启动过程

##

1.linux主机必要创建 /分区 swap分区

2.创建多分区取决于用户需求:应用层 数据文件设备存放创建多个分区

文件系统(格式化类型)层

1.MBR分区

MBR(Master Boot Record,主引导记录)是传统的分区机制,使用BIOS引导的PC设备,寻址空间只有32bit长,最大支持2.19TB 支持的分区数量:4个主分区或3个主分区1个扩展分区

2.为什么MBR最多只能有4个主分区?

原因:分区表占据64个字节,可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节;

3.MBR分区类型

1>主分区(primary partition) 扩展分区 逻辑分区

一块硬盘最多4个主分区,主分区不可以再进行二次分区。可以用来引导、启动操作系统 ,同时,主分区可以直接建立文件系统,如windows的NTFS,存放数据。

2>扩展分区(extended partition)

一块硬盘最多一个,加主分区最多4个,不能创建文件系统,可以划分逻辑分区。

3>逻辑分区(logical partition)

可以创建文件系统,存放数据,同时,逻辑分区的数量没有限制。

4.磁盘分区过程

(1)分区条件

判断磁盘是否有剩余可操作空间和四个主分区区是否全部使用


[root@www ~]# lsblk     列出块设备 NAME       MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0         11:0   1 10.2G 0 rom /run/media/root/RHEL-8-5-0-BaseOS-x nvme0n1     259:0   0   20G 0 disk ├─nvme0n1p1 259:1   0   2G 0 part /boot ├─nvme0n1p2 259:2   0 17.6G 0 part / └─nvme0n1p3 259:3   0 479M 0 part [SWAP]


创建分区需要再次添加一块硬盘(关机--添加新的磁盘设备)


root@www ~]# lsblk NAME       MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0         11:0   1 10.2G 0 rom /run/media/root/RHEL-8-5-0-BaseOS-x nvme0n1     259:0   0   20G 0 disk ├─nvme0n1p1 259:1   0   2G 0 part /boot ├─nvme0n1p2 259:2   0 17.6G 0 part / └─nvme0n1p3 259:3   0 479M 0 part [SWAP] nvme0n2     259:4   0   10G 0 disk       新加的磁盘


(2)创建分区(创建一个主分区和一个逻辑分区)


#fdisk  /dev/nvme0n2
Command (m for help): n                     
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p):   回车

Using default response p.
Partition number (1-4, default 1):    回车
First sector (2048-20971519, default 2048):   回车
Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): +2G

Created a new partition 1 of type 'Linux' and of size 2 GiB.
Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): e
Partition number (2-4, default 2): 
First sector (4196352-20971519, default 4196352): 
Last sector, +sectors or +size{K,M,G,T,P} (4196352-20971519, default 20971519): +4G

Created a new partition 2 of type 'Extended' and of size 4 GiB.

Command (m for help): n
Partition type
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l

Adding logical partition 5
First sector (4198400-12584959, default 4198400): 
Last sector, +sectors or +size{K,M,G,T,P} (4198400-12584959, default 12584959): 

Created a new partition 5 of type 'Linux' and of size 4 GiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.


(3)指定文件系统类型(格式化)


[root@www ~]# mkfs+
mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs
mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat    
[root@www ~]# mkfs.xfs /dev/nvme0n2p1
meta-data=/dev/nvme0n2p1         isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=524288, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@www ~]# mkfs.xfs /dev/nvme0n2p5
meta-data=/dev/nvme0n2p5         isize=512    agcount=4, agsize=262080 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=1048320, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


(4)使用挂载


[root@www ~]# mkdir /p1 /p5
[root@www ~]# mount /dev/nvme0n2p1 /p1
[root@www ~]# mount /dev/nvme0n2p5 /p5


(5)删除分区

取消挂载

格式化(mkfs.xfs 分区名称)

磁盘管理工具删除分区 fdisk /dev/nvme0n2