通过调整相邻分区实现Linux根分区扩容(ext4文件系统)

通过GParted调整Linux分区大小实现根分区扩容

前言

在Linux系统使用过程中,我们可能会遇到根分区(/)空间不足的情况。本文将详细介绍如何通过GParted工具安全地调整相邻分区大小,将备份分区缩小,并将释放的空间分配给根分区,实现根分区的扩容。

环境介绍

硬件环境

  • 系统SSD:WDC PC SN530 SDBPNPZ-512G-1006
  • 数据SSD:HP SSD FX900 Pro 2TB

分区情况 (调整前)

HP SSD FX900 Pro 2TB上的分区布局如下:

分区类型开始扇区结束扇区文件系统卷标挂载点
/dev/nvme1n1p1Primary20481842483939ntfsSoftware/media/test/Software
/dev/nvme1n1p2Primary18424852483795182914ntfsDocuments/media/test/Documents
/dev/nvme1n1p3Primary37951856643978239999ext4/
/dev/nvme1n1p4Primary39782400003984416767ext4/backup
/dev/nvme1n1p5Primary39844167684000796671linux-swap

操作步骤

整个过程主要分为两个部分:

  1. 缩小备份分区(/dev/nvme1n1p4)
  2. 扩大根分区(/dev/nvme1n1p3)

1. 缩小备份分区并移动

首先,我们需要缩小备份分区并将其向右移动,以便为根分区腾出空间。

操作:向右移动 /dev/nvme1n1p4 并由 2.95 GiB 缩小至 2.18 GiB

具体步骤如下:

  1. 校准分区

    • 确认分区信息
    • 起始位置:3978240000
    • 终止位置:3984416767
    • 大小:6176768 (2.95 GiB)
  2. 检查文件系统错误

    • 使用e2fsck命令检查文件系统
    • 命令:e2fsck -f -y -v -C 0 '/dev/nvme1n1p4'
    • 检查结果:文件系统正常,包含14个文件
  3. 缩小文件系统

    • 使用resize2fs命令缩小文件系统
    • 命令:resize2fs -p '/dev/nvme1n1p4' 2285568K
    • 结果:文件系统大小调整为571392个块(每块4k)
  4. 调整分区大小

    • 旧的大小:6176768 (2.95 GiB)
    • 新的大小:4571136 (2.18 GiB)
  5. 再次检查文件系统

    • 确保文件系统完整性
    • 已使用的inode:23个(0.02%,总共147168)
    • 已使用的块:48174个(8.43%,总共571392)
  6. 向右移动文件系统

    • 使用e2image命令
    • 命令:e2image -ra -p -O 822083584 '/dev/nvme1n1p4'
      ##注意此处822083584为向右偏移量字节大小,注意需要计算,不要覆盖到p5分区,
      ##单个扇区大小可通过fdisk -l 命令查看sector size数值
    • 复制了48138个块,速度约188.04 MB/s
  7. 最终调整分区位置

    • 新的起始位置:3979845632
    • 新的终止位置:3984416767
    • 新的大小:4571136 (2.18 GiB)

2. 扩大根分区

在缩小并移动备份分区后,我们可以将释放出的空间分配给根分区。

操作:将 /dev/nvme1n1p3 由 87.29 GiB 扩大至 88.05 GiB

具体步骤如下:

  1. 校准根分区

    • 确认分区信息
    • 起始位置:3795185664
    • 终止位置:3978239999
    • 大小:183054336 (87.29 GiB)
  2. 扩大分区

    • 旧的大小:183054336 (87.29 GiB)
    • 新的大小:184659968 (88.05 GiB)
    • 增加了约0.76 GiB的空间
  3. 扩大文件系统

    • 使用resize2fs命令在线调整文件系统大小
    • 命令:resize2fs -p '/dev/nvme1n1p3'
    • 结果:文件系统大小调整为23082496个块(每块4k)
    • 注意:根分区在调整时是在线状态(已挂载)

结果分析

操作完成后,分区布局如下:

分区类型开始扇区结束扇区文件系统卷标挂载点
/dev/nvme1n1p1Primary20481842483939ntfsSoftware/media/test/Software
/dev/nvme1n1p2Primary18424852483795182914ntfsDocuments/media/test/Documents
/dev/nvme1n1p3Primary37951856643979845631ext4/
/dev/nvme1n1p4Primary39798456323984416767ext4/backup
/dev/nvme1n1p5Primary39844167684000796671linux-swap

