C C++最全红帽RHCE之超级详细的磁盘分区方案_redhat磁盘分区(1),30岁转行程序员

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

MBR分区

(master boot record,主引导记录)

  • MBR分区方案在BIOS固件的系统上最多支持4个主分区或3个主分区加一个扩展分区(primary partition),通过扩展分区(extended partiton)和逻辑分区(logical partition),最多创建 15 个分区。
  • 由于分区大小数据以32位值存储,使用MBR分区方案时,最大磁盘和分区大小为
    2TiB(单个分区最大 2TiB)。
    在这里插入图片描述缺点:现在单个磁盘容量大幅度增大,传统的MBR分区已经渐渐被新型GPT分区取代
GPT分区

(GUID partition table,GUID分区表)

  • 源自EFI标准的一种较新的磁盘分区表结构的标准,突破MBR 4个主分区限制。
  • 每个磁盘最多支持128个分区。支持大于2T的分区,最大磁盘和分区大小为
    18EB。

在这里插入图片描述
PS:fdisk只能用于MBR分区,gdisk用于GPT分区,parted可以用于GPT和MBR分区。

2、磁盘分区工具:parted、fdisk、gdisk

2.1.parted的使用 (MBR分区/GPT分区)
2.1.1 MBR方式分区(交互式/命令分区)

交互式分区命令步骤:

lsblk                  #查看磁盘块设备
parted /dev/vdb print  #打印/dev/vdb磁盘概要信息,(刚开始磁盘是没有标签的,打上什么标签就用什么分区方案
parted /dev/vdb        #对/dev/vdb磁盘进行分区
mklabel msdos          #设置磁盘标签也是设置分区方案的标识;(msdos是MBR的分区方案,gpt是gpt的分区方案)
print                  #再次查看磁盘概要信息,查看标签是否写入
mkpart                 #创建分区
primary                #选择主分区
ext4                   #选择文件系统(并不是真的创建文件系统,而是占位符的作用,所以可以随便输入文件系统)
2048s                  #起始扇区对于大多数磁盘而言,起始扇区为 2048 的倍数较为安全。(第二次分区的起始扇区为501M)
500M                   #结束扇区,分配500M容量给此分区。
qu                     #退出parted
udevadm settle         #等待系统检测新分区并在/dev目录下创建关联的设备文件(同步)
lsblk                  #查看磁盘块设备
mkfs.ext4 /dev/vdb1    #设置/dev/vdb1的文件系统(具有格式化的作用)
blkid                  #查看分区文件系统信息以及UID
fdisk -l               #查看磁盘分区情况

命令行分区: parted /dev/vdb mkpart primary ext4 2048s 500M

交互式分区详情:

[root@boyu ~]# lsblk #查看磁盘块设备
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 159.1M  0 rom  
vda    253:0    0    50G  0 disk 
└─vda1 253:1    0    50G  0 part /
vdb    253:16   0    10G  0 disk 

[root@boyu ~]# parted /dev/vdb print #打印/dev/vdb磁盘概要信息,(刚开始磁盘是没有标签的,打上什么标签就用什么分区方案
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: loop          #此时磁盘还没有标签,需要打上msdos或gpt否则会报错从而不能进行分区
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0.00B  10.7GB  10.7GB  ext4

[root@boyu ~]# parted /dev/vdb #对/dev/vdb磁盘进行分区
GNU Parted 3.1
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel msdos              #设置磁盘标签也是设置分区方案的标识;(msdos是MBR的分区方案,gpt是gpt的分区方案) 
Warning: The existing disk label on /dev/vdb will be destroyed and all data on this disk will
be lost. Do you want to continue?
Yes/No? yes                                                                   
(parted) print                      #再次查看磁盘概要信息,查看标签是否写入 
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start  End  Size  Type  File system  Flags

(parted) mkpart             #创建分区 
Partition type?  primary/extended? primary      #选择主分区 
File system type?  [ext2]? ext4                 #选择文件系统(并不是真的创建文件系统,而是占位符的作用,所以可以随便输入文件系统) 
Start? 2048s                                    #起始扇区对于大多数磁盘而言,起始扇区为 2048 的倍数较为安全。(第二次分区的起始扇区为501M) 
End? 500M                                       #结束扇区,分配500M容量给此分区。 
(parted) qu                                     #退出parted
Information: You may need to update /etc/fstab.

