Linux系统硬盘分区

news2024/12/23 10:37:10

文章目录

    • 一、硬盘和分区
      • 1.1 硬盘的概念
      • 1.2 硬盘分区的类别
      • 1.3 硬盘分区的方式
        • 1.3.1 MBR分区
        • 1.3.2 GPT分区
      • 1.4 硬盘分区的意义
        • 1.4.1 分区的作用
        • 1.4.2 分区的缺点
    • 二、如何建立分区
      • 2.1 分区命令
        • 2.1.1 fdisk命令
        • 2.1.2 gdisk命令
      • 2.2 建立分区
        • 2.2.1 建立MBR分区
          • 建立主分区
          • 建立扩展分区
          • 建立逻辑分区
          • 建立swap分区
        • 2.2.2 建立GPT分区
        • 2.2.3 小结
      • 2.3 创建文件系统
        • 2.3.1 什么是文件系统
          • 文件系统的作用
          • 文件系统的类型
        • 2.3.2 创建文件系统
          • mkfs命令
      • 2.4 挂载与解挂载
        • 2.4.1 mount umount 命令
        • 2.4.2 自动挂载
          • 根据设备名挂载
          • 根据UUID挂载
        • 2.4.3 小结
      • 2.5 总结
    • 三、实验/问题
      • 3.1 如何对硬盘进行分区?
      • 3.2 如何删除已挂载分区?

一、硬盘和分区

1.1 硬盘的概念

硬盘是计算机的存储设备。存储数据主要使用机械硬盘。

机械硬盘由一个或者多个磁性的盘组成,可以在盘片上进行数据的读写。

硬盘的连接方式:内部设备与外部连接(移动硬盘、U盘等)。

硬盘的作用:存储操作系统、应用系统、文档、多媒体文件。

硬盘的工作方式:读取数据之后,先把数据传输到内存当中进行处理,

磁盘的类型:

  1. 软盘,已经没有了
  2. cdrom ,光驱,也基本淘汰了
  3. 机械硬盘

硬盘的最小存储单位:扇区,扇区的最小存储单位是512字节,连续的扇区组成磁道,读写都是围绕磁道进行的。

1.2 硬盘分区的类别

硬盘的分区类别有主分区,扩展分区,逻辑分区。

主分区和扩展分区一共只有4个。主分区一般用来存储操作系统。

扩展分区只能有一个,在扩展分区内才能创建逻辑分区,逻辑分区数量不受限制(实际有上限,但数字很大)。

扩展分区用来保存逻辑分区的数据信息。

逻辑分区不能存储操作系统,只能保存数据。

1.3 硬盘分区的方式

常用的硬盘分区方式有MBR分区和GPT分区。

1.3.1 MBR分区

MBR分区表:只能分不超过2T的磁盘,超过2T不能使用MBR分区。

MBR主引导记录一共446字节,一般在操作系统安装时写入主引导记录。MBR就是一个引导程序,检测磁盘分区是否合法(正常工作),并加载操作系统。MBR作用:识别可用分区,在系统开机时,识别操作系统。

1.3.2 GPT分区

GPT分区表:比MBR更加先进,GPT有128位的位置分区标识符来标识分区,可分128个区。不必再细分主分区、扩展分区、逻辑分区,所有分区都是主分区。

对2T以上的硬盘做分区时,只能使用GPT分区表。使用GPT分区需要64位系统。

1.4 硬盘分区的意义

1.4.1 分区的作用
  1. 优化I/O的性能,读写性能,查看读写性能:iostat
  2. 实现磁盘空间的配额,可以规定指定的用户使用磁盘空间的大小。
  3. 方便定位问题,可以提高修复速度。
  4. 隔离操作系统目录和一般程序目录。
  5. 可以采用不同的系统。操作系统的分区一般都使用统一的文件系统。
1.4.2 分区的缺点
  1. 一旦分区建立,保存之后,如果要修改,只能全部重来,硬盘格式化,数据丢失。
  2. 不够灵活,所有的空间都来自一块硬盘。
  3. 不具备冗余/高可用,没有备份能力,只能是工程师手动备份。

问:为什么硬盘要分区?

答:不分区就不能使用,只有分区才会创建分区表,不论是MBR还是GPT。有了分区表,系统才能识别到硬盘。

二、如何建立分区

2.1 分区命令

2.1.1 fdisk命令

fdisk命令用于建立MBR分区,只能对不超过2T的硬盘进行分区。

fdisk -l :显示硬盘的详细信息

