当前位置: 首页 > news >正文

Linux磁盘查看,使用(分区、格式化、挂载)

目录

0、观察磁盘分区状态:lsblk、blkid、parted

0.1  lsblk列出系统上的所有磁盘列表

0.2  blkid列出设备的UUID等参数

0.3  parted列出磁盘的分区表类型与分区信息

1、磁盘分区:gdisk、fdisk

1.1  fdisk

2、磁盘格式化(创建文件系统):mkfs

3、文件系统挂载

3.1.1  手动挂载:mount

3.1.2 手动取消挂载:umount

 3.2  自动挂载

3.3 重启自动挂载失败解决问题


如果我们想要在系统里面新增一块磁盘时,应该有哪些操作需要做:

  1. 对磁盘进行划分,以建立可用的硬盘分区
  2. 对该硬盘分区进行格式化(format),以建立系统可用的文件系统
  3. 若想要仔细一点,则可对刚刚建立好的文件系统进行检验
  4. 在Linux系统下,需要建立挂载点(亦即是目录),并将它挂载上来

0、观察磁盘分区状态:lsblk、blkid、parted

目前磁盘分区主要有MBR以及GPT两种格式,这两种格式所使用的的分区工具不太一样,因此我们需要去知道目前系统有哪些磁盘以及分区方式等等信息

0.1  lsblk列出系统上的所有磁盘列表

可以把lsblk看做 list block device 的缩写,也就是列出所有存储设备的意思

lsblk【-dfimpt】【device】

选项与参数:

-d:仅列出磁盘本身,并不列出该磁盘的分区数据

-f:同时列出该磁盘内的文件系统名称

-i:使用ASCII的字符输出,不要使用复杂的编码(在某些环境下很有用)

-m:同时输出该设备在/dev下面的权限信息(rwx的数据)

-p:列出该设备的完整文件名,而不是列出最后的名字而已

-t:列出该磁盘设备的详细信息,包括磁盘阵列机制、预读写的数据量大小等

列出本系统下所有的磁盘与磁盘内的分区信息:

f1ceee74e4184050bff59b6a3a62dd35.png

目前系统主要有个sr0以及一个nvme0n1设备 

lsblk默认输出的信息:

NAME:设备的文件名,会省略/dev等前导目录

MAJ:MIN:分别为主要与次要设备代码(内核识别的设备就是通过这两个代码实现的)

RM:是否为可拆卸设备(removable device),如光盘、USB磁盘等

SIZE:容量

TYPE:是磁盘(disk)、分区(partition)还是只读存储器(rom)等输出

MOUNTPOINT:挂载点

列出/dev/nvme0n1设备内所有数据的完整文件名:

0838843d8b2c44ba9b22f1c9e053df0b.png

0.2  blkid列出设备的UUID等参数

UUID时全局唯一标识符(universally unique identifier),Linux会将系统内所有的设备都给予一个独一无二的标识符,这个标识符可以拿来挂载或是使用这个设备或文件系统

1aa90468924348adad6f8d569937bb33.png

补充:lsblk -f也可列出设备的UUID

a114c27dc08e42269f1537df749cdd8d.png

0.3  parted列出磁盘的分区表类型与分区信息

parted devicename print

列出/dev/nvme0n1磁盘的相关信息

99d0c71442034f498d84e4906296b929.png

Model:磁盘的模块名称(厂商)

Disk:磁盘的总容量

Sector size(logical/physical):磁盘的每个逻辑/物理扇区容量

Partition Table:分区表格式(MBR/GPT)

msdos是基于MBR的

13b3ad4ddbcb4f4db45bebe30b5a6ff4.png

这些是分区数据

1、磁盘分区:gdisk、fdisk

MBR分区表请使用fdisk分区,GPT分区表请使用gdisk分区

为讲解fdisk命令,新建了两块磁盘来供我们使用(sda与nvme0n2)7ef9a0a535be4db5b7ea3dc22e140f44.png 

1.1  fdisk

语法:

fdisk 设备名称

ed978d66382f4154b9b004abd5086caa.png

 输入m查看命令

d36185fbbeea4bd5bc01244c9944e021.png

Help:DOS (MBR)a   toggle a bootable flagb   edit nested BSD disklabelc   toggle the dos compatibility flagGenericd   delete a partitionF   list free unpartitioned spacel   list known partition typesn   add a new partitionp   print the partition tablet   change a partition typev   verify the partition tablei   print information about a partitionMiscm   print this menuu   change display/entry unitsx   extra functionality (experts only)ScriptI   load disk layout from sfdisk script fileO   dump disk layout to sfdisk script fileSave & Exitw   write table to disk and exitq   quit without saving changesCreate a new labelg   create a new empty GPT partition tableG   create a new empty SGI (IRIX) partition tableo   create a new empty DOS partition tables   create a new empty Sun partition table

