Linux磁盘分区管理与挂载

一、准备工作

1、磁盘的物理组成:

圆形的磁盘(主要记录数据的部分);

机械手臂,与在机械手臂上的磁盘读取头(可擦写磁盘盘上的数据);

主轴马达,可以转动磁盘盘,让机械手臂的读取头在磁盘盘上读写数据。

扇区(Sector)为最小的物理储存单位,每个扇区为 512 bytes;

将扇区组成一个圆,那就是磁柱(Cylinder),磁柱是分割槽(partition)的最小单位;第一个扇区最重要,里面有:

主引导区(Master boot record, MBR),占有 446 bytes。

分区表(partition table),占有 64 bytes。

2、各种接口的磁盘在 Linux 中的文件名分别为:

/dev/sd[a-p] [1-15]:为 SCSI, SATA, USB, Flash 随身碟等接口的磁盘文件名;

/dev/hd[a-d] [1-63]:为 IDE 接口的磁盘文件名;

3、磁盘的分区:

主分区与扩展分区最多可以有四个(硬盘的限制)。

扩展分区最多只能有一个(操作系统的限制)。

逻辑分区是由扩展分区分割出来的分区;

能被格式化用作存储数据的分区是主分区与逻辑分区,扩展分区不能被格式化。

逻辑分区的数量根据操作系统而不同,在 Linux 系统中,IDE 硬盘最多有 59 个逻辑分区(5 号到 63 号), SATA 硬盘则有 11 个逻辑分区(5 号到 15 号)。

4、"fdisk –l"命令——查看分区信息

Device:分区的设备文件名称。

Boot:是否是引导分区。是,则带有“*”标识。

Start:该分区在硬盘中的起始位置(柱面数)。

End:该分区在硬盘中的结束位置(柱面数)。

Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。

Id:分区类型的 ID 标记号,对于 EXT4 分区为 83,LVM 分区为 8e。

System:分区类型。

5、在虚拟机中添加硬盘

Linux磁盘分区管理与挂载_第1张图片

二、对硬盘进行分区

1、硬盘分区命令:fdisk

举例:fdisk /dev/sdb:对指定的硬盘进行分区。

Linux磁盘分区管理与挂载_第2张图片

2、按 m 键获取帮助信息

Linux磁盘分区管理与挂载_第3张图片

3、创建主分区,大小为 5G

Linux磁盘分区管理与挂载_第4张图片

4、查看创建的主分区信息

Linux磁盘分区管理与挂载_第5张图片

5、创建扩展分区

Linux磁盘分区管理与挂载_第6张图片

6、创建逻辑分区

Linux磁盘分区管理与挂载_第7张图片

7、查看分区信息

Linux磁盘分区管理与挂载_第8张图片

三、格式化分区命令:mkfs

命令格式:mkfs –t 文件系统类型 分区设备

默认使用的是 ext4 文件系统,Linux 也支持 Windows 中的 FAT32 文件系统,在 Linux 中表示为 vfat。

**举例:**将/dev/sdb1 格式化为 ext4 文件系统。

[root@localhost ~]# mkfs -t ext4 /dev/sdb1

**举例:**将/dev/sdb5 格式化为 fat32 文件系统。

[root@localhost ~]# mkfs -t vfat /dev/sdb5

四、挂载/卸载文件系统

1、挂载文件系统

通 过 之 前 的 操 作 ,已 经 将 系 统 中 新 增 加 的 第 二 块 硬 盘 分 成 了 4 个 分 区 :/dev/sdb1、/dev/sdb4、/dev/sdb5、/dev/sdb6,其中/dev/sdb4 作为扩展分区,无法实际使用,实际可用的分区只有三个,但这个三个分区也无法直接被使用,要想使用这些分区,还必须经过最后一步操作:挂载。挂载是 Linux 系统与 windows 系统在存储设备操作方式上的一个非常重要的区别。

(1) 了解什么是挂载

挂载就是指定系统中的一个目录作为挂载点,用户通过访问这个目录来实现对硬盘分区的数据存取操作。例如把/dev/sdb5 挂载到/tmp/目录,当用户在/tmp/目录下执行数据存取操作时,Linux 系统就知道要到/dev/sdb5 上执行相关的操作。

(2)mount 命令——挂载文件系统

挂载由 mount 命令来完成,可以灵活的挂载各种类型的文件系统。

命令格式:mount [选项] [设备名] [挂载点]

选项 功能说明
-t fstype 指定要挂载的文件系统的类型,如果不清楚,可以使用-t auto 让系统己选择最合适的文件系统类型挂载。
-r 以只读的方式挂载文件系统
-w 以读写的方式挂载文件系统,默认选项
-o 设置挂载属性
-a 挂载/etc/fstab 文件中记录的设备
  • 文件系统类型通常可以省略(由系统自动识别)

  • 文件系统对应分区的设备文件名

  • 挂载点为用户指定用于挂载的目录

