专栏首页微光点亮星辰Linux系统磁盘分区及挂载 - fdisk

Linux系统磁盘分区及挂载 - fdisk

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。
  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

Linux系统磁盘分区及挂载 - fdisk

文本关键字:文件系统,磁盘分区,格式化,挂载

一、文件系统

1. 文件系统的作用

当我们拿到一块新的硬盘时,他所能够支持的最大空间只是代表硬件上的一个参数,我们要想让他能够正常的工作起来,必须要有相应的文件系统。文件系统决定了文件存储和管理时的方式和数据结构,也就是如何管理磁盘上的文件和文件夹。不同的文件系统拥有不同的特点,这也就是为什么我们在进行格式化操作必须要选定一种文件系统的原因。当在一个操作系统(Windows、Linux、MacOS)中使用文件系统时,通常都会做一个统一的接口,来进行文件的读写,所以会存在某些文件系统只适用与某一种操作系统的情况。

  • 系统调用接口:系统为用户的使用提供的接口
  • 虚拟文件系统:整合不同的文件系统的API接口,使用统一的方式来操作,如挂载、创建目录等
  • 文件系统:具体使用什么文件系统类型,由使用者通过格式化命令来决定
  • 通用块设备层:对于不同的硬盘驱动进行管理,为上一次提供统一的接口
  • 设备驱动:对于不同的硬件设备会有相应的驱动,保证磁盘可用,通用的硬盘驱动也会直接编译到内核中

2. 常见Linux文件系统

  • MINIX:Linux最早使用的文件系统,目前主流版本的Linux系统已不再使用
  • EXT:CentOS 5/6主要使用的文件系统(EXT2、EXT3、EXT4)
    • EXT3:最大能够管理16TB的单个分区,2TB的单个文件
    • EXT4:最大能够管理1EB的单个分区,16TB的单个文件
  • FAT:微软早期使用的文件系统(FAT12、FAT16、FAT32)
    • FAT16:最大能够管理2GB的单个分区,2GB的单个文件
    • FAT32:最大能够管理2TB的单个分区,4GB的单个文件
  • NTFS:目前Windows系统主流使用的文件系统
    • 最大能够管理的单个分区:2TB
    • 最大支持的单个文件:2TB
  • SWAP:严格来说并不是文件系统的一种,属于内存交换分区,类似于Windows的虚拟内存,当系统的运行内存不足时,将使用该部分的空间当做内存使用。既然并不是用来存储文件的,那么格式化以及启用的方式也会有所不同。

二、添加硬盘

本文使用VMware虚拟机来进行演示添加一块新硬盘的过程

  • 如果是在开机状态下添加,需要重启启动虚拟机来进行识别

1. 打开虚拟机设置

2. 添加设备

3. 硬盘类型选择

如果是在真实机器下操作,不必纠结这个,直接插线就好。本例中使用的SCSI,所以添加之后一定要重启虚拟机。

  • IDE:接口最大速度为133MB/s,已逐渐被SATA所取代
  • SCSI:小型机系统接口,适用于工作站及个人PC和服务器
  • SATA:支持热插拔,速度也比IDE快很多

4. 硬件创建向导

  • 建议大家选择:将虚拟磁盘存储为单个文件,使用时速度会快一些。

三、磁盘分区

1. MBR分区表

分区表就是去整个磁盘分区情况的一个记录,对于MBR类型的分区表来说,该部分会占用512bytes(1扇区)的空间。MBR分区表不支持2TB以上的硬盘。

  • 主引导记录:占用446bytes
  • 分区表:最多有四个分区,包括主分区和扩展分区,占用64bytes
    • 分区结束符:55AA,占用2bytes

2. 硬盘识别

  • 设备信息目录:/dev
    • 对于IDE类型的磁盘,命名格式:/dev/hd
    • 对于SATA/SCSI/SAS类型的磁盘,命名格式:/dev/sd
  • 添加前:只有默认的一块硬盘,被识别为sda
    • sda1和sda2为分区的编号
  • 添加后:出现新识别的硬盘,被识别为sdb

3. 分区工具:fdisk

使用fdisk工具可以对2TB以下的磁盘来进行分区,使用MBR分区表,大于2TB的磁盘需要使用parted工具。

  • 查看识别到的硬盘:fdisk -l

4. 设置分区

  • 使用fdisk工具对指定磁盘进行分区(一定要指定磁盘,否则容易把自己的系统搞崩溃哦):
fdisk /dev/sdb
  • 分区步骤
    • 使用命令n新建分区
    • 选择分区类型
    • 选择分区编号(逻辑分区无此步骤)
    • 选择开始位置
    • 选择结束位置(用于指定分配的空间大小)