通过这次操作,我们成功地:

  1. 将备份分区(/dev/nvme1n1p4)从2.95 GiB缩小到2.18 GiB
  2. 将根分区(/dev/nvme1n1p3)从87.29 GiB扩大到88.05 GiB

注意事项

  1. 备份数据:在进行任何分区操作前,务必备份重要数据,以防意外发生。
  2. 检查文件系统:操作前后检查文件系统完整性是确保数据安全的关键步骤。
  3. 在线调整:根分区的调整是在线进行的,这是ext4文件系统的一个优势。
  4. 分区对齐:GParted会自动处理分区对齐问题,确保性能最优。
  5. 空间规划:在调整分区前,要确保有足够的空间来容纳数据。

总结

通过GParted工具,我们可以安全地调整Linux分区大小,实现根分区的扩容。整个过程虽然需要一定的技术基础,但只要按照正确的步骤操作,风险是可控的。希望本文对遇到类似问题的朋友有所帮助。推荐使用Gparted图形工具进行调整,这会更方便。

参考资料

  1. GParted官方文档:https://gparted.org/documentation.php
  2. Ext4文件系统在线调整:https://ext4.wiki.kernel.org/index.php/Ext4_Howto

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jmeter吞吐量控制器-Throughput Controller

jmeter吞吐量控制器-Throughput Controller 新增吞吐量控制器名词解释测试场景场景1:场景2:场景3场景4场景5场景6场景7场景8 测试结论 根据百分比执行不同的接口测试场景测试结果 新增吞吐量控制器 名词解释 Based on: Total Executions(总执行数)/Perc…

微服务》》Kubernetes (K8S) 集群配置网络》》Calico

嘻嘻嘻 以Calico 为例子 Calico官网 官网上有安装Calico插件的步骤 步骤 要在主节点 主节点 主节点 执行 kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.29.2/manifests/tigera-operator.yaml kubectl create -f https://raw.githubuse…

蓝桥杯关于栈这个数据结构的一个算法题目

文章目录 1.题目概述解释2.思路分析3.代码解析 1.题目概述解释 找出来这个字符串里面重复出现的字符,类似于这个消消乐的游戏; 示例一里面的这个bb是连续的并且是一样的这个字符,因此删除bb,删除之后发现这个aa有一次相邻了&…

打破煤矿通信屏障,无线系统赋能生产安全与智能进阶

项目背景 在煤矿行业智能化转型的浪潮中,七台河矿业局积极回应国家煤矿智能化建设的号召,采取了具有前瞻性的战略举措——在七台河地区的煤矿部署了“井上井下”无线覆盖与广播一体化系统。此举旨在消除井上与井下之间的通信障碍,加强矿业局与…

基于CNN的FashionMNIST数据集识别4——GoogleNet模型

源码 import torch from torch import nn from torchsummary import summaryclass Inception(nn.Module):def __init__(self, in_channels, c1, c2, c3, c4):super().__init__()self.ReLu nn.ReLU()#路径1self.p1_1 nn.Conv2d(in_channelsin_channels, out_channelsc1, kern…

面试题精选《剑指Offer》:JVM类加载机制与Spring设计哲学深度剖析-大厂必考

一、JVM类加载核心机制 🔥 问题5:类从编译到执行的全链路过程 完整生命周期流程图 关键技术拆解 编译阶段 查看字节码指令:javap -v Robot.class 常量池结构解析(CONSTANT_Class_info等) 类加载阶段 // 手动加载…

(2025|ICLR|华南理工,任务对齐,缓解灾难性遗忘,底层模型冻结和训练早停)语言模型持续学习中的虚假遗忘

Spurious Forgetting in Continual Learning of Language Models 目录 1. 引言 2. 动机:关于虚假遗忘的初步实验 3. 深入探讨虚假遗忘 3.1 受控实验设置 3.2 从性能角度分析 3.3 从损失景观角度分析 3.4 从模型权重角度分析 3.5 从特征角度分析 3.6 结论 …

【css酷炫效果】纯CSS实现火焰文字特效

【css酷炫效果】纯CSS实现火焰文字特效 缘创作背景html结构css样式完整代码基础版进阶版(冰霜版) 效果图 想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90492005 缘 创作随缘,不定时更新。 创作背景 刚…

专访LayaAir引擎最有价值专家-施杨