lsblk :查看硬盘情况,找到没被分区的设备/dev/sdb,sd是设备类型,SCSI类型;b: 硬盘的序号,第二块

使用fdisk /dev/sdb 进入交互界面

常用交互选项

  • m:帮助菜单
  • n:新建分区
  • p:查看分区情况
  • d:删除分区
  • t:更改分区类型
  • w:保存分区操作并退出
  • q:不保存并退出

p 查看分区情况的解释:

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux
/dev/sdb2        20973568    41943039    10484736    5  Extended
/dev/sdb5        20975616    31461375     5242880   83  Linux
/dev/sdb6        31463424    41943039     5239808   82  Linux swap / Solaris
  • Device boot:分区名称,带 * 的是系统盘。

  • Start:起始扇区

  • End:结束扇区

  • Blocks:分区大小,块,单位字节。

  • Id:分区的类型,默认是83,82是swap交换分区,8e是lvm逻辑卷。

  • System:系统类型:XFS,EXT4…

2.1.2 gdisk命令

gdisk命令对超过2T的硬盘使用,建立GPT分区。

gdisk的交互选项和fdisk几乎一样,交互步骤也基本一致。

特别的,gdisk需要声明分区类型的ID,键入L可以查看分区类型表。

2.2 建立分区

新建分区前,需要将硬盘添加到系统,先将下条命令添加到/etc/profile

alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > 
/sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
//通知系统内核重新扫描已经连接到系统的scsi设备,这些设备可能是光驱,也可能是硬盘,
//系统会自动检测这些设备,然后系统会自动识别,自动添加,无需重启设备。

这样新添加硬盘后,scan一下,就能获得硬盘信息了。

2.2.1 建立MBR分区

添加一个20G的硬盘到系统,lsblk查看,新硬盘自动命名为sdb

建立主分区

在/dev/sdb下建立一个10Gb的主分区

fdisk /dev/sdb 进入交互界面

请添加图片描述

建立扩展分区

将sdb剩余空间分配给扩展分区

在这里插入图片描述

建立逻辑分区

在sdb的扩展分区里建一个5G的逻辑分区

在这里插入图片描述

此时用lsblk查看硬盘信息:

在这里插入图片描述

问:明明给扩展分区分了10G,为什么显示只有1K?

答:因为扩展分区只保存逻辑分区的数据信息,实际占用的空间很小。但逻辑分区是建立在扩展分区基础之上的,扩展分区的大小决定了逻辑分区的总大小。

建立swap分区

swap分区,即交换分区不是虚拟的空间,是由真正的硬盘给出的空间,是实体的分区。

内存 和 交换分区 比例一般是1:1.5 ~ 1:2,即交换分区一般是内存的1.5~2倍之间

将sdb2的剩余空间建立为swap分区。

默认建立分区类型为83swap分区类型为82,需要改分区类型

在这里插入图片描述

对硬盘的分区进行修改后,内核的缓存表还没有更新。此时需要用partprobe强制刷新。

partprobe命令 :重新读取分区表,更新内核的分区信息

然后对swap分区进行如下设置:

partprobe			//刷新缓存
mkswap /dev/sdb6	//把sdb6设置为swap分区
swapon /dev/sdb6	//启用该swap分区
swapoff /dev/sdb6	//停用该swap分区

swapon /dev/sdb6启用swap之后,使用free -h 查看swap变化

在这里插入图片描述

2.2.2 建立GPT分区

添加一个4T的新硬盘到系统,自动命名为sdc

在/dev/sdc中新建一个500G的分区。gdisk /dev/sdc进入交互界面

在这里插入图片描述

建立GPT分区需要格式化分区。

如果用GPT分区建立swap分区,只要在声明类型的时候输入swap的code:8200即可。

2.2.3 小结
  • 主分区和扩展分区加起来一共只有4个,MBR分区,只有4个。逻辑分区编号从5开始。

  • 一般设置3个主分区,一个扩展分区。

  • 扩展分区不能使用,不能挂载,只是用来记录逻辑分区信息数据的,一般单位为Kb。

  • 所以只有先创建扩展分区,才能建立逻辑分区。扩展分区只能有一个。

  • 扩展分区有多大,逻辑分区加起来只能有多大。

2.3 创建文件系统

创建分区后,要创建文件系统。

2.3.1 什么是文件系统
文件系统的作用

