优盘文件系统(FOR C)
优盘上的数据按照其不同的特点和作用大致可分为5 部分:MBR 区、DBR 区、FAT 区、FDT区和DATA 区。
- 主引导记录(MBR)
绝对扇区号为:MBR_LBA=0x00000000 处是主引导记录,等同位于硬盘的0 磁道0 柱面1 扇区。
在总共512 字节的主引导扇区中,MBR 只占用了其中的446 个字节(ofs:0 - ofs:1BDH),另外的64 个字节(ofs:1BEH - ofs:1FDH)交给了DPT(Disk Partition Table 盘分区表),最后两个字节“55 AA”(ofs:1FEH - ofs:1FFH)是分区的结束标志。
MBR 定义如下:
typedef struct {
uchar bootcode[]; //ofs:0.启动代码。“FA 33 C0 8E D0 BC…”.
PartitionTable PT[]; //ofs:446.分区表length=4*16.
uint EndingFlag; //ofs:510.结束标识:0xAA55.
}MBR_tag;
Bootcode[446]启动代码一般是固定的,用于引导 x86,不用管。
分区表项的定义如下:
typedef struct {
uchar BootFlag; //启动标志
CHS StartCHS; //分区开始的柱面、磁头、扇区
uchar SystemID; //分区类型
CHS EndCHS; //分区结束的柱面、磁头、扇区
ulong RelativeSectors; //分区起始扇区数,指分区相对于记录该分区的分区表的扇区位置之差 (该分区表:LBA=0x0)。
ulong TotalSectors; //分区总扇区数
}PartitionTable;
其中 CHS 为一个柱面、磁头、扇区的结构,定义如下:
struct CHS {
uchar Head; //磁头。
unsigned Sector : ; //扇区。
unsigned CyH2 : ; //柱面(高两位)。
uchar CyL8; //柱面(低八位)。
+CyL8);} //返回柱面值
void SetCylinder(uint Cylinder) //设置柱面值
{
CyH2=(Cylinder>>)&0x3; CyL8=(Cylinder&0xff);
}
};
例:80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00
在这里我们可以看到:
优盘文件系统(FOR C)的更多相关文章
- 【从零开始学习Hadoop】--2.HDFS分布式文件系统
1. 文件系统从头说2. Hadoop的文件系统3. 如何将文件复制到HDFS3.1 目录和文件结构3.2 FileCopy.java文件的源代码3.3 编译3.4打包3.5 运行3.6 检查结果 1 ...
- 一步一步制作yaffs/yaffs2根文件系统(一)---储备好基础知识再打
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...
- 一键GHOST优盘版安装XP/win7系统
系统的安装方法有各种各样,一键GHOST优盘版也是其中的一种系统安装方法,也是俗称的U盘系统安装.下面豆豆来详细介绍下使用一键GHOST优盘版系统安装方法. 一.安装: 所谓"优盘" ...
- 树莓派无显示器、无网线,优盘(U盘)启动,远程桌面
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:树莓派无显示器.无网线,优盘(U盘)启动,远程桌面 本文地址:http://techi ...
- ubuntn系统下将文件拷贝到优盘中及挂载概念理解
参考资料:http://jingyan.baidu.com/article/7082dc1c76f178e40a89bdd3.html: http://bbs.csdn.net/topics/3801 ...
- 速度竟差9倍!6款32GB USB3.0优盘横评
速度竟差9倍!6款32GB USB3.0优盘横评 2014-08-22 05:04:00 [ 中关村在线 原创 ] 作者: 蒋丽 | 责编:孙玉亮 收藏文章 分页阅读 分享到 评论(90) ...
- .NET Core的文件系统[5]:扩展文件系统构建一个简易版“云盘”
FileProvider构建了一个抽象文件系统,作为它的两个具体实现,PhysicalFileProvider和EmbeddedFileProvider则分别为我们构建了一个物理文件系统和程序集内嵌文 ...
- Linux学习之探索文件系统
Linux,一起学习进步- ls With it, we can see directory contents and determine a variety of important file ...
- Linux之搭建自己的根文件系统
Hi!大家好,我是CrazyCatJack.又和大家见面了.今天给大家带来的是构建Linux下的根文件系统.希望大家看过之后都能构建出符合自己需求的根文件系统^_^ 1.内容概述 1.构造过程 今天给 ...
随机推荐
- Find out C++ Memory Usage in Code
You can use Microsoft Platform SDK functions to get the heap size at a specific point. If get the he ...
- WPF利用Image实现图片按钮
之前有一篇文章也是采用了Image实现的图片按钮,不过时间太久远了,忘记了地址.好吧,这里我进行了进一步的改进,原来的文章中需要设置4张图片,分别为可用时,鼠标悬浮时,按钮按下时,按钮不可用时的图片, ...
- 《Programming WPF》翻译 第5章 7.控件模板
原文:<Programming WPF>翻译 第5章 7.控件模板 如果仔细的看我们当前的TTT游戏,会发现Button对象并没有完全为我们工作.哪些TTT面板有内圆角? 图5-14 这里 ...
- Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom(转)
文中的 Random即:java.util.Random,ThreadLocalRandom 即:java.util.concurrent.ThreadLocalRandomSecureRandom即 ...
- Morse Clock
Morse Clock "di-dah di-di-di-dit di-dah-dah di-dah-dah-dah dah-di-dit dah-di-di-dah", soun ...
- 我的Android4.3新书即将上市,谢谢大家的支持
首先感谢清华大学.电子工业.机械工业.人民邮电等各大出版社对本书的肯定.我想说中国的IT业如果没有你们的辛勤工作,是不会发展得这么快的.经过再三权衡,本书将选择人民邮电出版社于近几个月在全国出版发行. ...
- android 缓存Bitmap - 开发文档翻译
由于本人英文能力实在有限,不足之初敬请谅解 本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接 Loading a single bitmap into your user interf ...
- 【转】ffmpeg中的sws_scale算法性能测试
经常用到ffmpeg中的sws_scale来进行图像缩放和格式转换,该函数可以使用各种不同算法来对图像进行处理.以前一直很懒,懒得测试和甄别应该使用哪种算法,最近的工作时间,很多时候需要等待别人.忙里 ...
- hdu 4405 Aeroplane chess(概率+dp)
Problem Description Hzz loves aeroplane chess very much. The chess map contains N+ grids labeled to ...
- LitJson处理Json
LitJSON是一个.NET平台下处理JSON格式数据的类库,小巧.快速.它的源代码使用C#编写,可以通过任何.Net平台上的语言进行调用,目前最新版本为LitJSON 0.9. 下载地址: http ...