Linux磁盘-格式化&挂载

发布时间 - 2025-06-21 00:00:00    点击率:

作者简介:一位在简历上没有标注精通的运维工程师。希望大家多多关注作者,以下思维导图展示了预计更新的内容和当前进度(不定期更新)。

Linux磁盘相关的命令虽然不多,但在实际运维中却非常重要,因为Linux系统和业务都依赖于硬盘。如果磁盘使用和配置不当,可能会导致系统无法启动或业务系统无法提供预期的服务。

本文将从以下几个方面介绍Linux磁盘管理:

  1. 分区介绍
  2. 创建分区
  3. MBR与GPT
  4. 格式化与挂载(本章节)
  5. inode与硬连接
  6. 磁盘操作命令
  7. 小结

在开始之前,我们如何判断分区是MBR还是GPT呢?

# 安装时选择中文,可以使用中文过滤,dos即为MBR,gpt即为GPT。
[root@localhost ~]# fdisk -l | grep "磁盘标签"
磁盘标签类型:dos
磁盘标签类型:gpt

本章节将介绍如何对使用MBR和GPT创建的分区进行格式化和挂载。

[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  500M  0 part /boot
└─sda2   8:2    0 19.5G  0 part /
sdb      8:16   0   20G  0 disk 
└─sdb1   8:17   0   20G  0 part 
sdc      8:32   0    3T  0 disk 
└─sdc1   8:33   0    3T  0 part 
sr0     11:0    1  942M  0 rom

在Windows中,我们格式化时有两种文件系统:NTFS和FAT32。而在Linux中,目前最常用的文件系统是ext4和xfs。我们将使用不同的方式格式化两块磁盘。

小知识:在ext4之前还有ext3和ext2,当然在其他类型的Linux中还有更多的文件系统。

  1. 格式化ext4
[root@localhost ~]# mkfs.ext4 /dev/sdc1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608000 inodes, 786431488 blocks
39321574 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=293391564824000 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    102400000, 214990848, 512000000, 550731776, 644972544
Allocating group tables: 完成                           
正在写入inode表: 完成                           
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
  1. 格式化xfs
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310656 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242624, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
  1. 挂载磁盘

前面提到,磁盘可以挂载到任何目录,但系统自带的目录通常在安装系统时就已配置完毕,一般不建议修改。我们将创建两个新目录进行挂载。挂载和卸载使用mountumount命令。

[root@localhost ~]# mkdir /data /data1
[root@localhost ~]# mount /dev/sdb1 /data
[root@localhost ~]# mount /dev/sdc1 /data1
[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  500M  0 part /boot
└─sda2   8:2    0 19.5G  0 part /
sdb      8:16   0   20G  0 disk 
└─sdb1   8:17   0   20G  0 part /data
sdc      8:32   0    3T  0 disk 
└─sdc1   8:33   0    3T  0 part /data1
sr0     11:0    1  942M  0 rom  
### 
[root@localhost ~]# umount /data1
### 卸载时最常见的问题是磁盘正在使用中,无法卸载。这里可能会涉及到`lsof`和`fuser`命令,有兴趣可以进一步了解。
  1. 配置fstab

如果挂载后直接使用没有问题,但如果系统主动或被动重启,磁盘会恢复到未挂载状态。如何实现开机自动挂载呢?在Linux中,有一个文件可以配置磁盘的自动挂载。

在挂载时,我们使用的是设备地址,而在配置文件中使用的是UUID。它们有什么区别呢?每个磁盘的UUID是固定的,因此使用UUID更可靠。如果使用设备名称,可能会因为磁盘故障或重启导致设备名称变化,从而引发问题。

确认配置方法后,参考上面的格式进行配置。配置完成后,最好重启系统,以确保配置正确,避免正式使用后因重启引发的问题。

良好的运维习惯是需要培养的。

[root@localhost ~]# cat /etc/fstab 
## /etc/fstab
# Created by anaconda on Fri Jun  7 19:56:34 2025
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=fb21e404-5ed7-400f-b936-ce2d8b631bfe /                       xfs     defaults        0 0
UUID=15251c96-cf20-46c3-ac06-c5b86c4afe70 /boot                   xfs     defaults        0 0
[root@localhost ~]# blkid
/dev/sda1: UUID="15251c96-cf20-46c3-ac06-c5b86c4afe70" TYPE="xfs" 
/dev/sda2: UUID="fb21e404-5ed7-400f-b936-ce2d8b631bfe" TYPE="xfs" 
/dev/sdb1: UUID="9fcb9c55-b38c-472e-b8b7-07db7b243e4f" TYPE="xfs" 
/dev/sdc1: UUID="53e67bf0-fe14-4cd0-bcd9-8b9720e2360b" TYPE="ext4" PARTLABEL="primary" PARTUUID="cea97c50-59e7-4f79-9454-5b86fd67b7a0" 
/dev/sr0: UUID="2019-09-11-19-02-53-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTY
# 可以使用,但不推荐的方式
/dev/sdb1                                 /data                   xfs    defaults        0 0
# 推荐的挂载方式
UUID=53e67bf0-fe14-4cd0-bcd9-8b9720e2360b /data1                  ext4   defaults        0 0


# linux  # centos  # windows  # access  # ai  # 区别  # red  # gpt  # 思维导图  # 重启  # 文件系统  # 的是  # 而在  # 可以使用  # 即为  # 两种  # 不多  # 但在  # 有兴趣 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  详解vue.js组件化开发实践  jquery插件bootstrapValidator表单验证详解  Windows Hello人脸识别突然无法使用  详解MySQL数据库的安装与密码配置  Android仿QQ列表左滑删除操作  深圳网站制作培训,深圳哪些招聘网站比较好?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  Android实现代码画虚线边框背景效果  如何在万网自助建站中设置域名及备案?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  微信小程序制作网站有哪些,微信小程序需要做网站吗?  java获取注册ip实例  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何在万网主机上快速搭建网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Angular 表单中正确绑定输入值以确保提交与验证正常工作  JavaScript如何实现音频处理_Web Audio API如何工作?  ,南京靠谱的征婚网站?  怎样使用JSON进行数据交换_它有什么限制  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  WordPress 子目录安装中正确处理脚本路径的完整指南  5种Android数据存储方式汇总  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  EditPlus中的正则表达式 实战(4)  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  ,交易猫的商品怎么发布到网站上去?  Laravel如何创建自定义Artisan命令?(代码示例)  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Linux系统运维自动化项目教程_Ansible批量管理实战  Python结构化数据采集_字段抽取解析【教程】  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  微信小程序 scroll-view组件实现列表页实例代码  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  Swift开发中switch语句值绑定模式  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  微信小程序 wx.uploadFile无法上传解决办法  jQuery validate插件功能与用法详解  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  如何在 React 中条件性地遍历数组并渲染元素  如何在腾讯云服务器上快速搭建个人网站?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法