文件系统就是用来管理Linux操作系统中的文件和目录的。

  1. 数据组织和存储:文件系统提供了组织数据的结构,能够把文件分为不同的目录就是因为有文件系统。
  2. 数据保护:文件系统可以通过权限控制,使不同的用户对文件拥有不同的权限
  3. 数据访问:文件系统可以提供对存储设备的访问接口,用户通过访问接口访问存储设备的数据。
  4. 数据管理:文件系统提供了文件或者目录的增删改查等功能。
  5. 高级功能:压缩、快照、日志记录等等。
文件系统的类型
  • xfs :CentOS-7以后默认使用的文件系统,大日志分析系统,可以对海量信息进行分析和存储。适用于大型文件和高性能需求。
  • ext4 :Linux原生的文件系统,可以提高性能,提高稳定性。用的少了。
  • ext3 :基本不用了。
  • ext2 :同上。
  • IFS :适用于大文件。
  • NTFS :Windows文件系统。
  • ISO-9660 :适用于光盘的只读文件系统。
  • NFS :共享存储文件系统。
2.3.2 创建文件系统
mkfs命令
mkfs -t 文件系统类型 硬盘目录		------对指定硬盘创建文件系统
mkfs.文件系统类型 硬盘目录		------和 -t 效果一样,.后没有空格
mkfs -f	文件系统类型 硬盘目录		------覆盖原有的文件系统

对/dev/sdb1,sdb2,sdb5,/dev/sdc1创建xfs文件系统,以sdb1为例

在这里插入图片描述

mkfs.xfs /dev/sdb1
mkfs -t /dev/sdb2		// -t. 都可以
mkfs.xfs /dev/sdb5
mkfs.xfs /dev/sdc1

2.4 挂载与解挂载

挂载:硬件设备必须要和目录形成映射之后才能使用。

解挂载:顾名思义,就是解除设备与目录的映射。

2.4.1 mount umount 命令
mount 设备 挂载点		//挂载设备
umount 设备 挂载点		//解挂载设备

在根目录下建立空目录/data,将 /dev/sdb1 挂载到/data

在这里插入图片描述

mount -a :刷新挂载信息

umount -l :lazy,立即卸载挂载点

umount -f :强制卸载,即使文件系统正在使用,也立即强制卸载。可能会导致数据丢失,慎用。

umount -lf :强制解挂载常用命令

2.4.2 自动挂载

mount是临时挂载,重启系统后mount挂载的信息就失效了。生产环境中需要配置自动挂载,即永久挂载。方法如下:

根据设备名挂载
vim /etc/fstab	// 在/etc/fstab 中编辑自动挂载的配置

​ 配置方法:

在fstab中插入行:	/dev/sdb2	/data1	xfs		 defaults 	0		0
对应位置的解释:   设备		挂载点  文件系统   默认权限   不备份	  系统启动时不检查文件系统
例:
/dev/sdb1 /data xfs defaults 0 0
// 永久挂载/dev/sdb1 到 /data
/dev/sr0 /mnt iso9660 defaults 0 0
// 永久挂载光盘镜像

​ 对defaults的解释:默认有所有权限(读写,磁盘配额)

  • rw/ro :是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。

  • async/sync:此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步 async

  • dev/nodev 是否允许从该文件系统的 block 文件中提取数据,为了保证数据安装,默认是 dev

  • auto/noauto 是否允许此文件系统被以 mount -a 的方式进行自动挂载,默认是 auto

  • suid/nosuid 设定文件系统是否拥有 SetUID 和 SetGID 权限,默认是拥有

  • exec/noexec 设定在文件系统中是否允许执行可执行文件,默认是允许

  • user/nouser 设定此文件系统是否允许让普通用户使用 mount 执行实现挂载,默认是不允许(nouser),仅有 root 可以。

  • remount :重新挂载已挂载的文件系统,一般用于指定修改特殊权限。

  • defaults 定义默认值,相当于 rw、suid、dev、exec、auto、nouser、async 这 7 个选项。

配置完自动挂载后,用mount -a刷新一下挂载信息,使用df -hT查看挂载情况。

在这里插入图片描述

根据UUID挂载

blkid查看已创建文件系统的分区UUID标识号(没创建文件系统的分区没有UUID),这是设备的唯一标识,不随设备的名称改变而改变,然后用设备的UUID实现设备的永久挂载。

还是对/etc/fstab编辑内容

e1171111-52a0-4112-bb46-6102526b9f0c	/data1	xfs		 defaults 	0		0
设备的UUID								挂载点  文件系统   默认权限   不备份	  系统启动时不检查文件系统

挂载完后,还是mount -a刷新挂载信息,并查看。

