当前位置: 首页 > news >正文

Linux parted问题:指定分区边界失效

一、问题背景

博主在一次使用parted工具进行分区时遇到了指定分区边界失效的问题

下面是一块20GB的磁盘,并已为剩余的1GB空间全部划分为扩展分区:

(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number  Start   End     Size    Type      File system     Flags1      1049kB  525MB   524MB   primary   xfs             boot2      525MB   19.9GB  19.3GB  primary   xfs3      19.9GB  20.4GB  524MB   primary   linux-swap(v1)4      20.4GB  21.5GB  1098MB  extended                  lba

下面我想将这一扩展分区再划分为两个大小差不多的逻辑分区,于是先划分第一块逻辑分区:

(parted) mkpart logical 20.4GB 21.0GB

然而结果并不是我指定的边界大小:

 4      20.4GB  21.5GB  1098MB  extended                  lba5      20.4GB  21.5GB  1097MB  logical            # 占满整个扩展分区!

它竟然将全部扩展分区都分给了这个逻辑分区,这并不是我想要的结果。

查询资料后发现,核心原因是​:结束位置21.0GB未被严格执行,分区工具因​​扇区对齐​​或参数识别问题自动调整到扩展分区的结束边界。

二、解决方案:精确分配

将空间单位进一步精确到MB,再进行分区。

1. 删除错误的逻辑分区

(parted) rm 5                # 删除编号为5的逻辑分区
(parted) print               # 确认扩展分区恢复空闲空间

2. 用MB单位显示分区大小

(parted) unit MB                                                          
(parted) print                                                            
Number  Start    End      Size     Type      File system     Flags4      20377MB  21475MB  1098MB   extended                  lba

3. 计算结束位置,重新创建逻辑分区

    20377MB + 512MB = 20889MB

(parted) mkpart logical 20377MB 20889MB                                   
(parted) print                                                           
Number  Start    End      Size     Type      File system     Flags4      20377MB  21475MB  1098MB   extended                  lba5      20377MB  20889MB  512MB    logical

    OK了

三、经验总结

在使用parted工具分区时,要尽量精确磁盘的起始位置,使用MB或KB为单位

扇区对齐陷阱​​:结束位置21.0GB可能因未对齐512B扇区被自动调整为合法值(如21.5GB)。使用MiB单位可规避此问题。

http://www.lryc.cn/news/599992.html

相关文章:

  • HTTP响应状态码详解
  • Java 常用数据库详解
  • 数据结构 之 【排序】(递归实现快速排序)
  • 【补题】Codeforces Round 735 (Div. 2) B. Cobb
  • 中国移动融合企业网关H10G-13-中星微ZX296716处理器-破解教程
  • 基于springboot的小区车位租售管理系统
  • 学习:JS[6]环境对象+回调函数+事件流+事件委托+其他事件+元素尺寸位置
  • 利用DeepSeek测试kdb+x的tpch sf=10数据
  • Vue2-VueRouter
  • rtpengine的docker化
  • 【C语言进阶】一篇文章教会你文件的读写
  • 微服务架构中的资源调度与负载均衡实践
  • CSS3新特性深度解析:Position Sticky粘性定位完整指南
  • Android 15中的16KB大页有何优势?
  • 深度学习篇---预训练模型
  • 升级目标API级别到35,以Android15为目标平台(三 View绑定篇)
  • 【应急响应】进程隐藏技术与检测方式(二)
  • 三坐标和激光跟踪仪的区别
  • 重庆市傲雄司法鉴定所获准新增四项司法鉴定资质
  • 认识编程(3)-语法背后的认知战争:类型声明的前世今生
  • 利用Trae将原型图转换为可执行的html文件,感受AI编程的魅力
  • 使用python的头文件Matplotlib时plt.show()【标题字体过小】问题根源与解决方案
  • java每日精进 7.25【流程设计3.0(网关+边界事件)】
  • 【Linux系统】基础IO(下)
  • 解决笔记本合盖开盖DPI缩放大小变 (异于网传方法,Win11 24H2)
  • STM32的WI-FI通讯(HAL库)
  • 【电赛学习笔记】MaxiCAM 项目实践——二维云台追踪指定目标
  • 嵌入式Linux裸机开发笔记8(IMX6ULL)主频和时钟配置实验(3)
  • vue 渲染 | 不同类型的元素渲染的方式(vue组件/htmlelement/纯 html)
  • linux配置ntp时间同步