Linux ———— 管理磁盘

news2024/9/24 4:25:17

(一)MBR硬盘与GPT硬盘

        硬盘按分区表的格式可以分为MBR硬盘与GPT硬盘两种硬盘格式。
        MBR 硬盘:使用的是旧的传统硬盘分区表格式,其硬盘分区表存储在MBR(Master Boot Record,主引导区记录)内。MBR位于硬盘最前端,计算机启动时,使用传统BIOS(基本输入输出系统,是固化在计算机主板上一个ROM芯片上的程序)的计算机,其BIOS会先读取MBR,并将控制权交给MBR内的程序代码,然后由此程序代码来继续后续的启动工作。MBR硬盘所支持的硬盘最大容量为2.2TB(1TB=1024GB)。
        GPT硬盘:一种新的硬盘分区表格式,其硬盘分区表存储在GPT(GUID Partition Table)内,位于硬盘的前端,而且它有主分区表与备份分区表,可提供容错功能。使用新式 UEFI BIOS的计算机,其BIOS会先读取GPT,并将控制权交给GPT内的程序代码,然后由此程序代码来继续后续的启动工作。GPT硬盘所支持的硬盘最大容量可以超过2.2TB(1TB=1024GB)。

B站有个视频讲解了该内容十分详尽:【装机教程】超详细WIN10系统安装教程,官方ISO直装与PE两种方法教程,UEFI+GUID分区与Legacy+MBR分区_哔哩哔哩_bilibili

若是想了解MBR与GPT硬盘之间的区别可以查看:

MBR 与 GPT,哪种磁盘分区表更适合SSD固态硬盘 - 系统极客 (sysgeek.cn)

(二)物理设备的命名规则

        Linux系统中的一切都是文件(万物皆文件),硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等。这对于陌生的设备来说特别方便。另外,udev设备管理器的服务会一直以守护进程的形式运行并侦听内核发出的信号来管理/dev目录下的设备文件。Linux系统中常见的硬件设备的文件名称如表5-3所示。
表5-3  

常见的硬件设备及其文件名称
硬件设备文件名称
IDE设备/dev/hd[a-d]
SCSI/SATA/U盘/dev/sd[a-p]
非易失性存储器标准(Non-Volatile Memory Express,NVMe)硬盘/dev/nvme0n[1-m],比如/dev/nvme0n1 就是第一个NVMe硬盘
软驱/dev/fd[0-1]
打印机/dev/lp[0-15]
光驱/dev/cdrom
鼠标/dev/mouse
磁带机/dev/st0或/dev/ht0

       由于现在的IDE(Integrated Drive Electronics,电子集成驱动器)设备已经很少见了,所以一般的硬盘设备都会是以“/dev/sd”开头的。而一台主机上可以有多块硬盘,因此系统采用a~p来代表16块不同的硬盘(默认从a开始分配),而且硬盘的分区编号也有如下规定。
        主分区或扩展分区的编号从1开始,到4结束。
        逻辑分区从编号5开始。                 

注意:

学习LINUX系统中硬件设备的几个误区

  误区1:设备名称理解错误

    例如:/dev/sda表示主板上第一个插槽上的存储设备

    真相: /dev目录中sda设备之所以是a,并不是由插槽决定的,而是由系统内核的识别顺序来决定的,而恰巧很多主板的插槽顺序就是系统内核的识别顺序,因此才会被命名为/dev/sda。大家以后在使用 iSCSI 网络存储设备时就会发现,明明主板上第二个插槽是空着的,但系统却能识别到/dev/sdb这个设备就是这个道理。

  误区2:对分区名称的理解错误

    例子 : 分区的编号代表分区的个数

    真相 : 因为分区的数字编码不一定是强制顺延下来的,也有可能是手工指定的。因此sda3只能表示是编号为3的分区,而不能判断sda设备上已经存在了3个分区。

 /dev/目录中保存的应当是硬件设备文件;sd表示是存储设备,a表示系统中同类接口中第一个被识别到的设备,5表示这个设备是一个逻辑分区。基于上述,“/dev/sda5”表示的就是“这是系统中第一块被识别到的硬件设备中分区编号为5的逻辑分区的设备文件”。

