Linux系统下磁盘到文件系统的操作过程
当我们购进一块新的磁盘(以 Serial Disk 串口硬盘为例),想把它安装到我们的 Linux 系统下为我们所用,这个过程是怎么样的呢?需要用到哪些操作命令?笔者将在本文详细阐述这个过程。
如下图所示,在整个过程中,我们需要经历四个步骤:磁盘安装、磁盘分区、创建文件系统、挂载。接下来我们将从这四个部分分别阐述(附加“卸载”一节)。
1. 磁盘安装
首先,我们需要把新 SD 硬盘安装到我们的机器中,并做好数据线与电源线连接。本文中我们以 Oracle VM VirtualBox 创建模拟的 SD 硬盘。
2. 磁盘分区
SD 硬盘成功安装后,启动 Linux 系统,我们将在系统 /dev 目录下看到我们新安装的硬盘设备。如图所示,sdc 即是我们新安装的硬盘(sda, sda1, sda2, sdb, sdb1, sdb2, sdb5, sdb6 是我们已经在使用的硬盘)。
(1) 首先,我们使用 fdisk -l 命令查看新装磁盘 sdc 的相关详细信息,如:磁头数、扇区数与柱面数等。
fdisk -l /dev/sdc
(2) 使用 fdisk 命令进行磁盘分区
fdisk /dev/sdc
这时系统会提示 Command (m for help): 的命令行,在此我们输入字符 m 以寻求帮助信息。
从图中可以看出,系统为我们列出了 a, b, c... 多个命令选项,并附加了相关说明。接下来,我们将通过这些命令完成磁盘分区。
分区方案:将 sdc 磁盘(共4G)分为一个主分区 sdc1 (2G)和一个扩展分区 sdc2 (2G),并将扩展分区 sdc2 划分为两个逻辑分区 sdc5 (1G), sdc6 (1G)。
紧跟着上图所示的窗口,输入命令创建一个新分区,如下图所示。
1. 输入命令 n, 系统将列出扩展分区与主分区两个选项: e extended 与 p primary partition (1-4)
2. 输入 p,系统提示输入分区号, Partition number (1-4)
备注:以MBR形式作为主引导记录的磁盘,最大支持 4 个主分区
3. 输入 1,系统提示输入起始柱面号, First cylinder (1-522, default 1), 默认为1
4. 输入 1 或者 直接回车,系统提示输入结尾柱面号, Last cylinder...
备注:在此可直接使用 +size{K, M, G} 格式以表示该分区的大小,{K, M, G} 分别代表Kb, Mb, Gb
5. 输入 +2G,回车
按上述步骤即可完成主分区 sdc1 的创建,输入命令 p,可查看分区信息,如下图所示:
按上述步骤,根据命令提示即可完成扩展分区 sdc2 以及逻辑分区 sdc5, sdc6的创建。
最后, 输入命令 w 以将分区信息写入磁盘即可完成磁盘分区操作。(备注:如果将分区信息写入磁盘而直接退出,此次分区操作将不会生效)。
可以通过如下命令查看分区信息。
// 查看分区信息前,请通过如下命令使内核更新分区表 partprobe // 查看分区信息 ls /dev/sdc* fdisk -l cat /proc/partitions // proc文件夹下保存了操作系统的实时信息, partitions文件即为分区信息文件
3. 创建文件系统
操作系统是通过文件系统对磁盘上的文件和数据进行管理的,所以磁盘或分区需要被创建文件系统之后才能够被操作系统使用,创建文件系统的过程又称为格式化。
我们将通过 mke2fs 命令对第二节中的 sdc1, sdc5, sdc6 三个新分区创建 ext4 文件系统。
// 分别为 sdc1, sdc5, sdc6 创建 ext4 文件系统 mke2fs -t ext4 /dev/sdc1 // 参数 -t 表示所创建文件系统的类型 mke2fs -t ext4 /dev/sdc5 mke2fs -t ext4 /dev/sdc6
如上图所示,通过 mke2fs 命令我们成功为 sdc1 分区创建了 ext4 文件系统。
mke2fs 命令还支持下述几个参数:
-b blocksize // 文件系统块(读取文件系统的最小单位)大小,默认为 4K -c // 创建文件系统时,检查磁盘是否有坏损块 -j // 创建文件系统日志 -L label // 指定卷标,同 windows 系统下重新命名盘符名称一样,如将D盘盘符修改为 games