介绍其中常用的目录:
   d   delete a partition 删除一个磁盘分区
   n   add a new partition 新增一个磁盘分区
   p   print the partition table 在屏幕上显示分区表
   w   write table to disk and exit 保存退出
   q   quit without saving changes 不保存退出

先查看一下我们的分区表(此时是没有分区的)

3cc3dcaea68f44859cb1b65013ca7e79.png

创建一个分区的各个流程

新增分区:n

a5bed697de8b453f9a45d0745b026470.png

  p   primary (0 primary, 0 extended, 4 free) 主分区
  e   extended (container for logical partitions) 扩展分区

选择分区类型:p/e

646f7362c7d847bf9ea526cf17146958.png

分区位置:1-4

75693de1d6f54e2a964e2d434be3b9cb.png

选择起始扇区位置和结束扇区位置

7a2971f2a649406b9c4f5c3d95bdc3dd.png

结束扇区的位置除了选择数字外还可以使用+/-来选择容量大小,因为通过512B*扇区数量来计算比较麻烦

全部流程:

创建一个主分区

6baa77c332d24433b2313d0deeaf4045.png

创建一个扩展分区

8b70a168956648caabfba19b5ad8edee.png

创建一个逻辑分区(逻辑分区是位于扩展分区内的)

b4e66c7401564b6998d21a5c1ccfd519.png

 此时我们来查看一下分区表

7877d03596084fc688fe9ff48186ded6.png

 保存退出

e15dff7b1aea45bf878435bf528cd7ac.png

 查看路径下的sda磁盘(1-4是给主分区和逻辑分区使用的)

df8b778c973f4dcdb3e69037a2c1da85.png

1.2  fdisk

语法:gdisk 设备名称

gdisk跟fdisk使用方法几乎一样,这里就不做多介绍了

补充:使用partprobe更新Linux内核的分区表信息,因为有时候Linux还在使用磁盘,为了防止和系统出问题,所以分区表有时候没有被更新,这个时候有两种方法来处理:一种为重新启动,另一种就是利用partprobe命令

partprobe【-s】加上选项-s可以把信息打印到屏幕上

2、磁盘格式化(创建文件系统):mkfs

mkfs命令有一个-t选项可以供我们指定要构建的文件系统的类型

-t, --type type
           Specify the type of filesystem to be built. If not specified, the default filesystem type (currently ext2) is used

mkfs其实是一个综合命令,当我们使用mkfs -t xfs时,他就会去找mkfs.xfs相关的参数给我们使用;当我们使用mkfs -t ext4时,他就去找mkfs.ext4的相关参数,所以mkfs -t xfs(mkfs -t ext4)与使用mkfs.xfs(mkfs.ext4)是一样的

3cd5e25e70584b1c8d286efae2ecc9e3.png

fb99ab6b629c43ad9b4c31e074cec462.png

使用不同的文件系统,它输出的效果是不同的

3、文件系统挂载

挂载点是一个目录,这个目录是进入磁盘分区(其实是文件系统)的入口

在挂载前,你需要确认一下:

  • 单一文件系统不应该被重复挂载在不同的挂载点(目录)中
  • 单一目录不应该重复挂载多个文件系统
  • 要作为挂载点的目录,理论上应该都是空目录才行

如果用来挂载的目录不为空,那么挂载了文件系统之后,原目录下的东西就会暂时地消失

3.1.1  手动挂载:mount

mount  -a

mount  -l

mount 【-t 文件系统】LABEL=‘ ’  挂载点

mount 【-t 文件系统】UUID=‘ ’  挂载点

mount 【-t 文件系统】设备文件名  挂载点

选项与参数:

-a:依照配置文件/etc/fstab的数据将所有未挂载的磁盘都挂载上来

-l:单纯的输入mount会显示目前挂载的信息,加上-l可增列Label名称

-t:可以加上文件系统种类来指定欲挂载的类型

-n:在默认情况下,系统会将实际挂载的情况即时写入/etc/mtab中,所以可使用-n来避免写入

-o:后面可以接一些挂载时额外加上的参数

ef99f98064e24eb293d74fe4190d3ca8.png

25bef70d57264446b0a37dd84168ec3f.png

db3e56490d86407393ce40916cdfdf4f.png

这个时候,我们就可以进入挂载点来使用磁盘 

取消挂载后,在磁盘中创建的文件还会存在于磁盘,但挂载点下已经无法找到了,因为取消了挂载就取消了进入此磁盘的入口

3.1.2 手动取消挂载:umount

umount 设备名/文件系统/挂载点

c4cda653febd4172b6132a7eea210e9d.png

