1、磁盘
Disk,磁盘。
以下摘自微软
磁盘设备和分区 - Win32 apps | Microsoft Learn
硬盘由一组堆积的盘片组成,其中每个盘片的数据都以电磁方式存储在同心圆或 轨道中。 每个盘片都有两个头,一个在盘片的两侧,在磁盘旋转时读取或写入数据。 硬盘驱动器控制硬盘的定位、读取和写入。 请注意,所有盘片的头都定位为一个单元。
轨道的最小可寻址单元是 扇区。 圆柱体定义为显示在每个盘片上同一位置的轨道集。 例如,下图显示了一个包含四个盘片的硬盘。 圆柱 X 由 8 个轨道组成, (每个盘片) 两侧的 X 轨道。
相关概念 | 中文名称 |
Platter | 盘片 |
Cylinder | 柱面 |
Track | 轨道 |
Sector | 扇区 |
磁盘是物理概念的验证
方法一、性能监视器
Windows系统【性能监视器】中计数器PhysicalDisk计数器。例如:windows系统存在两个物理磁盘:磁盘0、磁盘1,如下图。
方法二、diskpart命令
2、Paritition
Partition,分区,逻辑磁盘。给硬盘分区,就是把一个物理磁盘分割为若干个逻辑磁盘。
注意:分区以柱面(Cylinder)为边界,所以分区后可能会存在一些轨道和扇区未使用。
摘自微软
硬盘可以包含一个或多个称为 分区的逻辑区域。 当用户将硬盘格式化为 基本磁盘时,将创建分区。 Windows 还支持 动态磁盘,本主题中未讨论这些磁盘。 有关基本磁盘和动态磁盘的详细信息,请参阅 基本磁盘和动态磁盘。
分区是逻辑概念的验证
方法一、性能监视器
Windows系统【性能监视器】中计数器LogicalDisk计数器。例如:windows系统存在若干逻辑磁盘,有盘符的逻辑磁盘,如:C:、D:;没有盘符的逻辑磁盘,如HarddiskVolume1,如下图。
方法二、diskpart命令
分区方式
MBR
MBR是传统格式的分区表,在硬盘容量越来越大的今天,MBR先天的一些不足,导致MBR分区表不能很好的管理大容量硬盘。
GPT
GPT是新一代格式的分区表,在很多方面,特别是在处理大容量硬盘方面,比MBR好很多。目前使用MBR分区表的硬盘,可能在数量上比使用GPT分区表的要多一些,但是看发展的趋势,使用GPT分区表的情况会越来越多。
分区类型
摘自微软
磁盘分区类型 (WinIoCtl.h) - Win32 apps | Microsoft Learn
常量/值 说明 PARTITION_ENTRY_UNUSED
0x00
未使用的条目分区。 PARTITION_EXTENDED
0x05
扩展分区。 PARTITION_FAT_12
0x01
FAT12 文件系统分区。 PARTITION_FAT_16
0x04
FAT16 文件系统分区。 PARTITION_FAT32
0x0B
FAT32 文件系统分区。 PARTITION_IFS
0x07
IFS 分区。 PARTITION_LDM
0x42
(LDM) 分区的逻辑磁盘管理器。 PARTITION_NTFT
0x80
NTFT 分区。 VALID_NTFT
0xC0
有效的 NTFT 分区。
分区类型代码的高位表示分区是 NTFT 镜像或条带数组的一部分。
下面代码里分区类型更多,维基百科有张表格找不到了。
wchar_t* CSectorData::TypeCodeToWstring(unsigned char nPartTypeCode)
{std::wstring type;switch (nPartTypeCode) {case 0x0: type = L"Free space"; break;case 0x1: type = L"FAT-12"; break;case 0x4: type = L"FAT-16B / FAT-16 / FAT-12"; break;case 0x5: type = L"Extended partition"; break;case 0x7: type = L"IFS, HPFS, NTFS, exFAT or other"; break;case 0xB: type = L"FAT-32"; break;case 0xC: type = L"FAT-32X (FAT-32 with LBA)"; break;case 0xF: type = L"Extended partition with LBA"; break;case 0x27: type = L"Hidden NTFS (system recovery partition)"; break;case 0x41: type = L"Old Linux / Minix, PPC PReP Boot"; break;case 0x42: type = L"Old Linux swap, SFS, Windows Dynamic Disk"; break;case 0x43: type = L"Old Linux"; break;case 0x63: type = L"UNIX"; break;case 0x82: type = L"Linux swap, Sun Solaris (old)"; break;case 0x83: type = L"Linux"; break;case 0x85: type = L"Linux extended"; break;case 0x93: type = L"Amoeba, hidden Linux"; break;case 0x94: type = L"Amoeba BBT"; break;case 0xA5: type = L"Hibernation partition"; break;case 0xB6: type = L"Mirror master - FAT-16 Windows NT partition";case 0xB7: type = L"Mirror master - NTFS/HPFS Windows NT partition";case 0xC2: type = L"Hidden Linux"; break;case 0xC3: type = L"Hidden Linux swap"; break;case 0xC6: type = L"Mirror slave - FAT-16 Windows NT partition"; break;case 0xC7: type = L"Mirror slave - NTFS Windows NT partition"; break;case 0xCD: type = L"Memory dump"; break;case 0xDA: type = L"Data, not fyle system"; break;case 0xDD: type = L"Hidden memory dump"; break;case 0xDE: type = L"Dell utility"; break;case 0xED: type = L"Hybrid GPT"; break;case 0xEE: type = L"GPT"; break;case 0xEF: type = L"System UEFI partition"; break;default: type = L"unknown";}size_t length = type.length();wchar_t* cType = new wchar_t[length + 1];type.copy(cType, length);cType[length] = L'\0';return cType;
}
3、Volume
Volume,卷。
以下摘自微软
卷管理 - Win32 apps | Microsoft Learn
文件系统中组织的最高级别是 卷。 文件系统驻留在卷上。 卷至少包含一个 分区,这是物理磁盘 (的逻辑划分,有关详细信息,请参阅 磁盘设备和分区) 。 包含存在于一个分区上的数据的卷称为 简单卷,包含多个分区上存在的数据的卷称为 多分区卷。
卷概念验证
方法、diskpart命令
参考
https://www.minitool.com/partition-disk/