第一个扇区中的数据信息

(三)硬盘分区

磁盘分区高质量博文:

Linux基础篇——Linux磁盘操作(磁盘基础知识、分类、分区、挂载、卸载、扩容)详解_linux中封盘是什么意思-CSDN博客

硬盘的使用规划

(四)使用硬盘管理工具fdisk

        fdisk硬盘分区工具在DOS、Windows和Linux中都有相应的应用程序。在Linux系统中,fdisk是基于菜单的命令。对硬盘进行分区时,可以在fdish命令后直接加上要分区的硬盘作为参数。

fdiah命令的常见选项如下:

  •  -a:调整硬盘启动分区。

  • - d:删除硬盘分区。

  • -l:列出所有支持的分区类型。

  • -m:列出所有命令。

  • -n:创建新分区。

  • -p:列出硬盘分区表。

  • -q:不保存更改,退出fdishk

  • -t:更改分区类型

  • -u:切换所显示的分区大小的单位

  • -w:把修改写入硬盘分区表,然后退出

  • -x:列出高级选项

创建主分区:

 

创建逻辑分区:

使用mkfs命令建立文件系统:


        硬盘分区后,下一步的工作就是建立文件系统。类似于Windows下的格式化硬盘。在硬盘分区上建立文件系统会冲掉分区上的数据,而且不可恢复,因此在建立文件系统之前要确认分区上的数据不再使用。建立文件系统的命令是mkfs。

格式如下:mkfs [参数]文件系统

mkfs命令常用的参数选项如下:

  •   -t:指定要创建的文件系统类型。

  •  -c:建立文件系统前首先检查坏块。

  • -1file:从文件file中读硬盘坏块列表,file 文件一般是由硬盘坏块检查程序产生的。

  • -V:输出建立文件系统详细信息。


例如,在/dev/sdb1上建立xfs类型的文件系统,建立时检查硬盘坏块并显示详细信息。

使用fsck命令检查文件系统:

        fsck命令主要用于检查文件系统的正确性,并对Linux硬盘进行修复。fsck命令的格
式如下:fsck 〔参数选项]文件系统


fsck 命令常用的参数选项如下:

  •   -t:给定文件系统类型,若在/etc/fstab中已有定义或内核本身已支持,不需器加此项。

  •  -s:一个一个地执行fsck命令进行检查。

  • -A:对/etc/fstab中所有列出来的分区进行检查。

  • -C:显示完整的检查进度。

  • -d:列出 fsck的debug结果。

  • -P:在同时有-A选项时,多个fsck的检查一起执行。

  • -a:如果枪查中发现错误,则自动修复

  • -r:如果检查有错误,询问是否修复。

 
 删除分区


如果要删除硬盘分区,在fdisk菜单下输入d,并选择相应的硬盘分区即可。删除后输入w,保存退出。以/删除/dev/sdb3分区为例,操作如下。

(五)使用其他硬盘管理工具

dd命令:

        建立和使用交换文件,当系统的交换区不能满足系统的要求而硬盘上有没有可用的空间时,可使用交换文件提供虚拟内存。

(1)在硬盘的根目录下建立一块大小为1024字节,块数为10240的名为swap的交换文件,该文件大小为1024*1240=10MB,命令如下:

# dd if=/dev/zero of=/swap bs=1024 count=10240

(2)建立/swap交换文件后,使用mkswap命令说明该文件用于交换空间

# mkswap /swap

(3)利用swapon命令可以激活交换空间,swapoff命令卸载被激活的交换空间

