Linux磁盘分区及文件系统格式化和挂载
1. 磁盘在Linux系统中的表示方法
硬盘的类型: IDE接口 hda hdb .....
hda1 hda2 hda3 .......
SATA接口 SCSI接口 USB
sda sdb
sda1 sda2 sda3 ......
所有磁盘设备及分区都以文件的形式存储在/dev/,但是这些文件不能直接使用,如果要往这些分区内写入数据就需要挂载分区。
2、挂载点
所谓的挂载点就是文件系统中存在的一个目录,通常情况下,创建在/mnt目录下,挂载成功后,访问挂载点就是访问新的存储设备。
挂载点应该是空目录,否则原来该挂载点中存在的文件将会被隐藏。而且,挂载点在实施挂载操作之前就应该存在。
2、查询设备名
#df -hT 查看系统中所有已挂载文件系统的使用情况
#fdisk -l 查看系统的磁盘信息
打开百度APP,查看更多高清图片
磁盘分区
1、基本磁盘分区:
(1)最多可以分为四个主分区(包含扩展分区:只能有一个,将剩余的所有空间包含在内)。
(2)主分区和扩展分区的编号:1-4为主分区和扩展分区的编号。
(3)扩展分区不能直接使用,必须在扩展分区上建立逻辑分区并格式化后才能使用。
(4)逻辑分区编号从5开始。
(5)对新加的磁盘进行分区:(分2个主分区,1个扩展分区,2个逻辑分区)
fdisk 磁盘设备名
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 删除分区
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types 显示所有分区类型
m print this menu
n add a new partition 新建分区
o create a new empty DOS partition table
p print the partition table 显示分区表
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id 修改分区类型
u change display/entry units
v verify the partition table
w write table to disk and exit 保存并出退出
x extra functionality (experts only)
(6)对磁盘进行格式化:mkfs -t 分区类型(ext2 ext3 ext4) 磁盘分区名
mkfs -t ext4 /dev/sdb1
(7)新建挂载点,并将分区进行挂载。
mount [-t 文件系统类型] 设备分区名 挂载点
mount -t ext4 /dev/sdb1 /mnt/sdb1
如何查看已经挂载成功:mount (mount | grep sdb1)
取消挂载:umount 挂载点
(8)挂载光驱设备
光驱设备在Linux系统中的表示方法:/dev/sr0
光驱设备文件系统类型:iso9660
将光盘挂载到/mnt/cdrom目录:
(9)永久挂载:使用mount命令挂载只是临时的,如果重启系统后就失效了。
/etc/fstab
[root@www cdrom]# vim /etc/fstab
[root@www cdrom]# mount -a
动态磁盘分区(LVM卷)
3、挂载文件系统
挂载由mount命令来完成,可以灵活的挂载各种类型的文件系统。
命令格式:mount [选项] [设备名] [挂载点]
4、卸载文件系统
文件系统可以被挂载,不用时可以被卸载。卸载文件系统的命令是umount,这个命令可以把文件系统从Linux系统中的挂载点上分离,将原来建立的文件系统和挂载点的连接断掉。
命令格式:umount [设备名或者挂载点]
在卸载一个文件系统的时候,需要指定要卸载的文件系统的挂载点或者设备名。例如:
#umount /dev/sdb1 //指定设备名卸载
#umount /mnt/sdb1 //指定挂载点卸载
如果卸载文件系统提示:“busy状态,不可卸载时”,使用fuser命令查看正在使用该文件系统的用户信息。
命令格式:fuser [options] 文件系统名或者文件名
【举例1】查看哪个进程打开了当前目录下的cdrom文件夹。
[root@localhost~]# fuser /mnt/cdrom
/mnt/cdrom: 71992c
杀死进程的方法:
(1)#kill -9 71992
(2)#fuser -km /mnt/cdrom
5、使用U盘备份文件(ntfs-3g)
(1)连接U盘
(2)查询系统为U盘分配的设备名
(3)挂载U盘
(4)备份文件
(5)卸载U盘
6、扩充系统的硬盘空间
管理员root发现Linux系统硬盘资源不足,因此在服务器上新增加了一块硬盘,想在Linux系统下使用它。通常遵循以下步骤:
(1)向系统中添加一块硬盘
(2)由系统识别硬盘名
(3)对新硬盘进行分区
(4)对分区进行格式化
(5)创建文件系统
(6)挂载使用
7、命令行下提高工作效率的方法
(1)Linux下Shell命令补全功能,按TAB键
(2)命令别名alias
(3)命令历史history
(4)文件系统的自动挂载
#vim /etc/fstab
第1字段:需要挂载的设备文件名。
第2字段:挂载点,必须是一个目录,而且必须用绝对路径。
对于交换分区,这个字段定义为swap。
第3字段:文件系统的类型。如果是ext3文件系统,则写成ext3;如
果是FAT32文件系统,则写成vfat;如果是光盘,可以写成
auto由系统自动检测或iso9660。
第4字段:挂载选项。一般都是采用“defaults”。
第5字段:文件系统是否需要dump备份,1表示需要,0表示忽略。
第6字段:在系统启动时是否检查这个文件系统以及检查的顺序,
0表示不检查,1表示优先检查,2表示其次检查。
如果想要学习更多IT知识,可以移步我们官网,上面有很多免费在线课程哦。
FAT32文件系统详细分析 (格式化SD nandSD卡)
文章目录
FAT32文件系统详细分析 (续FAT文件系统详解)
1. 前言
2. 格式化SD nand/SD卡
3. FAT32文件系统分析
3.1 保留区分析
3.1.1 BPB(BIOS Parameter Block) 及BS区分析
3.1.2 FSInfo 结构扇区分析
3.1.3 引导扇区剩余扇区
3.1.4 备份引导扇区
3.1.5 保留区剩余区域
3.2 分区偏移及大小计算
3.3 FAT区分析:
3.3.1 FAT1
3.3.2 FAT2
3.4 数据区分析:
4. 总结
1. 前言
续上一篇文章 : FATFS文件系统详解:关于如SD卡、SD nand、spi nor flash等众多存储设备
在上一篇文章,我们已经对FAT文件系统有了一个详细的介绍,但由于FAT文件系统由历史发展,存在FAT12/16/32三种系统,在上一篇文章中采用的是FAT16系统作为实例进行的分析,而FAT32系统存在些许差异,且FAT32文件系统在当前应用广泛,因此特补充此篇博文,完善FAT32的示例分析。
2. 格式化SD nand/SD卡
申请到雷龙发展代理的CS创世 贴片 SD Card (SD NAND) 样品,做出测试,分享一下,该公司SD NAND 二代产品介绍可以参考如下地址http://longsto.com/product/list-39.html,有1Gb,4Gb,32Gb,64Gb的容量可选,我这里申请到的是两片32Gb的芯片和测试板.
2.1 格式化SD nand / SD卡,强制采用FAT32格式,分配每个簇大小为2048Byte,同时为了避免其他原有数据干扰,我们此处取消快速格式化。
2.2 使用 WinHex 打开分析
3. FAT32文件系统分析
FAT文件系统布局图如下,和FAT16上有些许差别:
3.1 保留区分析
保留区分为引导扇区、备份引导扇区及其他字段,具体数据段分析如下。
3.1.1 BPB(BIOS Parameter Block) 及BS区分析
BPB及BS参数内容数据如下:
EB 58 90 :BS_JmpBoot,跳转指令4D 53 44 4F 53 35 2E 30:BS_OEMName,MSDOS 5.0,一个名字,指示创建此卷的操作系统,无其他作用`00 02:BPB_BytsPerSec,扇区大小 512 字节04:BPB_SecPerClus,每次操作的最小扇区数,簇 Cluster,4 (与格式化时选择的大小匹配 2048 = 512 * 4)16 11:BPB_RsvdSecCnt,保留区的扇区数,0x1116=4374 (通过此可计算,FAT区起始地址为 4374 * 512 = 0x22 2C00)02:BPB_NumFATs,FATs的个数,2(一般此值为2,多一个用来做冗余备份,解决系统异常导致第一个损坏时,增大恢复的可能性,表示FAT区有两个FATs备份)00 00:BPB_RootEntCnt,0,在FAT12/16系统中,此字段表示根目录中32字节目录条目数量,设置此值时需注意对齐,为了最大的兼容性,FAT16系统上此值应设置为512,FAT32系统上此值应设置为000 00:BPB_TotSec16,16位大小区域描述FAT卷扇区总数,0。当FAT12/16系统扇区数 ≥0x10000(65536)时,此字段应设置为0,真实值存放在 BPB_TotSec32 字段;对于FAT32系统,此值必须为0。(此处由于我们的总扇区数=118.510241024/512 = 242688 > 65536,所以此字段为0)F8:BPB_Media 媒体类型00 00:BPB_FATSz16,00,一个FAT占用的扇区数,此字段仅在FAT12/16系统使用;FAT32系统,此字段必须为0,使用BPB_FATSz32字段替代。3F 00:BPB_SecPerTrk,每个磁道的扇区数,此字段仅与具有几何形状且仅用于 IBM PC 的磁盘 BIOS 的介质相关,不用管。FF 00:BPB_NumHeads,头数量,此字段仅与具有几何形状且仅用于 IBM PC 的磁盘 BIOS 的介质相关,不用管。00 00 00 00:BPB_HiddSec,0,FAT 卷之前的隐藏物理扇区数(当磁盘被分区之后,当前分区并不一定是从扇区头开始的)00 08 0F 00:BPB_TotSec32,0x0F0800 = 985088(整个卷空间大小),32位大小区域描述FAT卷扇区总数。 FAT12/16系统,扇区总数小于0x10000时,此字段必须为0,真实值存放在BPB_FATSz16;FAT32系统,此字段一直有效。(481M = 512 * 985088)以上是FAT12/16/32公共字段,接下来是FAT32独有字段
75 07 00 00:BPB_FATSz32,1909,一个FAT占用的扇区数,FAT区总大小等于 BPB_FATSz?? * BPB_NumFATs 扇区。(由此可计算FAT区总大小:1909 * 2 = 3818扇区 = 3818 * 512Byte = 0x1D D400 Byte)00 00: BPB_ExtFlags,扩展标识字段,bit7=0,表示所有FAT都是镜像的和活跃的;bit7=1,表示只有bit3-0表示的FAT是有效的。00 00:BPB_FSVer:FAT32版本,高字节是主版本号,低字节是次版本号。02 00 00 00:BPB_RootClus,2, 根目录的第一个簇号,此值通常为2,因为前两个簇一般用于保留。01 00:BPB_FSInfo,1,FSInfo结构扇区与FAT32卷顶部的偏移扇区值。此值通常为1,因为其通常位于引导扇区旁边。06 00:BPB_BkBootSec,6, 备份引导扇区与FAT32卷顶部的偏移扇区值。此值通常为6,考虑最大的兼容性,此值不建议为其他值。00 00 00 00 00 00 00 00 00 00 00 00:BPB_Reserved,0,保留80:BS_DrvNum,IBM PC 的磁盘 BIOS 使用的驱动器号,00h代表软盘,80h代表固定磁盘00:BS_Reserved,保留字段,029:BS_BootSig,扩展引导签名,表示以下存在三个字段30 D1 B5 78:BS_VolID,与 BS_VolLab 一起构成卷序列号,一般在格式化的时候结合时间生成4E 4F 20 4E 41 4D 45 20 20 20 20:(解析为:"NO NAME “),BS_VolLab,11byte卷标,当卷标不存在时,此值应设置为"NO NAME”46 41 54 33 32 20 20 20:BS_FilSysType,始终为"FAT32 ",对FAT类型的确定没有任何影响。33 C9 ... B9 01 00 00:BS_BootCode32,引导启动程序,与平台有关,不使用时填充为0BS_BootSign:0xAA55,引导签名,指示这是一个有效的引导扇区当扇区大小大于512字节时,剩余的字段应全部使用0x0填充。3.1.2 FSInfo 结构扇区分析
FSInfo 数据结构为FAT32系统所特有,其目的是记录FAT32系统上剩余的簇数量以及下一个空闲簇数据;以避免扫描整个磁盘搜索导致的时间浪费。
FSInfo数据偏移可从引导扇区内的 BPB_FSInfo 参数获取,此处为 1,因此 FSInfo 数据偏移为1个扇区,对应512Byte,0x200地址处。FSInfo数据结构如下:
内容如下:
3.1.3 引导扇区剩余扇区
FAT32引导扇区总共有三个512Byte的扇区构成。BPB、BS、FSInfo字段已使用了2个扇区,还剩有一个扇区未使用,字段为0,如下图所示,需要注意的是,此扇区在偏移值510处依旧存在尾部签名0xAA55。
引导扇区剩余字段,为非有效字段,采用0x00填充。
3.1.4 备份引导扇区
相比FAT12/16,FAT32系统上存在引导扇区的备份,此块区域偏移参考引导扇区内BPB_BkBootSec字段,当前引导扇区内此参数值为6, 因此在当前文件系统内,备份引导扇区的偏移为 6号扇区,对应偏移地址为 BPB_BkBootSec * BPB_BytsPerSec = 6 * 512Byte = 3072Byte = 0xC00
3.1.5 保留区剩余区域
在FAT32系统中,保留区除了 BPB区域、FSInfo区域以及这两个区域的备份区域外,还有一部分区域,目前我没找到此区域的作用,我理解为此块区域是作为某种引导程序,数据内容如下:
关于此块区域,欢迎大家在评论区讨论!
此外,还有一处区域的存在也欢迎大家讨论,即FSInfo扇区后面的一个扇区,只有看到尾部签名,其他数据为空,目前也未找到此处有关说明,后续清楚后会在此补充,亦欢迎大家在评论区讨论!
3.2 分区偏移及大小计算
知道BPB参数内容之后,便可以进行分区偏移及大小计算了!
各分区偏移地址及大小如下:
关于FAT区,通常存在一个以上的FAT,如此处所格式化的sd卡便存在两个FAT,对应的偏移地址和大小如下:
注意:在FAT32系统中,根目录区不存在,但依旧存在根目录,不过是根目录作为数据区的一部分!
3.3 FAT区分析:
FAT32系统与FAT12/16系统在FAT区数据一个显著差别是:FAT32每条FAT条目占32bit,FAT16占16个bit,FAT12占12bit。关于此部分更详细描述,可参考上一篇:FAT文件系统详解(点击跳转!) 的 4.3 章节!
3.3.1 FAT1
FAT1偏移地址:0x22 2C00
数据内容如下:
3.3.2 FAT2
FAT2是FAT1的备份,偏移地址:0x31 1600数据内容与FAT1一致,如下:
3.4 数据区分析:
偏移地址:0x40 0000由参数BPB_RootClus可知,数据区第一个簇是2号簇。
打开数据区的第一个簇,里面存放的内容便是根目录的内容!这也就是为什么FAT32没有根目录区,但依旧存在根目录的实现方式。数据内容如下:
之后我们看到3号簇的内容:数据字段如下图所示,由于在上一篇博文中已对长短文件名每个字段进行过细致分析,此处不再做过度分析,仅抽取关键字段进行分析,如下图所示:
之后切换到4号簇和5号簇,可以查看到对应数据:
从6号簇开始便没有在使用,均为空闲簇,对应上 FSInfo 结构内 FSI_Nxt_Free 字段的内容。
4. 总结
相比FAT16系统,FAT32文件系统在保留区有了更多的设计:
1)增加了引导扇区的备份,异常掉电等情况下可恢复性更强;
2)增加了FSInfo结构,对于大容量flash访问将更加高效;
此外FAT32系统取消了根目录区,将根目录移至数据区,根目录与普通目录本来就没有什么区别,确实也不用单独分一个区存放,提高了一致性。
关于数据的存储思想,依旧保持不变:FAT区内的FAT条目通过簇链记录扇区使用情况及文件占用的扇区情况;数据区内目录和文件都作为文件,通过目录这一类特殊文件,描述文件属性以及实际文件内容存放的簇的方式,将整个文件管理起来。
综上,便是FAT32格式文件系统的详细解析,欢迎大家评论区进行积极讨论与反馈!!!
相关问答
...rharddiskfailureisimmient,pleasebackupyourdiskandhavei...[回答]这段话的大意是:硬盘故障,请备份您的磁盘并更换硬盘备份文件,格式化试试,要不就低格
两次 格式化 能恢复数据吗?1.能恢复数据——关键是没有写入数据!除非是低格。只要是没有写入数据,那么格式化N次,都可以恢复数据!2.答:如果两次都是快速格式化,只要文件没有被其它数...
红米手机怎么 格式化 存储卡?打开系统设置,选择【更多设置】,然后点击【备份和重置】,接着点击【恢复出厂设置】,就能看到最下方的【恢复出厂设置】,包含了【格式化模拟SD卡数据】功能哦...
电脑 格式化 怎么格式 - Ammiyuan 的回答 - 懂得格式化硬盘,如何格式化硬盘,如何硬盘格式化?这是广大电脑初学者经常询问的问题,因为格式化硬盘是安装装系统的前提,所以这就成为了需要首先解决的问...
手机 格式化 什么意思? - 吃鸡蛋蛋处女座 的回答 - 懂得简单的说,格式化就是把一张空白的盘划分成一个个小的区域,并编号,供计算机储存,读取数据。没有这个工作的话,计算机就不知道在哪写,从哪读。硬盘必...
怎么样将u盘里的视频格式mp4转换成nηpg格式-ZOL问答格式工厂可以转换,什么格式都行,avi还清楚点,干嘛转呢,n97支持avi啊有用(0)回复精品应用推荐新浪微博天气通淘宝特价版UC浏览器相关问题u盘怎么装win7...
海康8864N-R怎么安装硬盘和 格式化 ?首先,打开海康8864N-R,找到硬盘插槽,将硬盘插入插槽并固定好。然后,连接电源和网络线,开机进入设备菜单,在“存储管理”中找到新增加的硬盘,进行格式化操...
东芝笔记本WIN7系统,想装XP系统,用网上下载的GOST装,出现gov...因为里面一般都带有GHOST文件,也可以进行分区格式化等常见操作。其实现在很多XP的ghost安装盘都带有WINPE系统。试试吧。有用(0)回复dcfj1991直接格式化整...
平板电脑sd卡 格式化 了怎么重启用?格式化了,您需要按照以下步骤进行操作来重启并使用SD卡:插入SD卡到平板电脑中。打开平板电脑的电源,按下电源按钮,然后按下音量减按钮,同时插入SD卡。当...
监控储存卡怎么设置?方法如下。打开监控存储卡的设置,将其格式化为NTFS格式,这样才能使设置的视频不断开变成好多的小视频,如果是fat32格式的,则视频拍摄之后会自动剪断为每个...