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

news2024/11/17 4:58:09

目录

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 flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag

  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   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退出根文件系统和紧急模式 等待系统启动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/350273.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis高级:数据结构

动态字符串SDS Redis保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题: 获取字符串长度需要进行一个运算非二进制安全…

【Unity VR开发】结合VRTK4.0:其他类抓取

语录: 一个正确的认识,往往需要经过由物质到精神,由精神到物质,即由实践到认识,由认识到实践这样多次的反复,才能够完成。 前言: 前面我们简单的使用了Interactions.Interactable的抓取。今天…

Ant Design Chart词云图

什么是词云图?词云图,也叫文字云,是对网络文本中出现频率较高的“关键词”予以视觉上的突出,出现越多,显示的字体越大,越突出,这个关键词也就越重要。让浏览者通过词云图一眼就可以快速感知最突…

Java_Maven:3. 分模块构建工程

目录 1 需求 2 案例实现 2.1 maven-parent 父模块 2.1.1 创建父工程 2.1.2 定义 pom.xml 2.1.3 将父工程发布至仓库 2.2 ssm_dao 子模块 2.2.1 创建 dao 子模块 2.2.2 定义 pom.xml 2.2.3 dao 代码 2.2.4 配置文件 2.2.5 单元测试 2.2.6 把 dao 模块 install 到本…

MySQL的索引视图练习题

学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score)…

FDX-B|EMID格式低频RFID 读卡模块LD6900技术选型与说明

FDX-B|EMID格式低频RFID 读卡模块LD6900是华翔天诚推出一款基于 RFID 无线射频识别技术的低频(LF)读卡模块,工作频率支持 134.2KHZ、125KHZ,符合 ISO 11784/5 国际标准,支持对 FDX-B、EMID 两种协议格式电子标签的读取…

C++ ---智能指针详解

文章目录前言一、 为什么需要智能指针?二、内存泄漏2.1 什么是内存泄露?危害是什么?2.2 内存泄露的分类2.3 如何避免内存泄露三、智能指针的使用及原理3.1 RAII3.2 智能指针的原理3.3 std::autoptr3.4 std::unique_ptr3.5 std::shared_ptrstd::shared_ptr的循环引…

Beefxss使用教程图文教程(超详细)

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 Beefxss一、首次使用二、修改账号密码三、自带练习页面四、简单使用五、工具界面介绍六、功能演示1、网页重定向2、社工弹窗3、功能颜色标识…

2022黑马Redis跟学笔记.实战篇(四)

2022黑马Redis跟学笔记.实战篇 四4.3.秒杀优惠券功能4.3.1.秒杀优惠券的基本实现一、优惠卷秒杀1.1 全局唯一ID1.2 Redis实现全局唯一Id1.3 添加优惠卷1.4 实现秒杀下单4.3.2.超卖问题4.3.3.基于乐观锁解决超卖问题1. 悲观锁2. 乐观锁3. 乐观锁解决超卖问题4.4 秒杀的一人一单限…

蓝桥杯stm32 USART 串口接收数据

文章代码使用 HAL 库。 文章目录 前言一、创建 CubeMX 工程:二、 中断接收数据 函数:三、串口接收回调函数实验效果四、接收固定长度的数据。五、串口接收 不定长数据。总结前言 上篇文章是 串口的发送数据,这篇文章接着上次的 讲 串口的接受数据。 一、创建 CubeMX 工程:…

信息安全(一)

思维导图 一、AES加解密 1.概述 1.1 概念 AES: 高级加密标准(Advanced Encryption Standard)是一种对称加密的区块加密标准。 (1)替代DES的新一代分组加密算法 (2)支持三种长度密钥&#x…

网络知识点梳理与总结

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.知识点梳理 前言 本章将会对高级网络应用一些知识点进行梳理。 一.知识点梳理 1.单臂的缺陷有哪些?

大学生博主-14天学习挑战赛活动-CSDN

还在为写文没有流量发愁吗?还沉浸在假期中无法恢复状态吗?赶快来参与面向CSDN的大学生博主而举办的活动吧!本次活动为了避免刷量行为,也为了保持公平性,能够选出最优秀的文章,特意邀请了五位在C站具有一定影…

文华财经期货指标公式量化策略分析软件,多空共振信号准确率高的公式源码

期货指标公式信号本身就有滞后性,周期越大,滞后性越久。指标公式不是100%稳赚的工具,只是在合适的时候让我们理性看待行情,减少逆势操作。 多空量化三维系统是一款通过数学分析、挖掘价格运动规律,对历史价格走势、趋势…

SQLSERVER 临时表和表变量到底有什么区别?

一:背景 1. 讲故事 今天和大家聊一套面试中经常被问到的高频题,对,就是 临时表 和 表变量 这俩玩意,如果有朋友在面试中回答的不好,可以尝试看下这篇能不能帮你成功迈过。 二:到底有什么区别 1. 前置思…

了解僵尸网络攻击:什么是僵尸网络,它如何传播恶意软件以及如何保护自己?

进行系统安全安排的专业人员非常了解“僵尸网络”一词。通常用于被劫持的计算机/系统链,如果指示恢复性和健壮的系统,则应很好地理解“僵尸网络”一词,因为它们的错误使用会导致巨大的混乱。 文章目录前言一、僵尸网络定义僵尸网络如何工作&a…

HTTP API自动化测试从手工到平台的演变

不管是 Web 系统,还是移动 APP,前后端逻辑的分离设计已经是常态化,相互之间通过 API 调用进行数据交互。在基于 API 约定的开发模式下,如何加速请求 / 响应的 API 测试,让研发人员及早参与到调试中来呢?既然…

数据结构与算法-数组

前言:几乎所有的编程语言都原生支持数组类型。因为数组是最简单的内存数据结构。创建一个数组:let arr new Array()或let arr new Array(5) // 指定长度或let arr new Array(1,2,3,4,5) // 将数组元素作为参数传给构造函数或let arr [1,2,3,4,5] // …

字节6面,成功唬住面试官拿了27K,软件测试面试也没有传说中那么难吧....

字节的面试挺独特,每轮面试都没有 HR 约时间,一般是晚上 8 点左右面试官来一个电话,问是否能面试,能的话开始面,不能就约一个其它时间。全程 6 面,前五面技术面,电话面试,最后一面是…

Windows中的CMD不需要死记硬背

日期:2023年2月16日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方&#xf…