4535a1d750d540a981ccd4219f5e4409.png

3.2  自动挂载

如何开机时自动把我们的文件挂载好,直接到/etc/fstab中去修改就行

系统挂载的一些限制:

  • 根目录时必须挂载的,而且优先级一定要先于其他挂载点被挂载进来
  • 其他挂载点必须为已建立的目录,可任意指定,但一定要遵循必须的系统目录架构原则(FHS)
  • 所有挂载点在同一时间之内只能挂载一次
  • 所有硬盘分区在同一时间之内挂载一次
  • 如若进行卸载,你必须先将工作目录已到挂载点(及其子目录)之外

/etc/fstab文件内容:

dbe1559151f146618f1529a8ffcb2343.png

这个文件就是我们利用mount命令进行挂载时,将所有选项与参数写入的文件

这个文件共有六部分

第一栏:磁盘文件名/UUID/LABEL name

第二栏:挂载点(目录)

第三栏:磁盘分区的文件系统

第四栏:文件系统参数

第五栏:是否能被dump备份命令作用

第六栏:是否以fsck检验扇区

修改文件内容使之能够开机自动挂载

b75e80a935f5449dbb405645eb19d28a.png

保存退出后,我们重启看看

2716b876fa5f4ffda2d1d25f99344531.png

3.3 重启自动挂载失败解决问题

当我们的磁盘出现问题(此处把磁盘的分区删除了)时,重启时挂载不上怎么办

3659044a4d804962a3e026f8b720b132.png

解决方案:

在启动界面选择第一项,并按e进入编辑

929cc40b20fd40c19d70fb6c68d05f5c.png

进入此界面后,在linux开头到quiet结尾的句子最后加上rd.break

ed057e4aa351483887e492205a9c4ba7.png

加入后按ctrl+x继续启动,进入紧急模式

5427f62827c04b9698b5fefe1e5a830c.png

进入紧急模式输入root密码

e837832ba53f45409ffcb41059f79341.png

输入mount -n -o remount,rw /sysroot重新挂载根目录

chroot  /sysroot切换文件系统

vim /etc/fstab编辑文件,将挂载错误的文件系统删除或注销(sda1的那一行删除)

45d3cc5c616e474ba0ef2e1bca53a4a5.png

最后两个exit退出根文件系统和紧急模式 等待系统启动

相关文章:

Linux磁盘查看,使用(分区、格式化、挂载)

