当前位置: 首页 > 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年,数据安全产业进入繁荣成熟期。…...

机器人操作规划——Deep Visual Foresight for Planning Robot Motion(2017 ICRA)

1 简介 model-based RL方法,预测Action对图像的变化,以push任务进行研究。 采用完全自监督的学习方式,不需要相机标定、3D模型、深度图像和物理仿真。 2 数据集 采用几百个物体、10个7dof机械臂采集了包括5万个push attempts的数据集。 每…...

go 连接redis集群

最近用redis shake做redis数据迁移,由于redis提供的客户端没有用于查看集群的工具,且我部署的redis集群是基于k8s来构建的,没有使用ingress做转发,所以只能在k8s内部访问集群,于是我先用gogin框架编写了访问redis集群的…...

LeetCode 146. LRU 缓存

原题链接 难度:middle\color{orange}{middle}middle 题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCacheLRUCacheLRUCache 类: LRUCache(intcapacity)LRUCache(int capacity)LRUCache(intcapacity) 以 正整数 …...

【mac】在m2 mbp上通过Parallels Desktop安装ubuntu22.04

文章目录前言一、参考文章二、版本信息三、方法1:通过ubuntu官网提供的iso安装3.1 配置服务器3.2 安装图形界面四、方法2:通过Parallels Desktop提供的安装包五、 小工具5.1 调整应用栏图标大小5.2 ubuntu获取mac的剪切板5.3 调整terminal字体大小5.4 安装samba5.5 ubuntu连接m…...

C++类和对象,初见类

坚持看完,结尾有思维导图总结 这里写目录标题C语言和 C 的区别类的定义类的初认识类的内容访问限定符类的作用域类的实例化类中的 this 指针总结C语言和 C 的区别 C 的祖师爷除了在 C语言的基础上化简了一些复杂操作 更为重要的是,两个语言实现的过程是…...

Redis常用数据结构及应用场景

1.总体结构 Redis中的数据,总体上是键值对,不同数据类型指的是键值对中值的类型。 2.string类型 Redis中最基本的类型,它是key对应的一个单一值。二进制安全,不必担心由于编码等问题导致二进制数据变化。所以redis的string可以…...

C++虚继承内存布局

C菱形继承内存布局 编译器&#xff1a;Visual Studio 2019 关于如何查看内存布局 B class B { public:B(): _ib(10), _cb(B){cout << "B()" << endl;}B(int ib, char cb): _ib(ib), _cb(cb){cout << "B(int,char)" << endl;}vi…...

IO模型--从BIO、NIO、AIO到内核select、poll、epoll剖析

IO基本概述 IO的分类 IO以不同的维度划分&#xff0c;可以被分为多种类型&#xff1b;从工作层面划分成磁盘IO&#xff08;本地IO&#xff09;和网络IO&#xff1b; 也从工作模式上划分&#xff1a;BIO、NIO、AIO&#xff1b;从工作性质上分为阻塞式IO与非阻塞式IO&#xff1b…...

Zebec完成BNB Chain以及Near链上协议部署,多链化进程加速

从去年开始&#xff0c;Zebec 就开始以多链的形式来拓展自身的流支付生态&#xff0c;一方面向更多的区块链系统拓展自身流支付协议&#xff0c;即从Solana上向EVM链上对协议与通证等进行迁移与拓展。目前基本完成了在BNB Chain以及Near上的合约部署&#xff0c;且能够在这些EV…...

wpscan常见的使用方法

目录 简单介绍 暴力破解 信息收集 指定用户爆破 命令集合 简单介绍 Wordpress是一个以PHP和MySQL为平台的免费自由开源的博客软件和内容管理系统。 WPScan是Kali Linux默认自带的一款漏洞扫描工具&#xff0c;它采用Ruby编写&#xff0c;能够扫描WordPress网站中的多种安…...

怎么做网站音乐/免费的模板网站

项目中使用了Lombok&#xff0c;这次升级之后&#xff0c;出现了如下问题&#xff1a; Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of XXXXXXX(no Creators, like default construct, exist): can not deserialize from O…...

合肥网站建设 微笑互联/永久不收费的软件app

点 机械前沿”关注置顶引领机械前沿、机械视频&#xff0c;汽车、加工技术、3D打印、自动化、机器人、生产工艺、轴承、模具、机床、钣金等行业前沿在这里等你 电气故障现象是多种多样的&#xff0c;例如&#xff0c;同一类故障可能有不同的故障现象…...

wordpress 分类目录/怎么优化自己网站

版本过高错误 比如我的webpack是3.6.0版本 而我的css-loader是5.0.0 这里就会出现这个错误 解决办法&#xff1a; 1&#xff0c;手动设置&#xff0c;然后采用npm install 重新下载 2&#xff0c;卸载重装 npm uninstall css-loader //卸载 npm install css-loader3.0.0 --s…...

建设电商网站/培训机构不退费最有效方式

linux shell命令下我们可以通过相关命令关闭和重启计算机&#xff0c;下面由学习啦小编为大家搜集整理了linux shell的关机命令是什么的相关知识&#xff0c;希望对大家有帮助!linux shell的关机命令问题描述对于Linux系统而言&#xff0c;许多时候是用于服务器之类的&#xff…...

哈尔滨网站建设那家好/淘宝推广公司

根据浏览器的保护规则&#xff0c;跨域的时候我们创建的sessionId是不会被浏览器保存下来的&#xff0c;这样&#xff0c;当我们在进行跨域访问的时候&#xff0c;我们的sessionId就不会被保存下来&#xff0c;也就是说&#xff0c;每一次的请求&#xff0c;服务器就会以为是一…...

世安建设集团有限公司网站/seoul是什么意思

为什么80%的码农都做不了架构师&#xff1f;>>> 在 Linux 平台上运行的进程都会从系统资源申请一定数量的句柄&#xff0c;而且系统控制了进程能够申请的最大句柄数量。用户程序如果不及时释放无用的句柄&#xff0c;将会引起句柄泄露&#xff0c;从而可能造成申请…...