挂载点必须是一个已经存在的目录,一般在挂载之前使用 mkdir 命令先创建一个新的目录,如果把现有的目录当做挂载点,则这个目录最好为空目录。

(3)挂载硬盘分区

将“/dev/sdb1”挂载到“/data”目录下

Linux磁盘分区管理与挂载_第9张图片

(4)df 命令—查看已挂载的文件系统

df 命令主要用来了解系统中已经挂载的各个文件系统的磁盘使用情况。

常用选项:

选项 功能说明
-h 显示更易读的容量单位
-T 显示文件系统的类型

(5)挂载光盘

在挂载光盘和 U 盘等外围设备时一般习惯性地将挂载点放在/mnt 目录下。

**举例:**光盘对应的设备文件通常为“/dev/cdrom”,将光盘挂载到“/mnt/cdrom”目录。

Linux磁盘分区管理与挂载_第10张图片

(6)挂载移动存储设备

Linux 系统将 USB 接口的移动设备视作 SCSI 设备对待,使用“/dev/sdxx”的设备文件名。

(7)挂载 ISO 镜像

Linux 将 iso 镜像视为一种特殊的“回环”文件系统,在挂载时需要添加“-o loop”选项。

2、自动挂载(永久挂载)文件系统

​ 通过 mount 命令挂载的文件系统在 Linux 系统关机或重启时都会自动被卸载,这样每次开机后管理员都需要将它们手工挂载一遍,如果在挂载的文件系统里存放了一些开机要自动运行的程序数据,就可能导致程序出现错误。在 Linux 系统中可以通过改/etc/fstab(File System Table)文件来完成文件系统的自动挂载,即表示系统启动以后自动将硬盘各分区挂载到文件系统中,用户可以直接使用这些分区中的内容。

(1)/etc/fstab 文件内容

Linux磁盘分区管理与挂载_第11张图片

**第 1 字段:**需要挂载的设备文件名。

**第 2 字段:**挂载点,必须是一个目录,而且必须用绝对路径。对于交换分区,这个字段定义为 swap。

**第 3 字段:**文件系统的类型。如果是 ext4 文件系统,则写成 ext4;如果是 FAT32 文件系统,则写成 vfat;如果是光盘,可以写成 auto,由系统自动检测。

**第 4 字段:**挂载选项。一般都是采用“defaults”。

**第 5 字段:**文件系统是否需要 dump 备份,1 表示需要,0 表示忽略。

**第 6 字段:**在系统启动时是否检查这个文件系统以及检查的顺序,0 表示不检查,1 表示优先检查,2 表示其次检查。

(2)修改/etc/fstab 文件,实现自动挂载

举例 1:将/dev/sdb1 永久挂载到/data 目录:

/dev/sdb1 /data ext4 defaults 0 0

**举例 2:**将光盘永久挂载到/mnt/cdrom 目录:

/dev/cdrom /mnt/cdrom auto defaults 0 0

设置完成后,可以执行“mount –a”命令,自动挂载文件中所有的文件系统。

3、umount——卸载文件系统

文件系统可以被挂载,不用时可以被卸载。卸载文件系统的命令是 umount,这个命令可以把文件系统从 Linux 系统中的挂载点上分离,将原来建立的文件系统和挂载点的连接断掉。命令格式:umount [设备名或者挂载点]

在卸载一个文件系统的时候,需要指定要卸载的文件系统的挂载点或者设备名。

例如:

[root@localhost ~]#umount /dev/sdb1 //指定设备名卸载 
[root@localhost ~]#umount /mnt/sdb1 //指定挂载点卸载

如果卸载文件系统提示:“busy 状态,不可卸载时”,使用 fuser 命令查看正在使用该文件系统的用户信息。

命令格式:fuser [options] 文件系统名或者文件名

选项 功能说明
-a 显示所有在命令行中指定的文件系统信息。默认情况下,至少被一个进程访问的文件才会被显示。
-k 杀死访问文件的进程。
-i 在杀死使用文件的用户进程之前,提示确认
-u 显示使用文件系统的进程的所有者信息。
-v 按进程查看命令 ps 的显示模式,显示文件的使用者信息,包括 PID、USER、COMMAND等。

**举例:**查看哪个进程打开了当前目录下的 cdrom 文件夹。

[root@localhost~]# fuser /mnt/cdrom
/mnt/cdrom:     71992c

杀死进程的方法:

[root@localhost~]#kill -9 71992
[root@localhost~]#fuser -km /mnt/cdrom

你可能感兴趣的:(Linux系统)