Linux磁盘分区和管理

news2025/7/9 11:08:24

文章目录

  • 一 添加硬盘,创建Linux分区
    • 1.首先准备一块新的硬盘
    • 2.检查系统是否识别了硬盘
    • 3.对磁盘进行分区
      • 3-1 创建MBR磁盘分区
      • 3-2 创建文件系统
      • 3-3 挂载文件系统
  • 二 创建交换空间
    • 2-1 创建分区
    • 2-2 设置分区类型
    • 2-3 格式化交换空间
    • 2-4 激活交换空间
  • 三 删除磁盘的分区
    • 3-1 备份数据
    • 3-2 取消挂载
    • 3-3 对磁盘分区进行删除操作

一 添加硬盘,创建Linux分区

1.首先准备一块新的硬盘

打开虚拟机(此时系统是关机状态),“编辑虚拟机”----选择“硬盘”----“添加”

在这里插入图片描述
选择硬盘,然后下一步

在这里插入图片描述
一路默认推荐选项,然后将硬盘大小设置为10G

在这里插入图片描述

选择好保存路径,然后就创建成功了。

2.检查系统是否识别了硬盘

使用命令lsblk查看新的硬盘是否添加成功。

[root@canway01 ~]# lsblk
NAME                     MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                        8:0    0   20G  0 disk 
├─sda1                     8:1    0  508M  0 part /boot
└─sda2                     8:2    0 19.5G  0 part 
  ├─centos_canway01-root 253:0    0   18G  0 lvm  /
  └─centos_canway01-swap 253:1    0  1.5G  0 lvm  [SWAP]
sdb                        8:16   0   10G  0 disk 
sr0                       11:0    1  4.4G  0 rom  

此处可以看到,sdb对应的 10G 大小,就是我们刚刚添加的硬盘。

此外,也可以直接查看设备文件。

[root@canway01 ~]# ll /dev/sdb
brw-rw---- 1 root disk 8, 16 Nov 19 18:52 /dev/sdb

3.对磁盘进行分区

对于 2TiB 以下的硬盘,笔者使用fdisk命令,采用MBR分区方案在磁盘上添加、修改和删除分区。

3-1 创建MBR磁盘分区

fdisk后面以要分区的设备文件作为参数,进入交互式界面

