磁盘虽然分好区了,但是还不能用,还需要在这每一个分区上格式化,所谓格式化,其实就是安装文件系统,Windows下的文件系统有Fat32、NTFS,CentOS使用的文件系统为ext,之前centOS5版本使用ext3作为默认的文件系统,而CentOS6使用ext4作为默认的文件系统。
当用man查询这四个命令的帮助文档时,你会发现我们看到了同一个帮助文档,这说明四个命令是一样的。
指定文件系统格式为ext4,该命令等同于mkfs ext4 /dev/sdb5,以后我们遇到余姚格式磁盘分区的时候,直接指定格式化为ext4即可,也可以根据 *** 作系统的版本来决定格式化什么格式。
选项:-b:分区时设定每个数据块占用空间大小,目前支持1024、2048以及4096 bytes每个块。-i:设定inode的大小。-N:设定inode数量,有时使用默认的inode数不够用,所以要自定设定inode数量。-c:在格式化前先检测一下磁盘是否有问题,加上这个选项后会非常慢。
-L:预设该分区的标签label。-j:建立ext3格式的分区,如果使用mkfs.ext3就不用加这个选项了。-t:用来指定什么类型的文件系统,可以是ext2、ext3也可以是ext4。-m:格式化时,指定预留给管理员的磁盘比例,是一个百分比,只针对mke2fs命令。
注意:可以使用-L来指定标签,标签会在挂载磁盘的时候使用,另外也可以写到配置文件里,关于格式化的这一部分,我建议除非有需求,否则不需要指定块的大小,也就是说,你只需要记住这两个选项:-t和-L即可。
扩展资料
格式化的种类
盘片格式化牵涉两个不同的程序:低级与高级格式化。前者处理盘片表面格式化赋与磁片扇区数的特质;低级格式化完成后,硬件盘片控制器(disk controller)即可看到并使用低级格式化的成果;后者处理“伴随着 *** 作系统所写的特定信息”。
低级格式化
低级格式化(Low-Level Formatting)又称低层格式化或物理格式化(Physical Format),对于部分硬盘制造厂商,它也被称为初始化(initialization)。最早,伴随着应用CHS编址方法、频率调制(FM)、改进频率调制(MFM)等编码方案的磁盘的出现,低级格式化被用于指代对磁盘进行划分柱面、磁道、扇区的 *** 作。
现今,随着软盘的逐渐退出日常应用,应用新的编址方法和接口的磁盘的出现,这个词已经失去了原本的含义,大多数的硬盘制造商将低级格式化(Low-Level Formatting)定义为创建硬盘扇区(sector)使硬盘具备存储能力的 *** 作。现在,人们对低级格式化存在一定的误解,多数情况下,提及低级格式化,往往是指硬盘的填零 *** 作。
对于一张标准的1.44 MB软盘,其低级格式化将在软盘上创建160个磁道(track)(每面80个),每磁道18个扇区(sector),每扇区512位位组(byte);共计1,474,560位组。需要注意的是:软盘的低级格式化通常是系统所内置支持的。通常情况下,对软盘的格式化 *** 作即包含了低级格式化 *** 作和高级格式化 *** 作两个部分。
高级格式化
高级格式化又称逻辑格式化,它是指根据用户选定的文件系统(如FAT12、FAT16、FAT32、NTFS、EXT2、EXT3等),在磁盘的特定区域写入特定数据,以达到初始化磁盘或磁盘分区、清除原磁盘或磁盘分区中所有文件的一个 *** 作。
高级格式化包括对主引导记录中分区表相应区域的重写、根据用户选定的文件系统,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间,以便用户使用该分区管理文件。
格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种 *** 作,这种 *** 作通常会导致现有的磁盘或分区中所有的文件被清除。格式化通常分为低级格式化和高级格式化。如果没有特别指明,对硬盘的格式化通常是指高级格式化,而对软盘的格式化则通常同时包括这两者。
Linux下添加新硬盘及分区格式化要点:在为主机添加硬盘前,首先要了解linux系统下对硬盘和分区的命名方法。
在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb。依此类推。一般主板上有两个IDE接口,一共可以安装四个IDE设备。主IDE上的两个设备分别对应hda和hdb,第二个IDE口上的两个设备对应hdc和hdd。
一般硬盘安装在主IDE的主接口上,所以是hda;光驱一般安装在第二个IDE的主接口上,所以是hdc(应为hdb是用来命名主IDE上的从接口)。
SCSI接口设备是用sd命名的,第一个设备是sda,第二个是sdb。依此类推。分区是用设备名称加数字命名的。例如hda1代表hda这个硬盘设备上的第一个分区。
每个硬盘最多可以有四个主分区,作用是用1-4命名硬盘的主分区。逻辑分区是从5开始的,每多一个分区,数字加一就可以。
参考资料:百度百科:格式化首先我们来认识下Linux上的文件系统
/:根目录
/bin:二进制,可执行命令
/sbin:可执行命令,仅用于管理,通常只有管理员才有权限使用。
/boot:引导, *** 作系统用于引导系统启动的文件,一般指内核
/dev:设备文件
Linux的设备类型
字符设备:以c开头的文件,线性设备
块设备:以b开头的文件,随机设备
/etc:配置文件
/home:用户的家目录,/home/username,eg:jerry,/home/jerry
/lib,/lib64:库文件
/media:挂载点目录,通常用于挂在便携性设备
/mnt:挂载点目录,挂在额外的文件系统
/misc:备份目录
/net
/opt可选目录,通常第三方软件偶尔安装于此路径下
/proc:伪文件系统,内存中内核的映射
/selinux: 安全加强的linux
/srv: service 属于服务的中间数据存储位置
/sys:类似于proc,通常用于访问获取硬件设备属性信息
/tmp:临时文件目录
/usr:存放只读文件
/var:经常会发生变化的文件,比方说日志等
文件系统通常有内核提供,Windows里边的文件系统有:NTFS、FAT32 Linux里边的文件系统主要由ext2,ext3,ext4,xfs,reiserfs,nfs,iso9600,jfs,brtfs
对磁盘格式化就是创建文件系统,那么怎么实现格式化的呢?下面介绍一下实现磁盘格式化的命令及用法
第一步;分区
fdisk [DEVICE]
d 删除一个分区
n 新建一个分区
w 保存退出
q 不保存退出
l 各分区类型对应的System ID
t 修改指定分区的System ID
分区之后让内核重新读取硬盘分区表的方法
1、重启系统
2、RHEL5 上利用partprobe [DEVICE] 实现
REHL6 利用partx -a [PARTITION] DEVICE 实现
第二步:格式化分区,创建文件系统
mkfs -t fstype /dev/part = mke2fs -t fstype /dev/part
要点:1、文件系统必须被内核支持才能使用,即内核有相应的内核模块,或者已经
将之整合进内核;
2、要有相应文件系统创建工具,这通常是mkfs.fstype
mke2fs -t {ext2|ext3|ext4}
-b {1024|2048|4096}:块大小
块大小取决CPU对内存页框大小的支持,x86系统默认页框大小为4K;
-L label: 设定卷标
-m #: 预留给管理使用的块所占据总体空间的比例;
-r #: 预留给管理使用的块的`个数;
-E: 设定文件系统的扩展属性;
tune2fs
-l: 显示文件系统超级块信息;
-L label:重新设定卷标;
-m #: 调整预留给管理使用的块所占据总体空间的比例;
-r #: 调整预留给管理使用的块个数;
-o:设定挂载默认选项
-O: 设定文件系统默认特性
-E: 调整文件系统的扩展属性
blkid DEVICE 显示设备的UUID、文件系统类型及卷标
第三步 挂载
mount [-t fstype] DEVICE MOUNT_POINT
mount [-t fstype] LABEL="卷标" MOUNT_POINT
mount [-t fstype] UUID="UUID" MOUNT_POINT
挂载之后,原有数据的会被隐藏,因此不能挂载到系统常用目录上;
卸载之时,要确保没有进程正在访问挂载的设备;否则,无法卸载;
-o 用于指定挂在选项。
ro: 只读挂载
rw: 读写,默认即为读写
noatime: 关闭 更新 访问时间;
auto: 是否能够由“mount -a”挂载;
defaults:相当于rw, suid, dev, exec, auto, nouser, async, and relatime
sync: 同步写入
async:异步写入
dev:
remount: 重新挂载
loop: 本地回环设备;
-n 挂在系统时,不更新设备文件
-r 只读挂载,相当于“-o ro”
free 查看内存大小
-m: 空间大小换算为MB
-g: 空间大小换算为GB
Linux系统有一个理念:“一切皆文件”,所以计算机的硬件在linux中也是以“文件”的形式存在于/dev目录中。
比如,光驱对应的文件是/dev/cdrom,CPU对应的文件是/dev/cpu。而硬盘对应的是/dev/sd*。第一块硬盘是/dev/sda,第二块磁盘是/dev/sdb。
IDE磁盘的设备文件采用/dev/hdx 来命名,分区则采用/dev/hdxy来命名,其中想表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推),与代表分区的号码(由1开始,1,2,3,以此类推)
SCSI设备和分区采用/dev/sdx和/dev/sdxy来命名(x和y的命名规则与IED磁盘命名规则一样)。
A、对IED接口
第一主盘:hda第一从盘:hdb 第一从盘第一分区:hdb1
B、对SCSI接口
第一主盘:sda 第一从盘:sdb 第一从盘第一分区:sdb1
但是一个磁盘通常又被分成多个分区,所以在磁盘文件的后面加上分区的序号来对应这个分区。参考下面的表格中的例子。
Linux磁盘分区与文件系统类常用命令
介绍2种分区表:
所支持的最大卷:2T (Tterabytes,1TB=1024GB)
对分区的设限:最多4个主分区或3个主分区加一个扩展分区。
MBR分区的原理:
MBR:主引导扇区
主分区表:64bytes,最多只能分四个主分区,每个主分区的记录(相关信息,比如分区大小,位置)在主分区表里占14bytes。
如 果要建多于四个的分区,就要拿出一个主分区做为扩展分区,再在扩展分区里面进行其它的分区 *** 作。在 建扩展分区的时候会建立一张对应的扩展分区表,它记录了在这个扩展分区里的分区的相关信息;理论上它没有分区数量的限制,在扩展分区内部的分区叫做逻辑分 区,如上图中的 /dev/hda5,/dev/hda6/,/dev/hda7
格式化原理:
在 分好区后,分区里面是空的,没有任何东西。为了能让OS识别,就必须要向分区里写入相应格式的数据。
比如windows的 FAT32,NTFS,Linux的ext2,ext3,ext4
Windows/dos常用的分区工具:fdisk/partition magic/diskpart
Linux下常用的分区工具:
fdisk/sfdisk:命令行工具,各种版本和环境都能使用,包含在软件包util-linux中
diskdruid:图形化分区工具,只能在安装REDHAT系统时使用。
支持最大卷:18EB,(E:exabytes,1EB=1024TB)
每个磁盘最多支持128个分区
所以如果要大于2TB的卷或分区就必须得用GPT分区表。
Linux下fdisk工具不支持GPT,得使用另一个GNU发布的强大分区工具parted。
fdisk工具用的话,会有下面的警告信息:
下面是用parted工具对/dev/sda做GPT分区的过程:
如果我们的磁盘是2T以下的,但是分区表示GPT格式,我们也可以使用parted 命令将该分区表删除, mklabel msdos 这条命令就是用来删除 part分区 ,将GPT分区表删除后,再来使用 fdisk 建立MBR分区表,可以参考 https://www.xiaohuai.com/4870
mkfs - 支持ext2、ext3(日志)、ext4、vfat、msdos、jfs、reiserfs等
用法1:mkfs -t <fstype><partition>
用法2:mkfs.<fstype><partition>
ps:格式化分区之后,可以使用e2label命令给分区添加卷标
e2label 分区路径 卷标名
查看已经挂载的分区
或者
使用 mount 命令挂载
使用umount卸载分区时,可以指定挂载点,也可以指定挂载的路径, 卸载分区umount命令格式:
umount [option] special | node
或者
PS: 处理umount的时候显示 device busy?
这是因为有程序正在访问这个设备,最简单的办法就是让访问该设备的程序退出以后再umount。可能有时候用户搞不清除究竟是什么程序在访问设备,如果用户不急着umount,则可以用:
CODE:
选项 –l 并不是马上umount,而是在该目录空闲后再umount。还可以先用命令ps aux 来查看占用设备的程序PID,然后用命令kill来杀死占用设备的进程,这样就umount的非常放心了。
linux系统在启动时,会从/etc/fstab文件自动挂载分区。
如下是一个fstab文件的示例。
fstab中,每条配置信息都分为固定的6个部分
[1]: 分区路径,或者UUID
[2]: fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。
[3]: fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext4 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、isoArray600等。在不确定的情况下可以使用auto。
[4]: fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。
对于大多数系统使用"defaults"就可以满足需要。不多说。
[5]: fs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设
置该字段为0
[6]: fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字
段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0
参考
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)