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

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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/67658.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea-常用插件汇总

idea-常用插件汇总 码云插件 这个插件是码云提供的ps-码云是国内的一款类似github的代码托管工具。 Lombok Lombok是一个通用Java类库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或setter等方法…

1. CUDA编程手册中文版---CUDA简介

1.CUDA简介 1.1 我们为什么要使用GPU 更多精彩内容,请扫描下方二维码或者访问https://developer.nvidia.com/zh-cn/developer-program 来加入NVIDIA开发者计划 GPU(Graphics Processing Unit)在相同的价格和功率范围内,比CPU提供…

【C++】多态的底层原理(虚函数表)

文章目录 前言一、虚函数表二、派生类中虚函数表1.原理2.例子: 三、虚函数的存放位置四 、单继承中的虚函数表五、多继承中的虚函数表六、问答题 前言 一、虚函数表 通过观察测试我们发现b对象是8bytes,除了_b成员,还多一个__vfptr放在对象的…

易服客工作室:7个优质WordPress LMS线上教育系统插件比较(优点和缺点)

您是否正在为您的 WordPress 网站寻找最好的 LMS 插件?在线学习管理系统 (LMS) 插件允许您使用 WordPress 创建和运行类似 Udemy 的在线课程。 一个完美的 WordPress LMS 插件包括管理在线课程内容、处理订阅、运行和评分测验、接受付款等功能。 在本文中&#xf…

lwip使用收发线程和不使用收发线程差异

使用收发线程的方式相对于不使用收发线程的方式,效率可能会稍低一些,这取决于具体的应用场景和实现方式。 lwIP(轻量级IP协议栈)是一个针对嵌入式系统的开源TCP/IP协议栈。它可以在单个线程中运行,也可以在多个线程中…

Golang bitset 基本使用

安装: go get github.com/bits-and-blooms/bitset下面代码把fmtx换成fmt就行 //------------基本操作------------//构建一个64bit长度的bitsetb : bitset.New(64)//放入一个数b.Set(10)fmtx.Println("add-10:", b.DumpAsBits()) // 0000000…

MyBatis查询数据库之三(#{}vs${},like查询,resultMap,as,多表查询)

目录 查询操作 1.单表查询 1.1 参数占位符#{}和${} 1.2 ${}的优点 1.3 sql注入问题 ​编辑 面试常问:${}与#{}的区别 1.4 like查询 2.多表查询 2.1 返回字典映射:resultMap 2.2 多表查询 (1)建立 Articalinfo 实体类&a…

Qt 使用QLabel的派生类实现QLabel的双击响应

1 介绍 在QLabel中没有双击等事件响应,需要构建其派生类,自定义信号(signals)、重载事件函数(event),最后在Qwidget中使用connect链接即可,进而实现响应功能。 对于其余没有需求事件响应的QObject同样适用。 此外,该功…

【OpenVINOSharp】 基于C#和OpenVINO2023.0部署Yolov8全系列模型

基于C#和OpenVINO2023.0部署Yolov8全系列模型 1 项目简介1.1 OpenVINOTM 2 OpenVinoSharp2.1 OpenVINOTM 2023.0安装配置2.2 C 动态链接库2.3 C#构建Core推理类2.4 NuGet安装OpenVinoSharp 3 获取和转换Yolov8模型3.1 安装ultralytics3.2 导出yolov8模型3.3 安装OpenVINOTM Pyt…

XXL-Job 具体通过docker 配置,再通过springboot执行注册实现完整流程

【2023】XXL-Job 具体通过docker 配置安装容器,再通过springboot执行注册实现 一、概述二、安装1、拉取镜像2、创建数据库3、创建容器并运行3、查看容器和日志4、打开网页 127.0.0.1:9051/xxl-job-admin/ 三、实现注册测试1、创建一个SpringBoot项目、添加依赖。2、…

python 基础

1.Python 1.1 环境搭建:官网下载python,编译器:pycharm或jupyter 1.2 变量 (1)语法:变量名变量 (2)标识符命名规则:由数字、字母、下划线组成;不能以数字…

ORACLE和MYSQL区别

1,Oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了。oracle要分页的话,要换成rownum。 2,oracle建表时,没有auto_increment,所有要想让表的一个字段自增&#xff0c…

Dockerfile 简单实战

将flask项目打包成镜像 1. 准备flask文件 创建 app.py 文件,内容如下 from flask import Flask app Flask(__name__)app.route(/) def hello_world():return Hello Worldif __name__ __main__:app.run(host0.0.0.0, port8000, debugTrue) 并开启外网访问&#xf…

【2.1】Java微服务: Nacos的使用

目录 Nacos介绍 Nacos安装 下载和安装 修改端口 启动 服务注册与发现 导入Nacos管理依赖 导入服务依赖 配置Nacos的服务地址 启动服务,查看已注册的服务 服务分级存储模型 分级存储模型介绍 具体结构 配置实例集群 同集群优先的负载均衡策略 服务权重配置…

电力系统电流三段式保护MATLAB仿真模型

整体模型如下: Matlab/Simulink搭建的电力系统电流保护模型采用辐射型单电源供电的运行方式 Ⅰ段保护的搭建 Ⅰ段保护为瞬时速断保护,根据Ⅰ段整定原则确定整定值。线路发生短路故障时,短路电流急剧增大;超过设置的整定值时&…

06微服务间的通信方式

一句话导读 微服务设计的一个挑战就是服务间的通信问题,服务间通信理论上可以归结为进程间通信,进程可以是同一个机器上的,也可以是不同机器的。服务可以使用同步请求响应机制通信,也可以使用异步的基于消息中间件间的通信机制。同…

栈和队列OJ题讲解

💓博主个人主页:不是笨小孩👀 ⏩专栏分类:数据结构与算法👀 刷题专栏👀 C语言👀 🚚代码仓库:笨小孩的代码库👀 ⏩社区:不是笨小孩👀 🌹欢迎大家三连关注&…

vue3多条件搜索功能

搜索功能在后台管理页面中非常常见&#xff0c;本篇就着重讲一下vue3-admin-element框架中如何实现一个顶部多条件搜索功能 一、首先需要在vue页面的<template></template>中写入对应的结构 <!-- 搜索 --><div style"display: flex; justify-content…

【大数据】Flink 从入门到实践(一):初步介绍

Flink 从入门到实践&#xff08;一&#xff09;&#xff1a;初步介绍 Apache Flink 是一个框架和分布式处理引擎&#xff0c;用于在 无边界 和 有边界 数据流上进行 有状态 的计算。Flink 能在所有常见集群环境中运行&#xff0c;并能以内存速度和任意规模进行计算。 1.架构 1…

[mongo]应用场景及选型

应用场景及选型 MongoDB 数据库定位 OLTP 数据库横向扩展能力&#xff0c;数据量或并发量增加时候架构可以自动扩展灵活模型&#xff0c;适合迭代开发&#xff0c;数据模型多变场景JSON 数据结构&#xff0c;适合微服务/REST API基于功能选择 MongoDB 关系型数据库迁移 从基…