2.4.3 小结
  1. mount挂载是临时挂载,永久挂载需要在/etc/fstab中进行配置。
  2. 对永久挂载的分区来说,如果分区被删除,需要把相应的永久挂载的配置一并删除,即修改/etc/fstab文件中的配置。否则系统启动时会出错,无法进入系统。

2.5 总结

一个新的磁盘加入到系统之后,使用的过程:

  1. 刷新获取磁盘信息,也可以重启
  2. 分区
  3. 给分区创建文件系统
  4. 挂载设备到目录
  5. 以上全部完成后才可以正常使用磁盘。

三、实验/问题

3.1 如何对硬盘进行分区?

  1. 获取磁盘信息并创建分区
  • 添加新硬盘后,scan或者重启,获得新硬盘信息

  • 根据硬盘大小和需求,选择分区方式是MBR还是GPT,fdiskgdisk + /dev 目录下的硬盘目录

  • 选择MBR分区的话:选择主分区p,还是扩展分区e,还是建立扩展分区后,新建逻辑分区l,并设置分区大小。

    默认类型代号83,为Linux文件系统,如果要修改类型,选项 t ,代号82是swap分区,代号8e是lvm逻辑卷,选项 L 可以查看所有代号。修改分区类型后需要partprobe,更新内核的分区信息。

  • 选择GPT分区的话,默认都是主分区,设置分区大小,声明分区类型,默认类型是文件系统8300。

  • 配置完成后选项 w 保存分区设置并退出。

  1. 创建文件系统

    mkfs.xfs +指定分区目录,对分区创建文件系统。

  2. 挂载

    临时挂载 mount

    自动挂载 在 /etc/fstab 中添加挂载配置。

3.2 如何删除已挂载分区?

对已挂载分区,进入交互界面,选项 d 删除,w 保存退出,出现报错,提示Device or resource busy.

这是因为分区处于挂载中,相当于Windows的正在使用中,不能进行删除操作。

需要先对分区解除挂载,再进行删除。

对临时挂载,使用umount;对永久挂载,编辑/etc/fstab ,删除对应的配置。

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

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

相关文章

leetCode.82. 删除排序链表中的重复元素 II

