磁盘的分区、格式化、检验与挂载 ---- fdisk,mkfs,mount
磁盘的分区、格式化、检验与挂载
磁盘管理是非常重要的,当我们想要再系统里面新增一块磁盘使用时,应执行如下几步:
- 对磁盘进行划分,以建立可用的硬盘分区 (fdisk / gdisk)
- 对硬盘分区进行格式化,以建立系统可用的文件系统 (mkfs)
- 对刚刚建立好的文件系统进行检验 (fsck)
- 在Linux系统上,建立挂载点,将其挂载上来 (mount ; umount )
一、观察磁盘分区状态 lsblk ,blkid
- lsblk (list block device):列出系统上的所有磁盘列表
lsblk [选项] [device]
# 常用选项
# -d, --nodeps 仅列出磁盘本身不打印从属设备(slave)或占位设备(holder)
# -f, --fs 输出文件系统信息
# -i, --ascii 只使用 ascii 字符
# -m, --perms 输出权限信息
# -p, --paths 打印完整设备路径
# -t, --topology 输出拓扑信息
下图是我的虚拟机中默认的磁盘列表:
NAME : 设备的文件名 ,会忽略 /dev 前导目录
MAJ:MIN : 内核识别的设备
RM: 是否为可卸载的设备
SIZE : 容量
RO : 是否为只读设备
TYPE : 是磁盘(disk),还是分区(partition),还是只读存储器(rom)等输出
MOUNTPOINT : 挂载点
- blkid :列出设备的UUID,设备名称,文件系统的类型等参数
UUID 使全局唯一标识符,Linux会将系统内所有的设备都分配一个独一无二的标识符,这个标识符就可以拿来作为挂载或者是使用这个设备或文件系统。
二、磁盘分区 gdisk/fdisk
目前磁盘分区主要有MBR以及GPT两种格式,这两种格式所使用的分区工具不太一样。
MBR分区表使用 fdisk 分区,GPT 分区使用 gdisk分区。
(一)GPT 分区和 MBR 分区的概念
-
MBR 分区
MBR的意思是“主引导记录”。之所以叫“主引导记录”,是因为它是存在于驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。所谓启动加载器,是一小段代码,用于加载驱动器上其他分区上更大的加载器。如何MBR被覆盖,操作系统就无法启动了。
MBR支持最大2TB磁盘,它无法处理大于2TB容量的磁盘。MBR只支持最多4个主分区——如果你想要更多分区,你需要创建所谓“扩展分区”,并在其中创建逻辑分区。 -
GPT 分区
GPT意为GUID分区表。(GUID意为全局唯一标识符)。
这是一个正逐渐取代MBR的新标准。它和UEFI相辅相成——UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR。之所以叫作“GUID分区表”,是因为你的驱动器上的每个分区都有一个全局唯一的标识符(globally unique identifier,GUID)——这是一个随机生成的字符串,可以保证为地球上的每一个GPT分区都分配完全唯一的标识符。
在MBR磁盘上,分区和启动信息是保存在一起的。如果这部分数据被覆盖或破坏,事情就麻烦了。相对的,GPT在整个磁盘上保存多个这部分信息的副本,因此它更为健壮,并可以恢复被破坏的这部分信息。
GPT的硬盘大小大得多,几乎没有限制,最大可支持18EB。而主分区的数量也非常多,可以支持多达128个主分区,所以在GPT中没有扩展分区和逻辑分区的概念,都是主分区,当然也是可以创建的,但是没有必要。
GPT也有缺点,就是不太适合x86,也就是32位的系统。
(二)给现有虚拟机添加新的硬盘
这里先挂载一块新的硬盘,找到虚拟机设置,点击添加,然后基本就是默认的下一步即可,完整的流程如下:
添加新硬盘后,启动虚拟机,使用 fdisk 查看一下新加入的 硬盘的信息 (以下所有命令切换为root进行操作)
fdisk -l # 列出已知硬盘分区的文件系统
(三)使用fdisk对新增硬盘进行分区
将新增的/dev/sdb分为3个主分区,分别为2GB,3GB,5GB的磁盘空间
fdisk /dev/sdb # 列出/dev/sdb下的分区表
# 常用命令操作 (其他操作自行使用m选项进行查看)
# d delete a partition 删除一个磁盘分区
# m print this menu 显示可选的选项
# n add a new partition 新建一个磁盘分区
# p print the partition table 显示分区表格信息
# q quit without saving changes 退出并且保存修改
# t change a partition's system id 给分区设置系统号
# w write table to disk and exit 写入保存并退出
tips: 新建分区时,分区的起始地址都使用默认的,扇区大小自行分配
第一个主分区 /dev/sdb1
第二个主分区 /dev/sdb2
第三个主分区 /dev/sdb3 (记得使用w选项进行保存)
创建完三个主分区后,再次进行查看 ( fdisk -l 硬盘名 ),可以看到三个主分区已经创建成功
三、磁盘格式化(创建文件系统)
文件系统格式化命令: mkfs (make filesystem)
格式化为ext4的Linux文件系统
mkfs.ext4 [-b size] [-L lable] 设备名称
# -b :设置区块的大小,1K,2k,4k
# -L :设置设备的标头名称
依次将三个主分区都格式化:mkfs.ext4 /dev/sdb号
逐个格式化完毕后,使用blkid进行查看,可以看到/dev/sdb下的三个主分区已经格式化完毕
四、检验文件系统 (错误时才检验,正常不检验)
这里的话,使用fsck.ext4来检验处理ext4文件系统
fsck.ext4 [-pf] [-b 超级区块] 设备名称
tips : 只有超级用户root可以去使用这个命令,并且是当你的文件系统有问题的时候才会去使用,正常情况下是使用这个命令会对系统造成危害。
另外,被检查的硬盘分区不可挂载到系统上(需要卸载下来才能检查)
五、文件系统挂载与卸载
挂载点是目录,这个目录是进入磁盘分区(文件系统)的入口。
- 单一文件系统不应该被重复挂载在不同的挂载点(目录)中
- 单一目录不应该重复挂载在不同的挂载点(目录)中
- 要作为挂载点的目录,理论上应该都是空目录才行
a. 如果你用了挂载的目录不是空的,那么当你挂载了文件系统之后,原目录下的内容就会暂时的消失,挂载点被卸载后原有的东西就会出现
mount 命令进行挂载
mount [-lhV]mount -a [选项]mount [选项] [--source] <源> | [--target] <目录>mount [选项] <源> <目录>mount <操作> <挂载点> [<目标>]
umount 命令进行卸载
umount [-hV]umount -a [选项]umount [选项] <源> | <目录>
将 /home/robin/data 目录作为 /dev/sdb 的第一个主分区 /dev/sdb1 的挂载点
挂载后 /home/robin/data 的挂载信息发生变化,正确挂载
将其卸载,并且再次使用df命令进行查看
相关文章:

磁盘的分区、格式化、检验与挂载 ---- fdisk,mkfs,mount
磁盘的分区、格式化、检验与挂载 磁盘管理是非常重要的,当我们想要再系统里面新增一块磁盘使用时,应执行如下几步: 对磁盘进行划分,以建立可用的硬盘分区 (fdisk / gdisk)对硬盘分区进行格式化࿰…...
Solr搜索参数详解
Solr 页面搜索 1.1 基本查询 参数意义q查询的关键字,此参数最为重要,例如,qid:1,默认为q:,fl指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,…...

Flink(三)【运行时架构】
前言 今天学习 Flink 的一些原理性的东西,比较偏概念,但是十分重要。有人觉得上来框框敲代码才能学到东西,那是狗屁不通的道理(虽然我以前也这么认为)。个人认为,学习 JavaEE那些框架,你上来就敲…...
conda添加清华镜像源
一、conda下载 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 显示所有channel conda config --show channels 二、添加清华镜像源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://…...

「Verilog学习笔记」求两个数的差值
专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 timescale 1ns/1ns module data_minus(input clk,input rst_n,input [7:0]a,input [7:0]b,output reg [8:0]c );always (posedge clk or negedge rst_n) begin if (~rst_…...

微头条项目实战:通过postman测试登录验证请求
1、CrosFilter package com.csdn.headline.filters; import jakarta.servlet.*; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; public class CrosFilter implements Filter {/*** 过滤器方法,用于处理HTTP请求* param servletReq…...
ARCGIS SERVER WMS、WFS服务添加过滤条件
我们知道geoserver中的wms,wfs过滤参数为cql_filter。比如过滤字段“mc”为"恒宇花园"的数据: cql_filtermc‘恒宇花园 但是arcgis server有所不同。具体可以看下它的标准:使用 WMS 请求中的 layerDefs 参数过滤要素—文档 | ArcGIS Enterpris…...

2013年108计网
第33题 在 OSI 参考模型中, 下列功能需由应用层的相邻层实现的是()A. 对话管理B. 数据格式转换C. 路由选择D. 可靠数据传输 很显然,题目所问的应用层的相邻层是表示层。该层实现与数据表示相关的功能。选项a中的对话管理属于会话层。选项c中的路由选择属于网络层。…...

【数据结构】单链表OJ题(一)
🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 前言一、移除链表元素二、寻找链表中间结点三、输出链表倒数第k个结点四、反转单链表五…...

2023年云计算发展趋势浅析
云计算的概念 云计算是一种通过互联网提供计算资源和服务的模式。它允许用户通过网络访问和使用共享的计算资源,而无需拥有或管理这些资源的物理设备。云计算的核心理念是将计算能力、存储资源和应用程序提供给用户,以便随时随地根据需要…...

[极客大挑战 2019]Http1
打开题目 没有发现什么,我们查看源代码 在这里我们发现了提示 访问一下页面得到 提示说不能来自于https://Sycsecret.buuoj.cn,我们尝试访问一下这个url 发现访问不了 我们bp抓包一下 伪造个referer头 referer:https://Sycsecret.buuoj.cn 发包过去…...

C 语言 for循环
C 语言 for循环 在本教程中,您将借助示例学习在C语言编程中创建for循环。 在编程中,循环用于重复代码块,直到满足指定条件为止。 C语言编程具有三种循环类型: for 循环while 循环do… while 循环 我们将在本教程中学习for循环…...
浅谈数据结构之链表
链表是一种灵活的数据结构,有单向链表、双向链表和循环链表等多种形式。在本文中,我们将深入探讨单向链表、双向链表、循环链表的定义、Java实现方式、使用场景,同时比较它们的不同之处。我们还会介绍链表与队列之间的区别。 单向链表 定义…...
封装一个 虚拟列表渲染 组件
组件代码 <template><div ref"list" class"infinite-list-container" scroll"scrollEvent($event)"><div class"infinite-list-phantom" :style"{ height: listHeight px }"></div><div class…...
Spring中@Bean标注的方法是如何创建对象呢?
Bean 标注的方法如何创建对象呢? 参考文章:https://blog.csdn.net/qq_35971258/article/details/128241353 下边只讲一下 Bean 注解标注的方法,是如何去进行创建 bean,以及流程是怎样的,如果需要看源码具体执行流程&a…...

伦敦金股票代码是什么?
伦敦金是跟踪实时的现货黄金价格走势的差价合约交易,它的代码一般是LLG、GOLD,但也有一些货币交易平台会显示为XAU。伦敦金不是股票交易,因此没有四位数或六位数的股票代码,但伦敦金交易品种单一,投资者不用在数千支股…...

【环境装配】Anaconda在启动时闪现黑框,闪几次后仍能正常使用,解决黑框问题
anaconda闪黑框这个问题遇到好久了,也没找到相关资料来解决,今天做了两个更新,刚好可以不闪黑框了,记录一下。 更新anaconda 在界面右上角的位置点击更新,更新完后再打开时只闪现两个黑框了,之前好像有五…...

【Python】Python爬虫使用代理IP的实现
前言 在爬虫的过程中,我们经常会遇到需要使用代理IP的情况。比如,针对目标网站的反爬机制,需要通过使用代理IP来规避风险。因此,本文主要介绍如何在Python爬虫中使用代理IP。 一、代理IP的作用 代理IP,顾名思义&…...

盘点U-Mail邮件系统安全设计
在当今社会,电子邮件已经成企业沟通和信息传递重要的手段之一,是企业办公中不可或缺的一部分。但是由于企业邮件服务器端口对外开放、企业邮件安全管理能力不足、邮件内容敏感性高等特点,电子邮件也成为了网络攻击者进行网络钓鱼、恶意软件传…...

Webpack--动态 import 原理及源码分析
前言 在平时的开发中,我们经常使用 import()实现代码分割和懒加载。在低版本的浏览器中并不支持动态 import(),那 webpack 是如何实现 import() polyfill 的? 原理分析 我们先来看看下面的 demo function component() {const btn docume…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...