Linux分区及文件系统

Linux分区与挂载

分区表

分区表(partition table)是将大表的数据分成称为分区的许多小的子集,类型有FAT16, FAT32, NTFS, exFAT, Ext2/3/4, HFS+, VMFS。另外,分区表的种类划分主要有:range(范围)、list(列表)和hash(散列)分区。划分依据主要是根据其表内部属性。同时,分区表可以创建其独特的分区索引。倘若硬盘丢失了分区表,数据就无法按顺序读取和写入,导致无法操作。

Kali Linux支持的分区表类型:aix、amiga、bsd、dvh、gpt、mac、msdos、pc98、sun、atari 及 loop。

磁盘结构

磁盘结构

磁盘主要分为以下结构:

  • 磁头(head):对磁盘的数据进行读写
  • 磁道(track):当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。 磁盘上的磁道是一组记录密度不同的同心圆
  • 扇区(sector):磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区。硬盘的第一个扇区,叫做引导扇区。 一个扇区的大小为512个字节。
  • 柱面(cylinder):在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面。

整个磁盘的存储大小为: 存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数

磁盘的使用

一块新的硬盘或者U盘等外部设备在插入PC后,需要完成以下事情:

  • 在/dev/下创建一个新的目录,用来代表该磁盘。如/dev/hda,/dev/hdb等。
  • 磁盘最开始需要进行格式化,使用mkfs命令为磁盘进行格式化,确定文件系统类型。
  • 对硬盘进行分区后才可以使用。
  • 在Linux中挂载到一个已经存在的目录下才可以访问该磁盘,否则无法访问。使用mountunmount来进行挂载和卸载。

一般挂在点都在/mnt/xxx目录下,并且该目录必须是已经存在的,否则无法挂载

fdisk的使用

在Linux中,使用fdisk来查看当前的硬盘以及硬盘的分区、文件系统等信息。并且使用fdisk命令可以为磁盘进行分区。 fdisk的命令有以下这些: Fdisk命令详解:

命令 备注
m 获取帮助
n 新建分区
p 显示分区表
d 删除分区
b 设置卷标
w 写入分区表
t 改变分区文件系统类型
v 检验分区
l 显示fdisk所支持的文件系统代码
q 退出
fdisk示例
  1. 使用fdisk -l查看当前所有硬盘以及分区的状态。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1305 10377990 8e Linux LVM

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

可以看到目前有两个磁盘:

  • sda:10.7G,255个磁头,63个磁道,1305个扇区
    • 主分区1:/dev/sda1
    • 主分区2:/dev/sda2
  • sdb:5G,255个磁头,63个磁道,652个扇区
    • 无分区

分区的概念

Linux中,磁盘只有被分区完后,才可以被挂载到目录下。

分区有三种:主分区,扩展分区,逻辑分区,每个磁盘最多只能有四个主分区,而可以有多个扩展分区,在扩展分区中,还可以创建多个逻辑分区。

  • 主分区:创建完后即可挂载
  • 扩展分区:扩展分区创建完后,还需要创建逻辑分区才可以被挂载

示例

格式化一块硬盘(hdb),并且对其进行分区,分区后进行挂载

创建主分区
  1. 通过fdisk /dev/hdb进入磁盘的命令模式
s22aqd4o24

进入格式化命令模式

  1. 输入n代表创建分区,e代表扩展分区,p代表主分区
0u6woej2nq

新建主分区

  1. 输入First Cylinder的值代表分区初始的柱面值,以及分区的大小+3G代表为该分区分3G
vopy3iwz2v

输入初始柱面的值以及分区大小

  1. 输入p查看创建的分区/dev/hdb1
rflbc73wpf

新建分区

创建扩展分区
  1. 与创建主分区步骤相同,只是在选择command action的时候,选择e,表示创建扩展分区
ymjwni22fr

创建后的扩展分区

  1. 在创建完扩展分区后,来创建逻辑分区,输入l代表创建逻辑分区
ra4wa3017d

创建逻辑分区

  1. 与创建主分区、扩展分区一样,为逻辑分区选择起始的柱面,以及分配的大小
y0kb4p9z23

分配分区大小

  1. 查看扩展分区
c78q2lt7wi

查看分区信息

分区格式化

在磁盘分区创建完毕后,需要为分区通过mkfs进行格式化,赋予它文件系统: 如ext2,ext3,vfat

使用命令 mkfs -t ext3 /dev/hdb1分别对分区hdb1进行格式化处理,格式化为ext3文件类型

其中mkfs –t ext3命令等价于mkfs.ext3mkfs -t ext2命令等价于mkfs.ext2

513p7ponts

mkfs命令

分区挂载

当分区格式化完成文件系统后,就可以通过mountunmount进行挂载与卸载了,当分区挂载到具体目录后,即可进行创建文件、删除文件等文件操作了。

mount /dev/hdb1 /mnt/hdb1就会将/dev/hdb1分区挂载到/mnt/hdb1目录下,也就是该目录下的文件都会被写到/dev/hdb1的磁盘分区中保存。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

Linux 文件系统

文件系统类型

Kali Linux支持:btrfs、exfat、ext2\3\4、f2fs、fat16、fat32、hfs、hfs+、jfs、linux-swap、lvm2 pv、minix、nilfs2、ntfs、reiser4、reiserfs、udf、xfs;

LINUX-SWAP

Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。 本文将从分区开始讲解如何开启SWAP交换空间

分区

1
2
3
# 查看块设备
# 如图可以看出硬盘sda和vdb还有剩余
[root@rainss ~]# lsblk

分区类型

主分区、扩展分区、逻辑分区

对齐类型

对齐到MiB、对齐到柱面