df命令:

        df命令用来查看文件系统的硬盘空间占用情况,还可以利用该命令来获取硬盘被占用多少空间,以及目前还有多少空间等信息,获得文件系统的挂载位置。

df 命令的语法如下:df(参数选项]

df命令的常见参数选项如下:

  •  -a:显示所有文件系统硬盘使用情况,包括0块的文件系统,如/proc文件系统。

  • - k:以k字节为单位显示。

  • -i:显示i节点信息。

  • -t:显示各指定类型的文件系统的硬盘空间使用情况。

  • -x:列出不是某一指定类型文件系统的硬盘空间使用情况(与t选项相反)。

  • -T:显示文件系统类型。

具体实例:

du命令:

        du命令用于显示硬盘空间的使用情况。该命令逐级显示指定目录的每一级子目录占
用文件系统数据块的情况。

du命令的语法如下:du[参数选项][文件或目录名称]


du命令的参数选项如下:

  •  -s:对每个name参数只给出占用的数据块总数。

  •  -a:递归显示指定目录中各文件及子目录中各文件占用的数据块数

  • -b:以字节为单位列出硬盘空间使用情况(AS4.0中默认以KB为单位 )

  • -k:以1024字节为单位列出硬盘空间使用情况。

  • -c:在统计后加上一个总计(系统默认设置)

  • -l:计算所有文件大小,对硬链接文件重复计算

  • -x:跳过在不同文件系统上的目录,不予统计

例如,以字节为单位列出所有文件和目录的硬盘空间占用情况的命令如下所示;
root@ Server01 ~]du -ab

mount与umount命令

1) mount命令
        在硬盘上建立好文件系统之后,还需要把新建立的文件系统挂载到系统上才能使用。这个过程称为挂载。文件系统所挂载到的目录被称为挂载点(mount point)。Linux系统中提供了/mnt和/media两个专门的挂载点。一般而言,挂载点应该是一个空目录,否则目录中原来的文件将被系统隐藏。通常将光盘和软盘挂载到/media/cdrom(或者/mnt/cdrom)和/media/floppy(或者/mnt/ floppy)中,其对应的设备文件名分别为/dev/cdrom和dev/fd0。
        文件系统可以在系统引导过程中自动挂载,也可以手动挂载,手动挂载文件系统的挂载命令是mount。

该命令的语法格式如下:mount 选项 设备挂载点


mount 命令的主要选项如下:

  • -t:指定要挂载的文件系统的类型。 

  • -r:如果不想修改要挂载的文件系统,可以使用该选项以只读方式挂载。

  • -a:挂载/etc/fstab文件中记录的设备。

2)umount 命令
        文件系统可以被挂载也可以被卸载。卸载文件系统的命令是umount。

umountf格式为:umount 设备|挂载点


例如,卸载光盘的命令为:
[root@server0l ~] umount /media
[root@ Server0i ~]#umount /dev/cdrom
光盘在没有卸载之前,无法从驱动器中弹出。正在使用的文件系统不能卸载。

 

文件系统的自动挂载

            在Linux中,当我们想要在每次开机时自动挂载某个文件系统,我们通常会编辑/etc/fstab文件。这个文件列出了哪些文件系统在启动时应该被挂载,以及如何挂载它们。

        你可能注意到了,系统里的很多分区都是通过UUID来挂载的。那么,什么是UUID,为什么我们要使用它来挂载设备呢?

        简单来说,UUID是一串独特的字符序列,它为系统中的每个设备提供了一个唯一的标签。这意味着无论你如何插拔或移动这些设备,它们的UUID都不会变。 

        想象一下,如果我们依赖设备名称(比如sda, sdb等)来挂载,那么设备的插拔或系统的变化可能导致这些名称变化,进而导致挂载失败。但是,如果我们使用UUID,就不用担心这些问题了。无论怎样,UUID都保持不变,为我们提供了一个稳定的挂载点。好奇你的设备的UUID是什么?只需在Linux终端中使用blkid命令就可以查看啦!

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

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