[root@boyu ~]# udevadm settle #等待系统检测新分区并在/dev目录下创建关联的设备文件(同步) 
[root@boyu ~]# lsblk #查看磁盘块设备
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 159.1M  0 rom  
vda    253:0    0    50G  0 disk 
└─vda1 253:1    0    50G  0 part /
vdb    253:16   0    10G  0 disk 
└─vdb1 253:17   0   476M  0 part 
[root@boyu ~]# mkfs.ext4 /dev/vdb1 #设置/dev/vdb1的文件系统(具有格式化的作用)
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
121920 inodes, 487424 blocks
24371 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=34078720
60 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done 

[root@boyu ~]# blkid #查看分区文件系统信息以及UID
/dev/sr0: UUID="2022-04-01-19-16-54-00" LABEL="config-2" TYPE="iso9660" 
/dev/vda1: UUID="4b499d76-769a-40a0-93dc-4a31a59add28" TYPE="ext4" 
/dev/vdb1: UUID="42881dce-ab60-4bd7-ae62-6c4837203e64" TYPE="ext4" 
[root@boyu ~]# fdisk -l #查看磁盘分区情况

Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 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: 0x0009ac89

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048   104857566    52427759+  83  Linux

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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: 0x00042bf5

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      976895      487424   83  Linux


2.1.2 GPT方式分区(交互式/命令分区)

交互式分区命令步骤:

lsblk                  #查看磁盘块设备
parted /dev/vdb print  #打印/dev/vdb磁盘概要信息,(刚开始磁盘是没有标签的,打上什么标签就用什么分区方案
parted /dev/vdb        #对/dev/vdb磁盘进行分区
mklabel gpt            #设置磁盘标签也是设置分区方案的标识;(msdos是MBR的分区方案,gpt是gpt的分区方案)
print                  #再次查看磁盘概要信息,查看标签是否写入
mkpart                 #创建分区
data1                  #分区名称
ext4                   #选择文件系统(并不是真的创建文件系统,而是占位符的作用,所以可以随便输入文件系统)
2048s                  #起始扇区对于大多数磁盘而言,起始扇区为 2048 的倍数较为安全。(第二次分区的起始扇区为601M)
600M                   #结束扇区,分配600M容量给此分区。
qu                     #退出parted
udevadm settle         #等待系统检测新分区并在/dev目录下创建关联的设备文件(同步)
lsblk                  #查看磁盘块设备
mkfs.ext4 /dev/vdb1    #设置/dev/vdb1的文件系统(具有格式化的作用)
blkid                  #查看分区文件系统信息以及UID
fdisk -l               #查看磁盘分区情况

命令行分区: parted /dev/vdb mkpart data1 ext4 2048s 600M
交互式分区详解:

[root@boyu ~]# lsblk #查看磁盘块设备
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 159.1M  0 rom  
vda    253:0    0    50G  0 disk 
└─vda1 253:1    0    50G  0 part /
vdb    253:16   0    10G  0 disk 

[root@boyu ~]# parted /dev/vdb print #打印/dev/vdb磁盘概要信息,(刚开始磁盘是没有标签的,打上什么标签就用什么分区方案
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: loop                 #此时磁盘还没有标签,需要打上msdos或gpt否则会报错从而不能进行分区
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0.00B  10.7GB  10.7GB  ext4

[root@boyu ~]# parted /dev/vdb #对/dev/vdb磁盘进行分区
GNU Parted 3.1
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt                                    
Warning: The existing disk label on /dev/vdb will be destroyed and all data on this disk will
be lost. Do you want to continue?
Yes/No? yes                                                               
(parted) print                #再次查看磁盘概要信息,查看标签是否写入 
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt         #设置磁盘标签也是设置分区方案的标识;(msdos是MBR的分区方案,gpt是gpt的分区方案) 
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags

(parted) mkpart             #创建分区 
Partition name?  []? data1      #分区名称 
File system type?  [ext2]? ext4     #选择文件系统(并不是真的创建文件系统,而是占位符的作用,所以可以随便输入文件系统) 
Start? 2048s              #起始扇区对于大多数磁盘而言,起始扇区为 2048 的倍数较为安全。(第二次分区的起始扇区为601M 
End? 600M                 #结束扇区,分配600M容量给此分区。
(parted) qu               #退出parted
Information: You may need to update /etc/fstab.