在 LayaAir 引擎的资源商店中,许多开发者都会注意到一个熟悉的名字——“射手座”。他不仅贡献了大量高质量的 Shader 资源,让一些开发者通过他的作品了解到 LayaAir 引擎在 3D 视觉效果上的更多可能,也让大家能够以低成本直接学习并应用这些…

大模型详细配置

Transformer结构 目前主力大模型都是基于Transformer的,以下是Transformer的具体架构 它由编码器(Encoder)以及解码器(Decoder)组成,前者主要负责对输入数据进行理解,将每个输入 词元都编码成一个上下文语义相关的表示向量;后者…

鸿蒙NEXT项目实战-百得知识库04

代码仓地址,大家记得点个star IbestKnowTeach: 百得知识库基于鸿蒙NEXT稳定版实现的一款企业级开发项目案例。 本案例涉及到多个鸿蒙相关技术知识点: 1、布局 2、配置文件 3、组件的封装和使用 4、路由的使用 5、请求响应拦截器的封装 6、位置服务 7、三…

Python数据可视化实战:从基础图表到高级分析

Python数据可视化实战:从基础图表到高级分析 数据可视化是数据分析的重要环节,通过直观的图表可以快速洞察数据规律。本文将通过5个实际案例,手把手教你使用Python的Matplotlib库完成各类数据可视化任务,涵盖条形图、堆积面积图、…

修改原生的<input type=“datetime-local“>样式

效果 基础样式 <input type"datetime-local" class"custom-datetime">input[type"datetime-local"] {/* 重置默认样式 */-webkit-appearance: none;-moz-appearance: none;appearance: none; // 禁用浏览器默认样式/* 自定义基础样式 */w…

scrapy入门(深入)

Scrapy框架简介 Scrapy是:由Python语言开发的一个快速、高层次的屏幕抓取和web抓取框架&#xff0c;用于抓取web站点并从页面中提取结构化的数据&#xff0c;只需要实现少量的代码&#xff0c;就能够快速的抓取。 新建项目 (scrapy startproject xxx)&#xff1a;新建一个新的…

fetch,ajax,axios的区别以及使用

fetch,ajax,axios这些都是发起前端请求的工具&#xff0c;除了这些外还有jquery的$.ajax。ajax和$.ajax都是基于XMLHttpRequest。 介绍下XMLHttpRequest XMLHttpRequest是一种在浏览器中用于与服务器进行异步通信的对象&#xff0c;它是实现 AJAX&#xff08;Asynchronous Ja…

微信小程序的业务域名配置(通过ingress网关的注解)

一、背景 微信小程序的业务域名配置&#xff08;通过kong网关的pre-function配置&#xff09;是依靠kong实现&#xff0c;本文将通过ingress网关实现。 而我们的服务是部署于阿里云K8S容器&#xff0c;当然内核与ingress无异。 找到k8s–>网络–>路由 二、ingress注解 …

LiteratureReading:[2016] Enriching Word Vectors with Subword Information

文章目录 一、文献简明&#xff08;zero&#xff09;二、快速预览&#xff08;first&#xff09;1、标题分析2、作者介绍3、引用数4、摘要分析&#xff08;1&#xff09;翻译&#xff08;2&#xff09;分析 5、总结分析&#xff08;1&#xff09;翻译&#xff08;2&#xff09;…

前后端联调解决跨域问题的方案

引言 在前后端分离的开发模式中&#xff0c;前端和后端通常在不同的服务器或端口运行&#xff0c;这样就会面临跨域问题。跨域问题是指浏览器因安全限制阻止前端代码访问与当前网页源不同的域、协议或端口的资源。对于 Java 后端应用&#xff0c;我们可以通过配置 CORS&#x…

开源软件许可证冲突的原因和解决方法

1、什么是开源许可证以及许可证冲突产生的问题 开源软件许可证是一种法律文件&#xff0c;它规定了软件用户、分发者和修改者使用、复制、修改和分发开源软件的权利和义务。开源许可证是由软件的版权所有者&#xff08;通常是开发者或开发团队&#xff09;发布的&#xff0c;它…

python爬虫笔记(一)

文章目录 html基础标签和下划线无序列表和有序列表表格加边框 html的属性a标签&#xff08;网站&#xff09;target属性换行线和水平分割线 图片设置宽高width&#xff0c;height html区块——块元素与行内元素块元素与行内元素块元素举例行内元素举例 表单from标签type属性pla…