相关文章

为什么引入偏向锁、轻量级锁,介绍下升级流程

Synchronized Synchronized 在 jdk1.6 版本之前,是通过重量级锁的方式来实现线程之间锁的竞争。之所以称它为重量级锁,是因为它的底层底层依赖操作系统的 Mutex Lock 来实现互斥功能。(如图)Mutex 是系统方法,由于权限…

PN7727 集成驱动及四个开关管的无线充电发射端功率芯片 20W无线发射功率

PN7727是一款用于无线充电的智能功率芯片该芯片集成了驱动及四颗高效功率级场效应管内置自举高压PMOS和5V/50mA LDO,具备自适应死区功能。 该芯片集成了欠压保护、过温保护等功能。芯片的两个输入管脚PWM1和PWM2兼容5V和3.3v信号控制,具有良好的…

小黑子—spring:第一章 Bean基础

spring入门1.0 一 小黑子对spring基础进行概述1.1 spring导论1.2 传统Javaweb开发困惑及解决方法1.3 三大的思想提出1.3.1 IOC入门案例1.3.2 DI入门案例 1.4 框架概念1.5 初识spring1.5.1 Spring Framework 1.6 BeanFactory快速入门1.7 ApplicationContext快速入门1.8 BeanFact…

浅谈智慧空开在某市科技馆项目的应用-安科瑞 蒋静

【摘要】:ASCB1系列智能微型断路器是安科瑞电气股份有限公司全新推出的智慧用电产品,产品由智能微型断路器与智能网关两部分组成,可用于对用电线路的关键电气因素,如电压、电流、功率、温度、漏电、能耗等进行实时监测&#xff0c…

工业数字化转型中的控制塔BI

工业数字化转型是当前工业领域的一个重要趋势,它通过应用先进的信息技术和数据分析方法,推动传统制造业向智能化、高效化、可持续发展的方向转变。在工业数字化转型中,控制塔BI(Business Intelligence)扮演着重要的角色…

ant design vue 的getPopupContainer

在 ant design vue 中,有几个组件是有 getPopupContainer 属性的,比如:下拉菜单 默认是渲染到body 上的,所以如果你想要对 下拉选择组件 的样式,做修改,如果 style 标签上开启了 scoped,肯定不会…

快手极速版app拉新推广和抖音极速版app地推拉新,哪个收益更高?

抖音极速版和快手极速版可以通过“聚量推客”申请,是两个常年霸榜地推app拉新行业的项目,说他们是推广拉新行业的旗帜性项目,也丝毫不为过。许多推广员,就是从抖音极速版和快手极速版中间二选一,开启了自己的地推赚钱生…

jsp简单实现新闻发布系统中用户注册确认和用户模拟登录功能的开发

jsp简单实现新闻发布系统中用户注册确认和用户模拟登录功能的开发 <jsp:include page"common/top.jsp" /> 以及left和bottom为三个公共页面 主页面为index.jsp 简单的实现了可以设置用户名和登录等功能 Login.jsp <%page language"java" pa…

【ROS入门】机器人运动控制以及里程计信息显示

文章结构 运动控制实现流程&#xff08;Gazebo&#xff09;为joint添加传动装置以及控制器xacro文件集成启动gazebo并控制机器人运动 Rviz查看里程计信息启动Rviz添加组件 运动控制实现流程&#xff08;Gazebo&#xff09; 运动控制基本流程: 已经创建完毕的机器人模型&#x…

MySQL主从同步-binlog

MySQL主从同步-binlog 服务器准备 IP节点配置系统版本191.168.117.143master2c2g40gcentos 7.9192.168.117.142slave2c2g40gcentos 7.9 环境准备 下面操作需要在两台机器都操作 关闭防火墙 systemctl stop firewalld && systemctl disable firewalldsetenforce 0…

高可用系统架构——关于语雀宕机的思考

