Windows操作系统中有哪些种磁盘格式,不同磁盘格式的区别是啥。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows操作系统中有哪些种磁盘格式,不同磁盘格式的区别是啥。相关的知识,希望对你有一定的参考价值。
一共3种:FAT;FAT32;NTFS,具体解释如下:1. FAT
FAT即文件分配表,也即人们常说的FAT16。它是自DOS、Windows
3.x以来广泛使用的硬盘分区格式,是传统的16位文件系统。它有极好的兼容性,DOS、Windows 、Windows
NT的各种版本,以及其他各类操作系统都支持FAT16。它相对速度快,
CPU资源耗用少,所以至今仍是各类机器硬盘常用的分区格式。但是传统FAT16的不支持长文件名,受到8+3,即8个字符的文件名加3个字符扩展名的限制。单个分区的最大尺寸为2GB,单个硬盘的最大容量一般不能超过8GB,所以如果硬盘容量超过8GB,8GB以上空间则因无法利用而浪费。当分区尺寸为2GB时,单“簇”(磁盘容量最小单位)尺寸为16KB,当文件数量巨大时会白白遗留许多无法利用的空间。在Windows
NT中采用FAT格式,不能恢复已被删除的文件。此外,这种文件系统因其兼容性好,来者不拒,就导致安全性差,易受病毒攻击。
自Windows
95起微软推出扩展文件分配表VFAT,它突破了8+3的限制,支持长文件名,最长可达255个字符,包括后缀,并且文件名中可包含多个空格或多个后缀,其它优缺点基本同FAT16。
2.
FAT32
FAT32是Windows 95
OSR2版开始推出兼容16位的32位文件系统。最大特点为使用较小的簇(每簇仅为4KB)分配文件单元,大大提高硬盘空间利用率,减少了浪费。单个硬盘的最大容量达到2TB(1TB=1024GB),为海量硬盘的使用者提供了方便。它支持长文件名,能很好运行
DOS、Windows
95-2000的各种版本,但系统开销要大于FAT16。这种文件系统的安全性仍然较差;FAT32可以兼容FAT16,但无法访问NTFS分区。对于像Word一类的编辑软件产生的文本文件而言,在FAT32的机器上建立的文件只有以“纯文本”格式存盘,才能在FAT16的电脑中打开,在Windows
95 OSR2、Windows 98中提供了FAT16向FAT32之间的单向转换功能。
3.
NTFS
NTFS即是Windows
NT的文件系统,它的最大优点是安全性和稳定性好,全32位内核的NTFS为磁盘目录与文件提供安全设置,指定访问权限,难以受到病毒侵袭。NTFS自动记录与文件的变动操作,具有文件修复能力,不需要运行磁盘碎片整理等磁盘工具。系统不易崩溃,出现错误能迅速修复。每簇仅为512个字节,硬盘利用率最高。它主要缺点正由于其高筑壁垒,闭关自守,从而导致兼容性差。Windows
NT的NTFS可以访问FAT文件系统,但是逆向造访就会吃闭门羹,如在DOS下系统会显示“Invalid drive
specification”(无效驱动器指派)。在Windows NT 4.0中提供了FAT向NTFS的单向转换功能;在最新的,具有NT内核的Windows
2000中,提供了FAT转换为NTFS或FAFAT32的功能。这些转换在进行之前应慎重考虑。
综合上述分析,建议在硬盘容量允许的条件下安装双引导操作系统,在逻辑C区采用FAT16或FAT32文件系统,安装Windows
95/98,将那些需要与各种PC环境都有广泛适应性,而又不太重要的软件、文档(如游戏)放于其中,这样即使发生意外,也不致造成重大损失,重装系统也较容易;在逻辑D区或其他分区采用NTFS文件系统,安装Windows
NT,将网络、文字处理,以及那些适合在NT下运行的软件,如3D Studio
Max、Softimage/3D等放于其中,也将那些需要严加保护的重要数据、文档放于其中,使之固若金汤,避免损毁。 参考技术A FAT FAT32 NTFS 不同磁盘格式的主要区别是单个文件大小,像FAT就不能超过4GB 参考技术B Fat:速度较快;
Fat32:兼容性较好;
NTFS:支持大文档;
Exfat:应用较少。 参考技术C
如图
参考技术D Fat,Fat32,NTFS,ExfatLinux入门之磁盘管理分区管理
Linux入门之磁盘管理(1)分区管理
无论是windows还是linux,目前支持的分区结构只有两种,一种是基于blos检查启动的mbr结构,另一种是基于uefi(统一扩展固件接口)的opt分区结构。当然,目前广泛的还是使用的mbr结构。
linux中有很多不同的文件系统,当使用安装光盘安装的readhat类的linux系统默认一般支持的主要格式为ext类(ext2、ext3、ext4),当然这些是redhat或者centos5、6所使用的默认设备,且安装centos7时默认使用的分区格式为xfs格式,当然这些只是内核所支持的一部分模块而已,如果需要,可以重新编译或者添加模块。
磁盘信息查看:
列出次磁盘及分区设备:
lsblk #列出所有块设备大小及分区 lsblk /path/to/dev_file #列出指定块设备大小及分区
#说明:当然,磁盘及其磁盘分区在被linux系统内核识别后,映射出的文件都会是块设备文件
[[email protected] ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 3.7G 0 rom /mnt/iso sda 8:0 0 20G 0 disk ├─sda1 8:1 0 200M 0 part /boot ├─sda2 8:2 0 10G 0 part / ├─sda3 8:3 0 2G 0 part [SWAP] ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 7.8G 0 part /testdir sdb 8:16 0 20G 0 disk sdc 8:32 0 20G 0 disk sdd 8:48 0 10G 0 disk sde 8:64 0 10G 0 disk
说明:这里分区如果被格式化并挂载后会显示其挂载点
通过查看映射文件来查看设备
ls /dev/[sh]d[a-z] #磁盘设备默认都在/dev/目录下会哟偶对应的映射
[[email protected] ~]# ls /dev/sda* #这里列出sda及其下的所有分区 /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5
查看磁盘及分区列表记录文件:
cat /proc/partitions [[email protected] ~]# cat /proc/partitions major minor #blocks name 8 0 20971520 sda 8 1 204800 sda1 8 2 10485760 sda2 8 3 2097152 sda3 8 4 1 sda4 8 5 8181760 sda5 8 16 20971520 sdb 8 32 20971520 sdc 8 48 10485760 sdd 8 64 10485760 sde
解析:只要块设备映射的文件的元数据不会有文件大小的显示,而是显示主设备号和次设备号,主设备相同的设备文件表示是同一类设备,而次设备号是区分它们之间的不同。
磁盘管理工具:
交互式管理命令
fdisk
使用方法:
fdisk -l [-u] /path/to/dev #默认不指定为列出所有磁盘分区,指定可列出指定磁盘及分区信息
说明:因为上面用lsblk显示有哦很多磁盘,这里我只截取第一个磁盘及其分区的信息,因为信息过长,这里我们使用正则表达式或者通配符来找出常用的信息:
列出所有磁盘的各自的总大小:
fdisk -l | grep ‘^Disk[[:space:]]/dev/[sh]d[a-z].*’
解析:这里我们简要说一下目前的磁盘接口类型,IDE默认映射为/dev/hd[a-z]#格式的文件,当然一般一台机器一个IDE接口最多也就4块IDE格式的硬盘,并且其中2块为一组,两组之间并行,每组两个口一个为主硬盘,一个为次硬盘,当然还有类似的ATA,也是hd开头。当然现在因为IDE速度不够快的问题,大部分使用SCSi、SATA、USB接口的硬盘,都被映射为/dev/sd[a-z]#这种类型格式,所有我们根据这些固定格式查询当前机器的硬盘总大小。
新建磁盘分区:
这里可以对对一个新盘进行分区
fdisk /PATH/TO/DEV_FILE :当要对一个磁盘设备修改分区时需要指定硬盘设备
fdisk /dev/sdb :这里我们指明第二块硬盘/dev/sdb
fdisk /dev/sdb #进入/dev/sdb磁盘分区交换管理界面
当这里列出以后,显示让我们输入命令,并提示输入m可以查看帮助,于是:
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition #删除一个分区
l list known partition types #列出分区类型对应的Id表示号
m print this menu #打印命令帮助菜单
n add a new partition #添加一个分区
o create a new empty DOS partition table #创建为mbr分区格式硬盘
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)
解析:这里列出注释的这些都是最常用的命令,当然,此工具只是对mbr启动格式也就是msdos格式有效
这时根据提示指定分区的编号,为了方便管理,这里我们安顺序进行
Partition number (1-4): 1 #选择为1号分区 First cylinder (1-2610, default 1): #指定柱面起始位置,这里不指定默认从1开 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +128M #设定为128M的分区
注意:这里有3中指定分区大小的设定方式,一种为设置最后柱面,一种为从起始柱面开始往后加多少柱面,而最后一种+size为指定常用的设备大小格式,K、M、G,使用+size注意指定的大小前要加+符号。
查看刚才新建的分区,输入p命令打印分区信息
Command (m for help): p Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb64bed20 Device Boot Start End Blocks Id System /dev/sdb1 1 17 136521 83 Linux /dev/sdb2 18 83 530145 83 Linux /dev/sdb3 84 215 1060290 83 Linux
这里显示了刚才新简单分区,现在再次创建:
Command (m for help): n Command action e extended p primary partition (1-4) e #选择创建为扩展分区 Partition number (1-4): 4 #选择为4号分区 First cylinder (1-2610, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): #这里直接回车 Using default value 2610
解析:因为mbr格式的分区最多支持为4个主分区或者3个主分区加一个扩展分区,所有最后选择大小时直接回车表示使用剩余所有空间,这样就是3个主分区和一个扩展分区了。
当然如果再次创建就只能创建为逻辑分区了,这里直接就显示设置大小
Command (m for help): n First cylinder (216-2610, default 216): Using default value 216 Last cylinder, +cylinders or +size{K,M,G} (216-2610, default 2610): +1G
列出指定磁盘的磁盘分区:
下面使用p命令来显示刚才创建的所有分区及信息:
删除分区指定磁盘分区:
使用d命令删除指定编号分区
解析:这里我们删除的是第4号分区,为什么第5号分区也被删除?因为,4号分区为扩展分区,里面存放的有rbm表来记录其下的逻辑分区,这样扩展分区被删除,其下的逻辑分区rbm记录也被删除,那么分区也就相当于无记录。
调整分区Id标识:
使用t命令表示需要修改指定分区标示,然后选择会几号分区,提示按L列出所有类型对应的代码
解析:这里按t进入后选项2号分区,也就是/dev/sdb2,这里提示按 L 可以显示标示类型对应的编号,当然,如果不按t进入,在输入命令时也可以使用 l 来查看。当然,如果你不想进入fdisk工具进行交互式,也可以一些方法来让此编号类型表显示出来,比如,借助管道可以将type表打印在当前终端界面上:
[[email protected] ~]# echo -e ‘l\nq‘ | fdisk /dev/sda 2> /dev/null | grep -v ‘^[[:space:]]\?$‘ | grep -v ‘^Command.*:‘
解析:如果使用管道重定向或者多段输入重定向时,是需要进行信息删选的
现在我们要修改/dev/sdb2类型为Linux swap / so ,也就是交换分区,根据上图因此选82:
解析:转换后,通过p命令打印分区列表信息,其中/dev/sdb2的Id列显示为82,表示为交换分区
退出命令:
q 不保存退出
w 保存退出
这里我们选择保存,输入w
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
说明:这里表示调用分区创建成功,当然如果出现了警告信息,也可以用过一些命令来让系统内核重读分区表信息:
redhat5、7版本可以使用:
partprobe : #默认不指定为重读所有分区信息 partprobe /dev/sdb : #重读指定磁盘设备的分区信息
redhat6下:
partk -a /dev/sdb #对指定设备进行新增操作后 partk -d --nr 5 #对指定分区号 partk -d --nr 5-8 #或者从那个分区号到哪个分区号进行操作后 Kpartx -a /dev/sdb --force #强制对新增分区的设备重读 kpartx -l /dev/sdb #重读并列出
非交互式管理命令
使用 parted 命令
注意:此命令进行的操作都是实时生效的,所以需要谨慎使用,一般还是推荐fdisk
常见选项命令:
parted /dev/sdb mklabel [ gpt|msdos ] :修改分区结构格式为gpt或者mbr parted /dev/sdb print :打印指定磁盘分区信息 parted /dev/sdb mkpart primary 1 SIZE :创建主分区,从1扇区开始SIZE结束 parted /dev/sdb rm 1 :删除指定编号
修改分区结构为gpt
方法一
[[email protected] ~]# parted /dev/sdb mklabel gpt Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? yes #这里选择yes表示重建分区结构 Information: You may need to update /etc/fstab.
方法二
更快捷的方法来设置分区结构,通过多行输入重定向
[[email protected] ~]# parted /dev/sdb mklabel gpt << EOF &> /dev/null > yes > gpt > EOF [[email protected] ~]# parted /dev/sdb print | grep -i ‘.*table.*‘ Partition Table: gpt
查看/dev/sdb分区表结构是否已经被修改为gpt格式
[[email protected] ~]# parted /dev/sdb print | grep ‘.*Table:.*$‘ Partition Table: gpt
同样显示fdsik列出类似的分区总大小格式
[[email protected] ~]# parted /dev/sdb print | grep -o ‘^Disk[[:space:]]/dev/[sh]d[a-z].*$‘ Disk /dev/sdb: 21.5GB
注意:因为分区时常操作可能会导致出现错误提示,这时不想显示,可以使用错误重定向先过滤出错误信息,如:parted /dev/sdb print 2> /dev/null
#添加一个主分区编号为1,分为200M [[email protected] ~]# parted /dev/sdb mkpart primary 1 200
本文出自 “神剑特兰克斯” 博客,请务必保留此出处http://mengzhaofu.blog.51cto.com/10085198/1843572
以上是关于Windows操作系统中有哪些种磁盘格式,不同磁盘格式的区别是啥。的主要内容,如果未能解决你的问题,请参考以下文章
Windows与Linux操作系统对磁盘和文件的管理方式有啥异同点(求详细)