[root@boyu ~]# udevadm settle #等待系统检测新分区并在/dev目录下创建关联的设备文件(同步) 
[root@boyu ~]# lsblk #查看磁盘块设备
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 159.1M  0 rom  
vda    253:0    0    50G  0 disk 
└─vda1 253:1    0    50G  0 part /
vdb    253:16   0    10G  0 disk 
└─vdb1 253:17   0   571M  0 part 
[root@boyu ~]# mkfs.ext4 /dev/vdb1 #设置/dev/vdb1的文件系统(具有格式化的作用)
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
36560 inodes, 146176 blocks
7308 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=150994944
5 block groups
32768 blocks per group, 32768 fragments per group
7312 inodes per group
Superblock backups stored on blocks: 
	32768, 98304

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

[root@boyu ~]# blkid #查看分区文件系统信息以及UID
/dev/sr0: UUID="2022-04-01-19-16-54-00" LABEL="config-2" TYPE="iso9660" 
/dev/vda1: UUID="4b499d76-769a-40a0-93dc-4a31a59add28" TYPE="ext4" 
/dev/vdb1: UUID="1a256214-2a01-4935-a26e-5fe36223455c" TYPE="ext4" PARTLABEL="data1" PARTUUID="8b155f85-2d4e-43a7-8494-31db6bd986d4" 
[root@boyu ~]# fdisk -l #查看磁盘分区情况

Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 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: 0x0009ac89

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048   104857566    52427759+  83  Linux
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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: gpt
Disk identifier: 3F23313C-76B0-4AD1-B81B-CE3D3CE46FCD


# Start End Size Type Name
 1         2048      1171455    571M  Microsoft basic data1


2.2.fdisk的使用(MBR分区)
lsblk                    #查看磁盘块设备
fdisk /dev/vdb           #使用fdisk对/dev/vdb分区
partprobe /dev/vdb1      #将划分的分区从内存同步到磁盘
lsblk                    #查看磁盘块设备
mkfs.ext4 /dev/vdb1      #设置/dev/vdb1的文件系统(也相当于格式化分区)
blkid                    #查看分区文件系统信息
fdisk -l                 #查看磁盘分区情况

[root@boyu ~]# lsblk #查看磁盘块设备
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 159.1M  0 rom  
vda    253:0    0    50G  0 disk 
└─vda1 253:1    0    50G  0 part /
vdb    253:16   0    10G  0 disk 

[root@boyu ~]# fdisk /dev/vdb #使用fdisk对/dev/vdb分区
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.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x7f5667a2.

Command (m for help): n             #创建分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p               #创建主分区(p:主分区,e:扩展分区)
Partition number (1-4, default 1): 1   #主分区序号
First sector (2048-20971519, default 2048):    #最开始的扇区,直接回车,默认值是2048开始
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +1G  #最后的扇区,输入想分区的容量,默认是最大容量
Partition 1 of type Linux and of size 1 GiB is set

Command (m for help): p         #查看分区表,可以看到目前的分区信息 

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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: 0x7f5667a2

Device Boot          Start      End       Blocks   Id  System
/dev/vdb1            2048     2099199     1048576   83  Linux

Command (m for help): w      #保存分区信息
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

[root@boyu ~]# partprobe /dev/vdb1 #将划分的分区从内存同步到磁盘

[root@boyu ~]# lsblk #查看磁盘块设备
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 159.1M  0 rom  
vda    253:0    0    50G  0 disk 
└─vda1 253:1    0    50G  0 part /
vdb    253:16   0    10G  0 disk 
└─vdb1 253:17   0     1G  0 part 


[root@boyu ~]# mkfs.ext4 /dev/vdb1 #设置/dev/vdb1的文件系统
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done


[root@boyu ~]# blkid #查看分区文件系统信息
/dev/sr0: UUID="2022-04-01-19-16-54-00" LABEL="config-2" TYPE="iso9660" 
/dev/vda1: UUID="4b499d76-769a-40a0-93dc-4a31a59add28" TYPE="ext4" 
/dev/vdb1: UUID="ed825353-5d70-4e29-a442-e675ee553406" TYPE="ext4" 


[root@boyu ~]# fdisk -l #查看磁盘分区情况

Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 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: 0x0009ac89

Device Boot          Start     End        Blocks    Id  System
/dev/vda1   *        2048   104857566    52427759+  83  Linux

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes


![img](https://img-blog.csdnimg.cn/img_convert/6f33129198c888f0f747e5c63bd77c93.png)
![img](https://img-blog.csdnimg.cn/img_convert/07ea1132823cf68b731f664411a9536f.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

3  Linux

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes


[外链图片转存中...(img-huKW2xu0-1715709235090)]
[外链图片转存中...(img-PJkZtOge-1715709235091)]

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值