今天学习了Linux对于磁盘分区的操作以及概念,首先要搞清楚,分区和文件系统是两回事,分区是将硬盘划分出一个个区域,这个时候,我们这个磁盘还是不能用的,它只是一个被划分好的区域而已,就相当于我们的房子,有墙有地面,也有屋子,但是里边什么都没有,这样肯定是不能住人的,对吧。那么我们现在想要住人的话,就要开始装修,而这个过程就是我们对硬盘进行写入文件系统,有了文件系统,我们就可以正常使用硬盘了,就好比我们把房子装修了一遍,有床,有厕所,可以住人了。
在Linux下,我们使用fdisk命令来对硬盘进行分区。
注意fdisk需要root权限。而且fdisk只能操作基于MBR分区的硬盘,GPT可能会出错,MBR和GPT,理论解释大家可以百度,网上有很多。简单来说,就是支持的硬盘容量不一样了。GPT更大一些,当然还有好多区别,这里不过多解释了。
我们来看看fdisk命令:
在root状态下,输入fdisk -l 可以列出全部的分区信息,值得注意的是,Linux下,任何硬件都被抽象成了一个“文件”,而不是我们在Windows下说的CDEF盘,例如Linux下的/dev/sda/ 就代表第一块硬盘/dev/sda/sda1 就代表第一块硬盘的第一个分区。。。依次类推。我们在进行分区操作的时候,使用fdisk + 硬盘路径就可以了
比如我现在有第二块硬盘sdb,那么就输入:fdisk /dev/sdb,回车,就可以对硬盘开始进行分区操作了。
可以根据提示,进行新增分区等一些列操作。
分区好之后使用partprobe命令,强制内核更新分区信息,否则可能会出现没有分区的情况。
我们也可以在proc/partions文件内查看分区的信息。
分区好之后,我们就要在划分好的分区上建立文件系统了,我们用mke2fs创建文件系统,其中有许多参数:
-t 指定文件系统格式,-b 指定系统块大小, -c 创建时,检查硬盘是否有坏道, -L 指定卷标, -j 创建日志
在WIndows下我们常用的有FAT32和NTFS,在Linux下常用的是ext3,ext4.
我们可以这样创建一个文件系统:mke2fs -t ext4 /dev/sda2 这个命令就是将第一块硬盘的第二个分区格式化为ext4格式。
同样的mkfs命令与mke2fs命令相似,都是创建文件系统的,只不过mkfs参数少一些,方便使用,缺点就是不能全面的控制。
还是上边的例子,我们可以写成mkfs.ext4 /dev/sda2 .
设置好之后,我们就可以正常的使用这个硬盘了,还有几个命令也是经常用到的:
1、dumpe2fs 查看分区文件系统的信息
2、e2label 设置分区的卷标
3、fsck 检查并修复损坏的文件系统