[linux文件系统]从磁盘到分区到文件系统
格式化
低级格式化 创建磁道 -->物理层面
高级格式化 创建文件系统 --> 逻辑层面
创建文件系统
step 1 创建分区
step 2 格式化文件系统
分区是什么?
分是将一个硬盘划分为若干连续的储存区域,分区表保存硬盘分区的索引。
为什么要有分区?
保护数据,也便于文件系统管理区
硬盘分区
- 主分区(primary partition)
- 扩展分区(extended partition)
- 逻辑分区(logical partition)
在物理磁盘真正意义层面上,只有主分区和扩展分区。硬盘分区信息保存在分区表(partition table)中,对操作系统而言,未分配空间是文件系统之外的不可用区域。
主分区和扩展分区
在 Windows 平台下**的主分区是硬盘的启动分区,一般是 C 盘,也是硬盘的第一个分区。在 Linux 平台主分区和扩展分区都可以用以安装操作系统核心。
-
主分区不能再将其划分不同区域来使用,数据直接保存在主分区的存储单元上
-
扩展分区不能直接用于储存数据,必须将扩展分区划分为更小的存储单元,即逻辑分区,数据都是保存在逻辑分区中。
-
总的来说,一个硬盘只能划分为四个分区(主分区和扩展分区),一个主分区就是一个分区,一个扩展分区可以划分为任意数量的逻辑分区
逻辑分区可以有多个,扩展分区只能有一个,主分区最多有四个
主引导扇区MBR
主引导扇区是位于磁盘最前面一段保存引导(loader)代码的区域(0盘面0磁道0扇区),该代码也被称为主引导记录(MBR, Main Boot Record)
MBR这段代码的作用
- 让磁盘操作系统(DOS)对磁盘进行读写时分区合法性判断
- 引导电脑设备进入安装在硬盘上的操作系统程序
MBR主要分为三个部分
- 446byte BootLoader 引导加载,程序 它在硬盘启动后,将系统控制权转交给在分区表中登记的操作系统,让操作系统可以操作磁盘
- 64byte 16byte标识一个分区 只能划分四分区 主分区+扩展区 -->柱面进行分区
- 2byte MagicNumber 值为AA55(16进制)标记MBR是否有效
磁盘分区命令 fdisk
实验环境:VMware Workstation 14 Pro
系统平台:ubuntu 16.04 LTS
step 1 在虚拟机中添加5G大小的新磁盘(我选择的是SCSI类型)
step2 fdisk -l 查看连接在电脑上的磁盘
显示本机有20G的原装机的磁盘sda和5G位分区的新磁盘sdb
注:sda,sdb是系统自动分配的,顺序不一定
step 3新建分区
fdisk /dev/sdb
进入交互式界面
选项有
- p:显示当前硬盘分区 包括没有保存的改动
- n:创建新分区
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions) - d: 删除一个分区
- w:保存退出
- q:不保存退出
- t:修改分区类型ext3
L: 在修改分区中查看所支持的分区类型 - l:显示所支持的分区类型
创建一个大小为512M的分区
-
创建一个大小为128M的swap分区
-
现在创建完两个分区,保存退出
-
更新磁盘分区后,需要内核重读硬盘分区表(/proc/partitions)
partprobe命令
到此,磁盘的分区创建完成
step4 格式化文件系统 mke2fs
sdb1 512M 创建ext2 分区
sdb2 125M 创建ext3 分区
step5 挂载磁盘
mount 命令
格式化完,会在磁盘创建一个lost+found目录。标志文件系统格式化成功
注:使用完记得卸载
fuser -km /dev/sdb1 /dev/sdb2 停止正在访问的挂载的设备文件
umount /dev/sdb1 /dev/sdb2
总结
本篇主要讲解分区,以及分区的一整个流程。篇幅的原因,将整个流程走了一遍,但是格式化文件系统mke2fs,简单走了一遍。下一篇将详细讲解文件系统的创建和管理。
- 创建文件系统 step 1 创建分区,step 2 格式化文件系统
- 一个硬盘只能划分为四个分区(主分区和扩展分区),一个主分区就是一个分区,一个扩展分区可以划分为任意数量的逻辑分区
- 主引导扇区是位于磁盘最前面一段保存引导代码的区域,该代码也被称为主引导记录
- fdisk命令来创建和修改分区命令