首先要认识磁盘组成,了解柱面、扇区、磁道等概念等,这部分内容可以自行查资料。
磁盘接口类型
磁盘的接口类型是指连接磁盘与计算机之间的接口标准,早期的接口标准有 IDE
、ATA
等。目前比较常见的有:
SATA(Serial ATA):SATA是一种串行ATA接口标准,用于连接机械硬盘(HDD)和固态硬盘(SSD)等存储设备。SATA接口速度较快,支持热插拔和热替换,是当前最常用的磁盘接口类型。
USB(Universal Serial Bus):USB是一种通用的串行接口标准,用于连接各种外部设备,包括磁盘驱动器。USB接口普及广泛,方便携带和使用,但速度较慢,适用于一般的存储需求。
PCIe(Peripheral Component Interconnect Express):PCIe是一种高速串行接口标准,主要用于连接固态硬盘(SSD)和其他高性能存储设备。PCIe接口速度非常快,支持多通道和多设备连接,适用于高性能计算和数据中心应用。
SAS(Serial Attached SCSI):SAS是一种串行SCSI接口标准,主要用于连接高性能服务器和存储设备。SAS接口速度较快,支持高速数据传输和多设备连接,适用于高性能存储和企业级应用。
SCSI(Small Computer System Interface)是一种高性能的并行接口标准,用于连接计算机与外部存储设备(如硬盘、光驱、磁带机等)之间的数据传输。SCSI接口广泛应用于服务器、工作站、存储系统等高性能计算和专业存储领域。
在Linux 中,除了早期的 IDE
、ATA
接口的磁盘会被识别成类似 /dev/hda
、/dev/hdb
的设备名外,其它的一般会被识别成类似 /dev/sdX
这样的分区名,其中 "X" 为字母 "a"、"b" 、"c" 等,比如:第一块磁盘识别为 /dev/sda
,第二块识别成 /dev/sdb
。
查看磁盘的命令一般有:
lsblk
命令:lsblk
命令可以显示当前系统中的所有块设备(包括硬盘、分区和其他块设备),并以树状结构的方式展示。fdisk
命令:fdisk
命令是一个常用的磁盘分区工具,可以使用fdisk -l
来查看硬盘数量。blkid
命令:在Linux和UNIX系统中用于查找和显示块设备(例如磁盘分区或存储设备)的文件系统类型和属性的命令。可以用来识别块设备的文件系统类型,例如ext4、NTFS、FAT32等,并显示与该文件系统相关的属性,如UUID(Universally Unique Identifier,通用唯一标识符)、LABEL(卷标)、TYPE(文件系统类型)、PARTLABEL(分区卷标)、PARTUUID(分区UUID)等。
我们对磁盘的管理一般会涉及到以下几个层面:认识磁盘、磁盘阵列和Lvm
、分区、格式化、挂载。
DOS分区表和GPT分区表
DOS分区表(DOS Partition Table):DOS分区表是一种旧的磁盘分区表格式,最初由MS-DOS和Windows等操作系统使用。它是一种基于主引导扇区(Master Boot Sector,MBR)的磁盘分区表格式,通常使用512字节的主引导扇区中的64字节来存储分区表信息。DOS分区表最多支持4个主分区或者3个主分区和1个扩展分区。它只能用于小于2T的硬盘。
GPT分区表(GUID Partition Table):GPT分区表是一种较新的磁盘分区表格式,引入了全局唯一标识符(GUID)作为分区标识,支持更大的磁盘容量和更多的分区。GPT分区表通常使用更大的分区表头(Partition Table Header)和分区表条目(Partition Table Entry)来存储分区信息,支持最多128个分区。GPT分区表不仅可以在传统BIOS系统上使用,还可以在新的UEFI固件系统上使用。
查看分区表可以使用命令
方式1:
fdisk -l /dev/sda
如果看到:"Disklabel type: gpt",表示该磁盘是 GPT 分区表。
如果看到 "Disklabel type: dos",则表示该磁盘是 DOS 分区表
方式2:
parted /dev/sdb
在 parted
提示符下,输入 print
命令,可以查看磁盘的分区表信息:
如果看到 "Partition Table: gpt",则表示该磁盘是 GPT 分区表;如果看到 "Partition Table: msdos",则表示该磁盘是 DOS 分区表。
修改分区表
修改分区表,会将磁盘上的数据全部删除,因此需要提前备份重要数据。
使用命令:
# /dev/sdb 表示第二块磁盘,这个地方要改成自己的 parted /dev/sdb
将磁盘改成GPT分区表:
在 "parted
" 命令行界面,输入 "mklabel gpt
" 指令,然后按回车键,输入yes
,就可以将磁盘分区表转换为 “GPT
分区表”。
将磁盘改成DOS分区表:
在 "parted
" 命令行界面,输入 "mklabel msdos
" 指令,然后按回车键,输入yes
,将磁盘分区表转换为 “DOS
分区表”。