leetCode.82. 删除排序链表中的重复元素 II 题目思路: 代码 class Solution { public:ListNode* deleteDuplicates(ListNode* head) {auto dummy new ListNode(-1);dummy->next head;auto p dummy;while(p->next){auto q p->next->next;while(q …

洛谷 P1346电车

题目来源于:洛谷 解题思路: 可以把一个路口看作一张图中的一个点,轨道是图中的边(注意:这是有向图),每一条边的权值就是这个边所联通的点是否需要按按钮(需要按按钮就是1&#xff0…

Ubuntu24.04安装tabby-terminal-1.0.207并处理依赖

1 下载 tabby-terminal-1.0.207 地址: https://github.com/Eugeny/tabby/releases 点击show all 36 assets 选择 tabby-1.0.207-linux-x64.deb 并下载。 2 依赖下载 gconf2_3.2.6-3ubuntu6_amd64.deb gconf2-common_3.2.6-3ubuntu6_all.deb gconf-service_3.2.6-…

如何实现倾斜摄影三维模型OSGB格式轻量化

如何实现倾斜摄影三维模型OSGB格式轻量化 倾斜摄影三维模型以其高精度和真实感受在城市规划、建筑设计和虚拟漫游等领域发挥着重要作用。然而,由于其庞大的数据量和复杂的几何结构,给数据存储、传输和可视化带来了挑战。为了解决这个问题,倾斜…

机器学习实验----逻辑回归实现二分类

目录 一、介绍 二、sigmoid函数 (1)公式: (2)sigmoid函数的输入 预测函数: 以下是sigmoid函数代码: 三、梯度上升 (1)似然函数 公式: 概念&#xff…

Android存储系统成长记

用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章 本文概要 您一定使用过Context的getFileStreamPath方法或者Environment的getExternalStoragePublicDirectory方法,甚至还有别的方法把数据存储到文件中,这些都是存储系统提供的服务&#x…

【代码随想录——回溯算法——三周目】

1. 子集2 这题需要先进行排序,和候选人那题类似。防止出现重复的子集。 func subsetsWithDup(nums []int) [][]int {path : make([]int, 0)res : make([][]int, 0)sort.Ints(nums)var dfs func(nums []int, start int)dfs func(nums []int, start int) {res app…

08Django项目--用户管理系统--查(前后端)

对应视频链接点击直达 TOC 一些朋友加我Q反馈,希望有每个阶段的完整项目代码,那从今天开始,我会上传完整的项目代码。 用户管理,简而言之就是用户的增删改查。 08项目点击下载,可直接运行(含数据库&…

1967python多媒体素材管理系统mysql数据库Django结构layUI布局计算机软件工程网页

一、源码特点 python Django多媒体素材管理系统是一套完善的web设计系统mysql数据库 ,对理解python编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 开发环境pycharm mysql 5.0 到5.5 依赖包 Dj…

推荐丨 IP地址如何申请SSL证书实现https

为IP地址申请SSL证书可以让用户通过HTTPS协议安全地访问直接绑定到IP地址的网站或服务。以下是申请IP地址SSL证书的一般步骤: 1 选择支持IP证书的CA:直接为IP地址颁发SSL/TLS证书并不常见,国内厂商JoySSL有提供IP证书,登录其官网…

东莞MES管理系统在电子工厂的益处

东莞MES管理系统对东莞电子企业带来了许多好处,包括但不限于以下几点: 提高生产效率:MES系统可以优化生产计划、监控生产过程,提高生产效率,减少生产中的浪费和停机时间,提高产能利用率。 优化库存管理&a…

R可视化:另类的柱状图

介绍 方格状态的柱状图 加载R包 knitr::opts_chunk$set(echo TRUE, message FALSE, warning FALSE) library(patternplot) library(png) library(ggplot2) library(gridExtra)rm(list ls()) options(stringsAsFactors F)导入数据 data <- read.csv(system.file(&qu…

M00238-固定翼无人机集群飞行仿真平台MATLAB完整代码含效果

一个小型无人机集群仿真演示平台&#xff0c;使用matlab和simulink搭建。 给出的例子是5架的&#xff0c;当然如果你愿意花时间&#xff0c;也可以把它扩展到10架&#xff0c;20架甚至更多。 输入&#xff1a;5架飞机的规划路径 输出&#xff1a;每架无人机每个时刻的13个状态量…

如何将天猫内容保存为PDF格式?详细步骤与实战解析

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;保存天猫内容的重要性 二、环境准备与工具安装 1. 安装必要的Python包…

2024年电工杯高校数学建模竞赛(B题) 建模解析| 大学生平衡膳食食谱的优化设计

问题重述及方法概述 问题1&#xff1a;膳食食谱的营养分析评价及调整 数学方法&#xff1a;线性规划模型、营养素评价模型、比较分析 可视化数据图&#xff1a;营养素含量表、营养素摄入量对比图、营养素缺乏情况图 问题2&#xff1a;基于附件3的日平衡膳食食谱的优化设计 数…

idea 中配置 Java 注释模板

引言&#xff1a; 在软件工程中&#xff0c;良好的代码注释习惯对于项目的可维护性和可读性至关重要。IntelliJ IDEA&#xff0c;作为一款强大的Java开发IDE&#xff0c;提供了灵活的注释模板配置功能&#xff0c;帮助开发者快速生成规范的代码注释。本文将详细介绍如何在Inte…

2024年上半年信息系统项目管理师下午真题及答案(第二批)

试题一 某项目计划工期为10个月&#xff0c;预算210万元&#xff0c;第7个月结束时&#xff0c;项目经理进行了绩效评估&#xff0c;发现实际完成了总计划进度的70%。项目的实际数据如表所示&#xff1a; 单击下面头像图片领取更多软考独家资料

【Ambari】Docker 安装Ambari 大数据单机版本

目录 一、前期准备 1.1 部署 docker 1.2 部署 docker-compose 1.3 版本说明 二 、镜像构建启动 2.1 系统镜像构建 2.2 安装包源镜像构建 2.3 kdc镜像构建 2.4 集群安装 2.5 容器导出为镜像 三、Ubuntu环境安装测试 3.1 环境准备 3.2 集群容器启动 一、前期准备 1.…

【C++题解】1125. 删除字符串中间的*

问题&#xff1a;1125. 删除字符串中间的* 类型&#xff1a;字符串 题目描述&#xff1a; 输入一个字符串&#xff0c;将串前和串后的*保留&#xff0c;而将中间的 * 删除。 输入&#xff1a; 一个含*的字符串。 输出&#xff1a; 删除了串中的*的字符串。 样例&#xf…

夏日防晒笔记

1 防晒霜 使用方法&#xff1a;使用前上下摇晃瓶身4至5次&#xff0c;在距离肌肤10至15cm处均匀喷上。如在面部使用&#xff0c;请先喷在掌心再均匀涂抹于面部。排汗量较多时或擦拭肌肤后&#xff0c;请重复涂抹以确保防晒效果。卸除时使用普通洁肤产品洗净即可。