通常我们需要根据分配空间的大小来决定终止位置,直接使用+size{K,M,G}的格式操作。

  • 设置主分区:分配5GB的空间
    • 命令:n
    • 类型:p
    • 编号:1
    • 开始位置:1
    • 结束位置:+5G
    • 分区表打印:p
  • 设置扩展分区:分配剩余所有空间
    • 命令:n
    • 类型:e
    • 编号:2
    • 开始位置:回车
    • 结束位置:回车
    • 分区表打印:p
  • 设置逻辑分区:新建两个大小为5GB的空间
    • 命令:n
    • 类型:l
    • 开始位置:回车
    • 结束位置:+5G
    • 命令:n
    • 类型:l
    • 开始位置:回车
    • 结束位置:+5G
    • 分区表打印:p
  • 保存退出:命令w

四、格式化

1. 文件系统格式化

  • ext4格式化:将第一个主分区格式化为ext4文件系统
mkfs.ext4 /dev/sdb1
  • fat32格式化:将第一个逻辑分区格式化为ext4文件系统
mkfs.vfat -32 /dev/sdb5

2. swap空间格式化

将第二个逻辑分区格式化为swap类型

mkswap /dev/sdb6

五、挂载和启用

1. 文件系统的挂载

文件系统的挂载主要分为两步,确定挂载点 -> 进行挂载。本例中将在/mnt路径下创建两个文件夹作为挂载点,在挂载之前,该目录属于原磁盘sda,查看可用空间时将显示sda可用空间。如果挂载成功,向该目录存储文件将占用sdb的空间,并且文件也会存储在sdb磁盘上,查看可用空间时将会显示sdb对应分区的使用空间。

  • 将一个主分区挂载至/mnt/ext4目录
mkdir /mnt/ext4
df -h /mnt/ext4
mount /dev/sdb1 /mnt/ext4
df -h /mnt/ext4
  • 将第一个逻辑分区挂载至/mnt/fat32目录
mkdir /mnt/fat32
df -h /mnt/fat32
mount /dev/sdb5 /mnt/fat32
df -h /mnt/fat32
  • 解除挂载命令为:umount,只需要一个参数,可以是分区名称,也可以是挂载点

2. swap空间的启用

由于swap是一块用来充当内存的空间,所以我们不会直接向其中存储文件,自然也不需要挂载点,只要启用就可以了。

  • swapon:开启
  • swapoff:关闭
  • 开启第二个逻辑分区对应的swap空间
swapon /dev/sdb6

本文分享自微信公众号 - 微光点亮星辰(SandTower),作者:沙塔的哲学

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-08

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • FTP下载数据

    普通工程(单机)会把一些数据放在工程里面,这样做并不是不可以,但对以后扩展维护或者工程越来越大的时候会出现意想不到的问题。

    聚沙成塔
  • 两个程序的爱情故事(续)

    我这个进程和她不在一个机器上, 虽然相距243毫秒,但是这并不是阻碍我们交往的理由, 我每天都通过socket 和她来通信,诉说相思之情。

    聚沙成塔
  • dubbo+zookeeper+struts2+spring+mybatis

    本篇文章使用dubbo+zookeeper+Struts2+spring+mybatis来做一个例子。

    聚沙成塔
  • ROS机器人项目开发11例-ROS Robotics Projects(5)深度学习

    1 如何自学深度学习并少走弯路:https://www.leiphone.com/news/201611/cWf2B23wdy6XLa21.html

    zhangrelay
  • 迈克尔杰克逊的4K高清修复视频技术解码

    近日网上的一个迈克尔杰克逊代表作《Smooth Criminal》MV官方高清修复版,的视频赚足了大家的眼球。这次的高清修复不仅分辨率达到了4K,原本的25帧录...

    代码医生工作室
  • 使用cookie登录网站——请确认网址和Cookie是否正确

    在使用web漏洞扫描过程中,如果是需要登录才能扫描的页面,是需要添加cookie信息进行模拟扫描。使用过程中有可能会碰到“验证登录网址访问超时,请确认网址和Co...

    陈佳
  • 硅谷科技巨头CEO一年赚多少?这10位高薪代表了解一下

    就在科技巨头们纷纷向SEC提交报告之际,我们赶紧给大家梳理梳理,看看全美科技巨头的CEO们,到底在2019年这一年里挣了多少钱?

    量子位
  • Wolfram 语言在数学建模中的应用

    本书旨在对数学建模领域进行一般性介绍,涵盖了从优化到动态系统到随机过程的广泛建模问题。强调原则和一般技术为学生提供了他们在各种学科中模拟现实问题所需的数学背景。

    WolframChina
  • C#——操作Word并导出PDF

      首先引用这个DLL,Microsoft.Office.Interop.Word,官方提供的。

    _一级菜鸟
  • 如何选择合适的物联网云平台

    如今,物联网的应用越来越广泛,很多组织需要学习基础知识,并根据其需求选择合适的物联网云平台,但通常不知道应该选择哪个。组织选择合适的供应商可能是一项复杂的工作,...

    静一

扫码关注云+社区

领取腾讯云代金券