【Windows系统】磁盘、Partition和Volume的联系与区别

news/2024/10/18 5:50:07/

1、磁盘

Disk,磁盘。

以下摘自微软

磁盘设备和分区 - Win32 apps | Microsoft Learn

硬盘由一组堆积的盘片组成,其中每个盘片的数据都以电磁方式存储在同心圆或 轨道中。 每个盘片都有两个头,一个在盘片的两侧,在磁盘旋转时读取或写入数据。 硬盘驱动器控制硬盘的定位、读取和写入。 请注意,所有盘片的头都定位为一个单元。

轨道的最小可寻址单元是 扇区。 圆柱体定义为显示在每个盘片上同一位置的轨道集。 例如,下图显示了一个包含四个盘片的硬盘。 圆柱 X 由 8 个轨道组成, (每个盘片) 两侧的 X 轨道。

相关概念中文名称
Platter盘片
Cylinder柱面
Track轨道
Sector扇区

分区表类型

MBR

MBR是传统格式的分区表,在硬盘容量越来越大的今天,MBR先天的一些不足,导致MBR分区表不能很好的管理大容量硬盘。

GPT

GPT是新一代格式的分区表,在很多方面,特别是在处理大容量硬盘方面,比MBR好很多。目前使用MBR分区表的硬盘,可能在数量上比使用GPT分区表的要多一些,但是看发展的趋势,使用GPT分区表的情况会越来越多。

磁盘是物理概念的验证

方法一、性能监视器

Windows系统【性能监视器】中计数器PhysicalDisk计数器。例如:windows系统存在两个物理磁盘:磁盘0、磁盘1,如下图。

方法二、diskpart命令

2、Paritition

Partition,分区,逻辑磁盘。给硬盘分区,就是把一个物理磁盘分割为若干个逻辑磁盘。

注意:分区以柱面(Cylinder)为边界,所以分区后可能会存在一些轨道和扇区未使用。

摘自微软

硬盘可以包含一个或多个称为 分区的逻辑区域。 当用户将硬盘格式化为 基本磁盘时,将创建分区。 Windows 还支持 动态磁盘,本主题中未讨论这些磁盘。 有关基本磁盘和动态磁盘的详细信息,请参阅 基本磁盘和动态磁盘。

分区是逻辑概念的验证

方法一、性能监视器

Windows系统【性能监视器】中计数器LogicalDisk计数器。例如:windows系统存在若干逻辑磁盘,有盘符的逻辑磁盘,如:C:、D:;没有盘符的逻辑磁盘,如HarddiskVolume1,如下图。

方法二、diskpart命令

分区类型

摘自微软

磁盘分区类型 (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/


http://www.ppmy.cn/news/1023608.html

相关文章

Javascript进阶[面向对象编程]

作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于海外某世界知名高校就读计算机相关专业。荣誉:阿里云博客专家认证、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。…

每日一学——IP地址和子网掩码

IP地址和子网掩码是网络中非常重要的概念。IP地址是用于标识和寻址网络中设备(如计算机、手机等)的唯一标识符。而子网掩码则用于划分网络中的子网。 IP地址是一个由32位二进制数组成的地址,通常以点分十进制的形式表示,如192.16…

ArcGIS Pro基础:【按顺序编号】工具实现属性字段的编号自动赋值

本次介绍一个字段的自动排序编号赋值工具,基于arcgis 的字段计算器工具也可以实现类似功能,但是需要自己写一段代码实现, 相对而言不是很方便。 如下所示,该工具就是【编辑】下的【属性】下的【按顺序编号】工具。 其操作方法是…

使用Java根据表名导出与导入Sql

前言 很粗糙啊,有很多可以优化的地方,而且也不安全,但是临时用还是OK的,我这个是公司里面的单机软件,不联网。 嗨!我是一名社交媒体增长黑客,很高兴能帮助您优化和丰富关于批量作业导出和导入…

【Essential C++课后练习】纯代码(更新中)

文章目录 第一章 C编程基础1.41.51.61.71.8 第二章 面向过程的编程风格2.12.22.32.42.52.6 第一章 C编程基础 1.4 /*********************************************************************说明:试着扩充这个程序的内容:(1)要求用户同时输…

Redis心跳检测

在命令传播阶段&#xff0c;从服务器默认会以每秒一次的频率&#xff0c;向主服务器发送命令&#xff1a; REPLCON FACK <rep1 ication_ offset>其中replication_offset是从服务器当前的复制偏移量。 发送REPLCONF ACK命令对于主从服务器有三个作用&#xff1a; 检测主…

机器学习笔记 - 基于C++的​​深度学习 二、实现卷积运算

一、卷积 卷积是信号处理领域的老朋友。最初的定义如下 在机器学习术语中: I(…)通常称为输入 K(…)作为内核,并且 F(…)作为给定K的I(x)的特征图。 虑多维离散域,我们可以将积分转换为以下求和 对于二维数字图像,我们可以将其重写为: <

机器学习笔记值优化算法(十四)梯度下降法在凸函数上的收敛性

机器学习笔记之优化算法——梯度下降法在凸函数上的收敛性 引言回顾&#xff1a;收敛速度&#xff1a;次线性收敛二次上界引理 梯度下降法在凸函数上的收敛性收敛性定理介绍证明过程 引言 本节将介绍梯度下降法在凸函数上的收敛性。 回顾&#xff1a; 收敛速度&#xff1a;次…