基于FATFS的磁盘分布
1.前言
本文主要采用FAT32文件系统的磁盘各个部分是如何划分的
2. 磁盘分布总图
如包含两个分区的磁盘整体分布如下:
图 带有两个分区的磁盘分布
2.1 MBR
图 MBR的高层视图
主引导记录 ( MBR)位于设备物理起始位置上的一个或多个扇区。
1. MBR 的引导区包含 DOS引导加载程序代码,该代码会在设备格式化后被写入 (否则不会被动态 C FAT 文件系统所使用)。
2. 引导区之后是分区表。分区表中含有四个 16 字节的条目,允许设备划分多达四个分区。
分区表条目中含有一些关键信息:分区类型 (动态 C FAT 可识别 FAT12 和 FAT16 的分区类型)以及分区的起始与结束扇区号。
另外还有一个字段指明分区中的扇区总数。如果该数字为零,则对应的分区是空的可用分区
2. 2 FAT分区
FAT分区主要包含如下几部分信息:
1. BPB 参数块
BPB 中的字段包含该分区的描述信息:
• 每个扇区的字节数;
• 每个簇的扇区数;
• 该分区的扇区总数;
• 根目录下的条目数。
2. FAT 分配表
文件分配表是一种结构,也是 FAT 文件系统的命名由来。 FAT 中保存了关于簇的分配信息。
一个簇既可以分配给一个文件,也可以使用,还可以标记为坏簇。 FAT 分配表的副本会紧跟
着第一个 FAT 分配表存放。
3.根目录
根目录具有预定义的位置及大小。根目录有 512 个条目,每个条目 32 字节。根目录中的条目
既可以是空条目,也可以包含文件或子目录名称(以 8.3 格式)、文件大小、上一次修改的日
期时间以及文件或子目录的起始簇号。
4.数据区
数据区占据了分区中的大部分空间。其中包含文件数据与子目录。请注意,按照惯例,分区
的数据区必须从第 2 簇开始。欲了解更多信息,请参考 Microsoft® EFI FAT32 文件系统规范
3.参考文献
[1] 在 STM32Cube 上开发 FatFs 相关应用.pdf
基于FATFS的磁盘分布的更多相关文章
- centos7基于luks对磁盘进行加密
centos7基于luks对磁盘进行加密 1,504 views A+ 所属分类:linux 收 藏 LUKS(Linux Unified Key Setup)为Linux硬盘加密提供了一种标准,它 ...
- 基于 Azure 托管磁盘配置高可用共享文件系统
背景介绍 在当下,共享这个概念融入到了人们的生活中,共享单车,共享宝马,共享床铺等等.其实在 IT 界,共享这个概念很早就出现了,通过 SMB 协议的 Windows 共享目录,NFS 协议的网络文件 ...
- Linux_磁盘分布_以及分区
运用 Xshell 工具链接到你的服务器 1. Fdisk -l 这是查看磁盘挂载列表情况 2. Fdisk /dev/vdc 这是分区这个磁盘 m 是查看信息 ...
- Centos6.5基于GPT格式磁盘分区
1.查看分区 fdisk -l 2.设置分区类型未gpt格式. parted -s /dev/sdb mklabel gpt 3.基于ext3文件系统类型格式化. mkfs.ext3 /dev/sdb ...
- 基于LVM 测试磁盘写性能.md
准备工作 /dev/sdb 创建一个卷组,基于卷组创建5个逻辑卷,各100G 在10.10.88.214 新建5台虚拟机,每台虚拟机用到lvm建的逻辑卷 dd 压测 在每台虚拟机上执行dd 命令: d ...
- 基于“均态分布”随机数算法的一次性口令OneTimePassword(原创)
/* 所谓均态分布随机数算法是指:每个数(整数或实数)无序地分布在数轴上,值只出现一次永不重复.体现了香农的一次一密理论. * 均体现在每个数的值是平均概率,即都有出现:态体现在每个数在数轴上的位置是 ...
- 带你深入了解Web站点数据库的分布存储
作者:finalbsd原载: http://www.sanotes.net/html/y2009/358.html 在Web 2.0时代,网站将会经常面临着快速增加的访问量,但是我们的应用如何满足用户 ...
- 基于.NET CORE微服务框架 -surging的介绍和简单示例 (开源)
一.前言 至今为止编程开发已经11个年头,从 VB6.0,ASP时代到ASP.NET再到MVC, 从中见证了.NET技术发展,从无畏无知的懵懂少年,到现在的中年大叔,从中的酸甜苦辣也只有本人自知.随着 ...
- FC磁盘设备管理
本文转自:http://www.cactifans.org/linux/1071.html 转自EMC中文支持论坛 – https://community.emc.com/go/chinese 介 ...
随机推荐
- 2017-12-15python全栈9期第二天第五节之while else的用法二当不被break打断时else内容的结果会被打印
#!/user/bin/python# -*- coding:utf-8 -*-count = 0while count <=5 : count += 1 if count == 3 : pas ...
- 网速测试脚本speedtest_cli的安装与使用
speedtest_cli的安装与使用 1.下载 wget https://raw.github.com/sivel/speedtest-cli/master/speedtest.py 图 1 2.授 ...
- ansible基础-playbook剧本的使用
ansible基础-playbook剧本的使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.YAML概述 1>.YAML的诞生 YAML是一个可读性高,用来表达数据序 ...
- 运维监控-基于yum的方式部署Zabbix Server 4.0 版本
运维监控-基于yum的方式部署Zabbix Server 4.0 版本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.如何选择zabbix版本 1>.打开zabbix官方 ...
- namenode format
https://community.hortonworks.com/content/supportkb/48981/how-to-recover-namenode-ha-when-one-accide ...
- Mybatis笔记三:全局配置文件
目录 配置文件 dtd提示 properties标签(不怎么用) typeAliases 自动把下划线换成驼峰命名 配置文件 看着这个配置文件,我们将对这个配置文件进行细致的讲解 <?xml v ...
- Dubbo服务启动脚本
## /usr/wangfajun/service/user #!/bin/sh ## java env export JAVA_HOME=/usr/java/jdk1..0_79 export JR ...
- ruby----controller中简单的增删改 方法定义
class WorkProsController < ApplicationController before_action :set_work, only: [:show, :edit, :u ...
- 立个Flag不学好PHP誓不罢休
3年前从部队退伍退伍回来,就莫名其秒的爱上的编程,复学期间我几乎忘记了本专业的知识(原本我是读书籍设计的),从刚刚开始的C程序开始,一路走到一拿起书本我就几乎是睡着的状态,后来就开始了视频的学习之路, ...
- zookeeper的安装与使用
zookeeper的安装与使用: Zookeeper简介 1.可以作为集群的管理工具使用. 2.可以集中管理配置文件. Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理.命名.分布式 ...