硬盘分区

磁盘包括硬盘和软盘,都由磁性材料制成。磁盘英文名disk,硬盘英文名hard disk。写这篇博客主要是因为最近在运行ceph的时候突然报错说是无效的GPT头结构,然后就查了下GPT分区和MBR分区,这里记录我学习到的东西,更多详细的内容前辈们都已经提到过不再赘述,引用中大家可以去看。

MBR分区和GPT分区简介

logo
我们从上图看到partition table是gpt,可以设置为msdos的。我之前ceph运行出错的原因就是分区表类型是msdos,然后我改成gpt就解决了问题。
我的理解是分区表类型代表硬盘是什么分区,msdos代表的是MBR分区,gpt代表的是GPT分区。传统的BIOS只支持MBR分区硬盘启动,一个硬盘只能分成四个分区,并且单个分区最大不超过2TB。EFI支持GPT分区启动的,GPT分区没有分区数目的限制并且单个分区可以超过2TB。

MBR分区和GPT分区的转换

比如硬盘/dev/sdb

转换成GPT

1
2
parted /dev/sdb
mklabel gpt

转换成MBR

1
2
parted /dev/sdb
mklabel msdos

fdisk, sgdisk和parted分区工具

fdisk(创建MBR分区)工具常用命令

显示所有硬盘分区情况

1
fdisk -l

显示具体单个硬盘分区情况

1
fdisk -l /dev/sdb

交互显示方便提示fdisk的所有命令如何使用

1
fdisk /dev/sdb

parted(实现分区类型转换)工具常用命令

进入parted交互

1
2
3
4
5
6
7
parted /dev/sdb
# 打印硬盘信息
print
# 搜索可用命令
help
# 设置分区类型
mklabel gpt

sgdisk(创建GPT分区)工具常用命令(引用自hustcat)

查看所有GPT分区

1
sgdisk -p /dev/sdb

logo

查看某个分区的详细信息

1
/usr/sbin/sgdisk --info=1 /dev/sdb

logo

最后再介绍两个命令:
查询每个分区挂载的目录

1
df

将/dev/sdb1分区格式化成ext4文件系统

1
mkfs -t ext4 /dev/sdb1

引用

计算机是如何启动的
The difference between booting MBR and GPT with GRUB
sgdisk常用操作