[root@canway01 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xceafdf4b.

输入字母n,创建新的分区
输入字母p,创建主分区(默认)
直接回车键,默认选择创建分区1
再次回车键,默认从上一次的块继续创建分区
输入+1G,表示创建分区大小为1G

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-20971519, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +1G
Partition 1 of type Linux and of size 1 GiB is set

然后输入数字p,就可以查看当前磁盘的分区信息

Command (m for help): p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xceafdf4b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux

根据信息,我们可以发现,/dev/sdb这块10G的硬盘上创建了/dev/sdb1这个分区,该分区大小为1G,属于Linux类型的系统分区,有区块起始位置和最终位置。

接着,输入字母w,将修改的内容写入磁盘分区表,并退出 fdisk 程序,完成分区创建请求。
(如果操作错误,不想保存分区请求的内容,则输入字母q,直接退出,且不保存内容)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

最后,使用partprobe 设备文件名称命令,启动内核重新读取磁盘分区表。

[root@canway01 ~]# partprobe /dev/sdb

3-2 创建文件系统

在创建块设备后,还需要在块设备上创建文件系统,才能存储和检索数据。

[root@canway01 scripts]# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

或者使用命令mkfs.xfs /dev/sdb1也是一样的效果

3-3 挂载文件系统

首先要有一个挂载点(挂载目录),即先创建一个空目录。

[root@canway01 scripts]# mkdir -p /data/sdb1

然后手动(临时性)挂载

[root@canway01 scripts]# mount /dev/sdb1 /data/sdb1
[root@canway01 scripts]# mount|tail -1
/dev/sdb1 on /data/sdb1 type xfs (rw,relatime,attr2,inode64,noquota)

# 如果不确定,可以再验证一下是否挂载正确;无报错,说明挂载成功
[root@canway01 scripts]# mount -a

然后检查一下,此时挂载的设备和目录信息,可以看到挂载是成功的

[root@canway01 scripts]# df -h
Filesystem                        Size  Used Avail Use% Mounted on
devtmpfs                          470M     0  470M   0% /dev
tmpfs                             487M     0  487M   0% /dev/shm
tmpfs                             487M  8.1M  479M   2% /run
tmpfs                             487M     0  487M   0% /sys/fs/cgroup
/dev/mapper/centos_canway01-root   18G  5.2G   13G  29% /
/dev/sda1                         505M  165M  340M  33% /boot
tmpfs                              98M     0   98M   0% /run/user/0
/dev/sdb1                        1014M   33M  982M   4% /data/sdb1

但这个手动挂载只是暂时的,在下一次重启后,挂载好的内容会消失,因此我们需要将其写入/etc/fstab文件中,进行永久挂载。

[root@canway01 scripts]# tail -1 /etc/fstab 
/dev/sdb1     /data/sdb1     xfs    defaults     0 0

第一列是挂载的设备文件名,也可以写成UUID="xxx"的形式。如果要查找该设备的UUID,可以使用命令

[root@canway01 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="170a4b3d-b684-47f1-b60b-cb18477fb735" TYPE="xfs" 

相比之下,使用UUID更可靠,因为块设备的标识符在特定情况下可能会发生变化,例如云提供商修改虚拟机的基础存储层。但UUID在设备的超级块中保持不变。

第二列是挂载点。

第三列是文件系统类型。

后三列一般都是defaults 0 0

到此为止,我们就成功添加一块硬盘并对其分区,可以进行数据的添加、修改、删除和检索了。

二 创建交换空间

2-1 创建分区

3的操作一模一样,创建一个新的分区

2-2 设置分区类型

输入字母t,设置分区类型
输入数字2,选择第二个分区
输入编码82,表示设置linux的交换分区

Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'

然后检查一遍设置是否正确

Command (m for help): p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xceafdf4b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576   82  Linux swap / Solaris

然后输入w保存信息并退出
最后输入partprobe /dev/sdb加载内核读取磁盘分区表。

2-3 格式化交换空间

向设备应用交换签名

[root@canway01 ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=0e6f832a-4090-43b6-8617-8e1aef6f58c3

2-4 激活交换空间

此时并没有启用新创建的交换空间,需要进一步激活才可以。

[root@canway01 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           972M        188M        588M        8.0M        195M        638M
Swap:          1.5G          0B        1.5G
[root@canway01 ~]# swapon  /dev/sdb2
[root@canway01 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           972M        189M        587M        8.0M        195M        638M
Swap:          2.5G          0B        2.5G

(如果要禁用该交换空间,使用命令swapoff /dev/sdb2

并在/etc/fstab文件中使用UUID挂载

[root@canway01 ~]# tail -1 /etc/fstab 
UUID=0e6f832a-4090-43b6-8617-8e1aef6f58c3  swap                    swap    defaults        0 0

最后验证新的交换空间是否已经启用

[root@canway01 ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       1572860 0       -2
/dev/sdb2                               partition       1048572 0       -3

三 删除磁盘的分区

3-1 备份数据

防止在对磁盘的错误操作而导致数据丢失,应该先对磁盘中的数据做好备份或迁移。

3-2 取消挂载

在取消挂载后,应检查一下磁盘挂载信息,进行确认。

umount /data/sdb1
df -h

如果在/etc/fstab中设置的永久挂载,还应删除或注释其挂载信息。

3-3 对磁盘分区进行删除操作

输入字母d,表示删除分区

[root@canway01 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d
Selected partition 1
Partition 1 is deleted

然后输入字母w,保存修改的请求
退出 fdisk 后,启动内核重新读取磁盘分区表,使其生效。

partprobe /dev/sdb

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

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

相关文章

【GPU】Nvidia CUDA 编程高级教程——利用蒙特卡罗法求解近似值(CUDA-Aware MPI)

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

11.24直播预告 | AIGC,看热闹不如看门道

如果把AI比作既富含能源,又无限神秘的海域,那么AIGC这条近半年内流经学术界和创投圈的支流,也无疑既带来了无数机遇,又蕴藏未知风险。 几天前,将门-TechBeat社区的专题(《AIGC的八大前沿创新》)…

Allegro基本规则设置指导书

Allegro基本规则设置指导书 下面介绍基本规则设置指导书之Analysis Modes 点击set-up-constrains-Modes 调出Analysis Modes,这个是所有DRC的总开关 下面介绍常用的一些开关设置 Design Options (Soldermask) 从上往下 阻焊到阻焊的间距 阻焊到pad和走线间距 阻焊到shape…

leecode #加一#二进制求和

题目描述: 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 分析:对数…

简单版的采用前后端分离模式实现SpingBoot新增查询功能

目录 后端代码编写 前端代码编写 首页展示: 新增: 开发工具:IDEA、HbuilderX 技术点:后端:SpringBoot,前端:ElementUIvue,采用前后端分离模式实现。 后端代码编写 目录: 代码…

多线程高并发笔记

一、基础知识 1. 线程打断的三种方法 interrupt() 打断某个线程(其实只是设置一个标志位)isInterrupted() 查询某线程是否被打断过(查询是否设置了标志位)static interrupted() 查询当前线程是否被打断过,并重置打断…

计算机毕业设计ssm+vue基本微信小程序的今日菜谱系统

项目介绍 谈到外出就餐,我们除了怕排队,也怕这家餐厅的服务员不够用,没人为我们点餐,那么一餐饭排队一小时,点餐恐怕也要花个半小时,这样不仅给消费者的用餐体验大打折扣同时也给商家的口碑造成了严重负面的影响,所以开发今日菜谱微信小程序系统是必须也是必然的。 本系统采用微…

vue2 sass 安装及使用

最近在看前端。其一因为手里有个项目uniapp的里面使用了sass,但是有sass报错,其次想自己写个vue2后台,感觉sass写起来科学点。但是……版本这个东西……太费劲了…… vue2-cli集成webpack,使用vue create 项目名后再安装sass相当…

C++程序设计期末考试复习试题及解析 3(自用~)

DDL1.题目及分析1.对象数组的析构顺序2.浅拷贝的隐患delete p 还是 delete[]p ?类似的题,自行查阅3.常数据成员的初始化4.默认构造函数5.cin、cout所属类6.重载7.静态数据成员8.多态8.联编9.内联函数10.引用11.static12.构造Complex类13.静态成员函数14.抽象类15.标…

[一篇读懂]C语言二讲:运算符与表达式

[一篇读懂]C语言二讲:运算符与表达式1. 算术运算符与关系运算符1 运算符分类2 算术运算符及算术表达式3 关系运算符与关系表达式【例】关系运算符的使用。4 运算符优先级2. 逻辑运算符与赋值运算符,求字节运算符1 逻辑运算符与逻辑表达式【例】逻辑运算符…

k8s基于kubectl命令管理资源并分配

文章目录一、资源管理介绍二、资源管理方式1、命令式对象管理2、命令式对象配置3、声明式对象配置一、资源管理介绍 在kubernetes中,所有的内容都抽象为资源,用户需要通过master节点操作资源来管理kubernetes。 (1)kubernetes的本…

数据结构串和数组练习题

串和数组 一 填空题 不包含任何字符(长度为0)的串称为 空串 ;由一个或多个空格(仅由空格符)组成的串称为 空白串。 设S“A;/document/Mary.doc”,则strlen(s) 20 , “/”的字符定位的位置为 3 。 子串的…

Windows内核--CreateProcess到内核NtCreateProcess(2.3)

CreateProcessA vs CreateProcessW A和W后缀代表ANSI和UNICODE版本。早期,Windows为了兼容之前ANSI版本,为了推广UNICODE版本,所以做出了两套API. 注意,并不是所有Windows API都有*A和*W两套,只有API参数包含"字符…

[附源码]java毕业设计社区生鲜电商平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

linux文件上传和下载、别名设置以及环境变量

一、文件上传和下载 1.sftp (1)它类似于ftp传输协议,属于ssh,但它进行加密传输,相对FTP来讲有更高的安全性 (2)用法 [rootserver ~]# ssh root10.0.0.3 The authenticity of host 10.0.0.3 …

虚基类设计 c++

一个例子 首先大家看一个定义的一个虚基类 所谓的虚基类,是指类内包含virtual关键字定义的成员函数 class Abstract_base { public:virtual ~Abstract_base();virtual void interface() const 0;virtual const char* mumble() const {return m_mumble;} protect:ch…

Echarts:制作词云

Echarts是一个开源的可视化图表库,支持丰富的图表,官网中还有大量示例可以选择使用、参考。 其中比较好玩、有趣的是词云,词云就是用关键词组成的一朵云,更广泛的定义是,由关键词组成的任意一种图案均称为词云。因此&…

opencv 空域变换

图像变换是基于像素的映射,区别是像素是怎么映射的。灰度变换的话是通过点对点的映射,也就是变换后的像素点之和当前的像素点有关(gramma变换、对数变换等等),依次来进行对比度拉伸。而空间滤波变换后的像素点是和当前…

LeetCode - 354 俄罗斯套娃信封问题

题目来源 354. 俄罗斯套娃信封问题 - 力扣(LeetCode) 题目描述 给你一个二维整数数组 envelopes ,其中 envelopes[i] [wi, hi] ,表示第 i 个信封的宽度和高度。 当另一个信封的宽度和高度都比这个信封大的时候,这个…

GreenPlum6.x之测试数据

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、generate_series是什么?二、使用步骤1.建张测试表2.插入简单的测试数据3.查看数据分散情况4.通过SQL测试性能总结前言 提示:这里可以…