语雀系统崩溃了&#xff0c;并且经过8个多小时才恢复&#xff0c;估计语雀的小伙伴们已经哭晕在厕所里了。 本次稳定性故障再次给架构师敲响警钟&#xff1a;系统高可用一直是架构的重点&#xff0c;它涉及到系统的方方面面&#xff0c;并且是一件持续性的长期工作。 故障起因…

1200*A. Trust Nobody(贪心)

Problem - 1826A - Codeforces 解析&#xff1a; 从大到小枚举说谎人的个数x&#xff0c;然后查看是否有 x个人说谎即可。 #include<bits/stdc.h> using namespace std; #define int long long const int N2e55; int t,n,a[N]; signed main(){scanf("%lld",&a…

TS中类型别名和接口区别

在很多场景下&#xff0c;interface 和 type都能使用&#xff0c;因此两者在很多时候会被混淆&#xff1a; 接口可以通过之间的继承&#xff0c;实现多种接口的组合 使用类型别名也可以实现多种的&#xff0c;通过&连接,有差异&#xff1a; 子接口中不能重新覆盖父接口中…

安防监控项目---boa服务器的移植

文章目录 前言一、boa服务器简介二、移植步骤三、测试结果四、A9平台移植BOA总结 前言 书接上期&#xff0c;在配置完成环境后&#xff0c;那么接下来呢还得移植两个非常关键的东西&#xff0c;一个呢时boa服务器&#xff0c;另一个呢时cgi接口&#xff0c;boa服务器能够使得我…

医学影像乳腺肿瘤分割的同学看过来:PDPNet:用于通用乳腺肿瘤分割的渐进式双先验网络

PDPNet&#xff1a;一种渐进式双先验网络&#xff0c;可以来从动态增强的图像中分割乳腺肿瘤&#xff0c;性能表现SOTA&#xff01;并提高了模型的泛化能力&#xff0c;单位&#xff1a;贵州大学, 哈医大肿瘤医院, 贵州省人民医院 为了提高乳腺肿瘤分割模型的泛化能力&#xf…

中文编程工具免费版下载,中文开发语言工具免费版下载

中文编程工具免费版下载&#xff0c;中文开发语言工具免费版下载 中文编程工具开发的实际部分案例如下图 编程系统化课程总目录及明细&#xff0c;点击进入了解详情。 https://blog.csdn.net/qq_29129627/article/details/134073098?spm1001.2014.3001.5502

轻量封装WebGPU渲染系统示例<4>-CubeMap/天空盒(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/version-1.01/src/voxgpu/sample/ImgCubeMap.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 2. 高频调用与低频调用隔离。 3. 面向用户的易用性封装。 4. 渲染数据和渲染机制分离。 5. 用户…

【linux】文件系统+软硬连接+动静态库

文件系统软硬连接动静态库 1.理解文件系统1.1磁盘的物理结构1.2磁盘的存储结构1.3磁盘的逻辑结构1.4文件系统 2.软硬链接2.1什么是软硬链接2.2软硬链接的作用 3.动静态库3.1什么是库3.1静态库和静态链接3.2动态库和动态链接3.2.1通过环境变量找到动态库路径3.2.2把动态库拷贝到…

包含(has it)、继承(is it)

包含关系&#xff08;has it&#xff09; 继承关系&#xff08;is it&#xff09; class Person:def __init__(self, no, name, salary):self.no noself.name nameself.salary salarydef __str__(self):msg self.no "---" self.name --- self.salaryreturn m…

C++设计模式_15_Proxy 代理模式

Proxy 代理模式也是属于“接口隔离”模式&#xff0c;通过增加一层间接层来解决问题的模式。 文章目录 1. 动机( Motivation)2. 模式定义3. 结构( Structure )4. 代码演示Proxy 代理模式4.1 常规方法4.2 Proxy 代理模式 5. 要点总结6. 其他参考 1. 动机( Motivation) 在面向对…