目录 0、观察磁盘分区状态:lsblk、blkid、parted 0.1 lsblk列出系统上的所有磁盘列表 0.2 blkid列出设备的UUID等参数 0.3 parted列出磁盘的分区表类型与分区信息 1、磁盘分区:gdisk、fdisk 1.1 fdisk 2、磁盘格式化(创建文件系统…...

走进WebGL

什么是 WebGL? WebGL 是一种跨平台、免版税的 API,用于在 Web 浏览器中创建 3D 图形。基于 OpenGL ES 2.0,WebGL 使用 OpenGL 着色语言 GLSL,并提供熟悉的标准 OpenGL API。因为它在 HTML5 Canvas 元素中运行,所以 We…...

Unity 中 Awake 和 Start 时机与 GameObject的关系

Awake和Start很相似,都是在脚本的初始阶段执行 但是有两点重要不同: Awake先执行Awake即便在脚本 disabled (即enabled false)时,也会执行,但是Start就不会执行了 对一个物体: 当初始没有激…...

1月份 GameFi 行业报告

Jan. 2023, DanielData Source: January Monthly GameFi Report在经历了艰难的一年之后,1 月是对加密货币市场最有利的月份。虽然可以说的大部分内容适用于其他看涨周期,但有几个统计数据令 1 月在区块链领域非常有趣。例如&#…...

JVM - 调优

目录 调什么,如何调 内存方面 线程方面 如何调优 调优的目标,策略和冷思考 JVM调优的目标 常见调优策略 JVM调优冷思考 调优经验与内存泄漏分析 JVM调优经验 内存泄露 调什么,如何调 内存方面 JVM需要的内存总大小各块内存分配,新生代、老年代、存活区选…...

flask配置https协议

感谢https://blog.csdn.net/qq_33934427/article/details/127456673,文中多有参考再实践一、要用https协议需要有ca证书,在windows10先下载windows版本openssl,地址如下https://share.weiyun.com/vfjVrMAb我是64位的选择下载完毕安装后配置环…...

Springboot 我随手封装了一个万能的导出excel工具,传什么都能导出

前言 如题,这个小玩意,就是不限制你查的是哪张表,用的是什么类。 我直接一把梭,嘎嘎给你一顿导出。 我知道,这是很多人都想过的, 至少我就收到很多人问过我这个类似的问题。 我也跟他们说了,但…...

【Linux详解】——进程控制(创建、终止、等待、替换)

📖 前言:本期介绍进程控制(创建、终止、等待、替换)。 目录🕒 1. 进程创建🕘 1.1 fork函数初识🕘 1.2 fork的返回值问题🕘 1.3 写时拷贝🕘 1.4 创建多个进程&#x1f552…...

HummerRisk V0.9.1:操作审计增加百度云,增加主机检测规则及多处优化

HummerRisk V0.9.0发布:增加RBAC 资源拓扑图,首页新增检查的统计数据,云检测、漏洞、主机等模块增加规则,对象存储增加京东云,操作审计增加金山云,镜像仓库新增设置别名。 感谢社区中小伙伴们的反馈&#…...

Rust入门(十六):手写web服务器和线程池

这一章将实现一个手写的 web server 和 多线程的服务器,用到之前学到的所有特性 简单的web server 作为一个 web 服务器,我们首先要能接收到请求,目前市面上的 web 服务大多数都是基于 HTTP 和 HTTPS 协议的,而他们有是基于 TCP…...

数据结构——第二章 线性表(1)——顺序结构

线性表1. 线性表1.1 线性表的定义1.1.1 访问型操作1.1.2 加工型操作1.2 线性表的顺序存储结构1.2.1 定义顺序表数据类型方法11.2.2 定义顺序表数据类型方法21.3 顺序表的基本操作实现1.3.1 顺序表的初始化操作1.3.2 顺序表的插入操作1.3.3 顺序表的删除操作1.3.4 顺序表的更新操…...

YOLO 格式数据集制作

目录 1. YOLO简介 2.分割数据集准备 3.代码展示 整理不易,欢迎一键三连!!! 1. YOLO简介 YOLO(You Only Look Once)是一种流行的目标检测和图像分割模型,由华盛顿大学的 Joseph Redmon 和 Al…...

基于linux内核的驱动开发

1 字符设备驱动框架 1.1字符设备 定义:只能以一个字节一个字节的方式读写的设备,不能随机的读取设备中中的某一段数据,读取数据需要按照先后顺序。(字符设备是面向字节流的) 常见的字…...

找不到工作的测试员一大把,大厂却招不到优秀软件测试员?高薪难寻测试工程师。

测试工程师招了快一个月了,实在招不到合适的,已经在被解雇的边缘了。。。” 初级测试工程师非常多,但真正掌握测试思维、能力强的优秀测试太少了! 据我所知, 当下的测试人员不少状态都是这样的: 在工作中…...

buuctf Basic

buuctf Basic 1.Linux Labs 根据提示我们可以知道需要远程连接linux服务器,这里使用xshell进行如下配置 输入ssh的用户名root,密码123456 连接成功 构造命令 ls …/ 查看文件 查看flag cat …/flag.txt 为flag{8fee8783-1ed5-4b67-90eb-a1d603a0208…...

赛狐ERP|亚马逊产品缺货怎么办?该如何补救?

由于物流时效的延长,运输成本的增加,亚马逊的仓储限制等各种原因,断货问题很常成为亚马逊卖家的普遍困扰。那么亚马逊产品缺货应该怎么办!1、提高产品价格:除了卖自己的Listing此外,提高产品价格也是一种保…...

《Elasticsearch源码解读与优化实战》张超-读书笔记

写在前面 好久没更新博客了,应届狗没办法啊╮(╯▽╰)╭为了秋招搞了小半年,从去年5月到现在搞了两段实习(京东、游戏公司),最终年前拿到一家还不错的offer,现在已经入职实习了,不出意外的话以…...

编码踩坑——运行时报错java.lang.NoSuchMethodError / 同名类加载问题 / 双亲委派【建议收藏】

本篇介绍一个实际遇到的排查异常的case,涉及的知识点包括:类加载机制、jar包中的类加载顺序、JVM双亲委派模型、破坏双亲委派模型及自定义类加载器的代码示例;问题背景业务版本,旧功能升级,原先引用的一个二方包中的du…...

软件测试选Python还是Java?

目录 前言 1、先从一门语言开始 2、两个语言的区别 3、两个语言的测试栈技术 4、如何选择两种语言? 总结 前言 对于工作多年的从业者来说,同时掌握java和Python两门语言再好不过,可以大大增加找工作时的选择范围。但是对于转行的人或者…...

“2023数据安全智能化中国行”活动,开幕即高能

工信部等16部门近日发布的《关于促进数据安全产业发展的指导意见》提出,到2025年,数据安全产业基础能力和综合实力明显增强,数据安全产业规模超过1500亿元,年复合增长率超过30%。到2035年,数据安全产业进入繁荣成熟期。…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...