首页 > 其他分享 >sudo fdisk -l命令出现警告:Partition 1 does not start on physical sector boundary的原因

sudo fdisk -l命令出现警告:Partition 1 does not start on physical sector boundary的原因

时间:2024-04-08 20:11:27浏览次数:20  
标签:sector 分区 Partition bytes 扇区 start 4K 对齐 硬盘

出现这个警告的原因是分区起点不在物理扇区边界。用我们的常用的说法就是存在分区未4K对齐,下面浅浅解释一下:

早期的硬盘一个扇区的大小是512个字节,后来随之磁盘容量的不断增加和读写效率提升的要求,国际硬盘协会制定了全新标准,将每个扇区的大小调整为4096个字节,也就是4KB,这种扇区又叫4K扇区。4K对齐指的就是对磁盘分区时,让分区的起始扇区位于某一个4K扇区的起始位置。

当硬盘扇区改成4K扇区之后,为了兼容以前的标准,保证旧的操作系统和应用软件使用新磁盘不会出错,厂商把一个4K物理扇区虚拟成8个512字节的逻辑扇区。建立分区的时候从这8个扇区中的第一个扇区开始的分区,就是4K对齐了,从其他7个扇区开始的分区,就是4K没有对齐。

sudo fdisk -l查看磁盘分区信息

Disk /dev/sdb: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 7CBFA9CA-D784-4396-9378-7A8FF05DE9C1

设备       Start      末尾      扇区  Size 类型
/dev/sdb1     34       32767       32734   16M Microsoft reserved
/dev/sdb2  32768 15628050431 15628017664  7.3T Microsoft basic data

Partition 1 does not start on physical sector boundary.

第三行可以看到:磁盘逻辑扇区(logical)为512字节,物理扇区(physical)为4K字节。

/dev/sdb2分区开始扇区为 32768 逻辑扇区,可以被八整除,说明4k对其正确,
/dev/sdb1扇区开始扇区为 34 逻辑扇区,无法被八整除,物理扇区从第三个虚拟开始,所以报错:分区1未在物理扇区边界上启动。

PS:为什么要4K对齐?
磁盘读写则是按扇区,为了简化寻址过程并提高数据传输效率,操作系统通过将多个扇区组合成一个更大的单位簇(格式化创建文件系统时设置,通常为4KB)来进行数据读写操作。假如一个分区的起始扇区为一个4K扇区的第3个虚拟扇区,也就是4K没有对齐时,每当系统操作一个簇时,磁头就要对两个4K扇区进行操作,当存在大量小文件的时候,操作速度就会较低。而正确的4K对齐就会提升读写速度,尤其是小文件的读写速度。

相比机械硬盘,固态硬盘虽无扇区概念,固态硬盘所使用的NAND颗粒的最小单位是页,页的大小一般也是4KB,所以固态硬盘的页,等同于机械硬盘的扇区。而且由于固态硬盘的工作原理以及垃圾回收机制,4K对齐对其速度影响远大于机械硬盘,所以对于固态硬盘,4K对齐更加必要。

标签:sector,分区,Partition,bytes,扇区,start,4K,对齐,硬盘
From: https://www.cnblogs.com/GardenOfAhei/p/18122388

相关文章

  • 后端实现查询分页PageHelper.startPage()
      这是一个多条件查询,当查询时给出条件,则按条件查询符合条件的所有数据;不给条件时,则查询全部。mapper层:/**部门查询全部条件:登录名称、手机号、状态、时间区间*/List<XzUser>selectAll(@Param("userName")StringuserName,@Param("phoneNumber")String......
  • 30 天精通 RxJS (09):Observable Operator - skip, takeLast, last, concat, startWith, merge
    运营商skip我们昨天介绍了take可以取前几个送出的元素,今天介绍可以略过前几个送出元素的operator:skip,范例如下:varsource=Rx.Observable.interval(1000)varexample=source.skip(3)example.subscribe({ next:(value)=>{ console.log(value) }, error:(err)......
  • Pytorch实用教程:Pytorch中enumerate(test_loader, start=0)的解释
    文章目录1.Pytorch中的enumerate(test_loader,0)数据加载器`test_loader``enumerate(test_loader,0)`数据解包`inputs,labels=data`总结2.python中enumerate的用法基本用法示例遍历列表使用不同的起始索引在字典上使用为什么使用`enumerate`?1.Pytorch......
  • [StartingPoint][Tier1]Bike
    Task1WhatTCPportsdoesnmapidentifyasopen?Answerwithalistofportsseperatedbycommaswithnospaces,fromlowtohigh.(nmap识别哪些TCP端口为开放?回答以逗号分隔的端口列表,不带空格,从低到高。)#nmap-sS-T4-Pn10.129.97.64--min-rate1000......
  • QOJ #1280.Fibonacci Partition/Fibonacci性质大杂烩
    QOJ#1280.FibonacciPartition(为什么布置的作业题没有任何可见AC记录啊/kk)拿下了QOJ上的用户首杀(同时目前也是QOJ可见的submission中唯一一个过掉这个题的,另一个是vjudge上我的提交)。也许是这个题实在是太冷门了,但是从Fibonacci-Lucas数列的性质应用上是一道非常......
  • 基于 Docker 的 go grpc quickstart
    工作之后一直使用的RPC框架是Apache的thrift,现在发现grpc更流行,所以也要学习一下,先来简单的跑一下demo。在本地安装运行也很方便,不过因为有了docker,所以在docker里面安装运行隔离性更好,顺便也提升docker命令行的熟练度。1.编写Dockerfile文件FROMgolang:1......
  • [ERROR] [Entrypoint]: Unable to start server 记录一次-docker-运行mysql-报错
    环境说明linux系统版本:lsb_release-a  docker版本:docker-v 不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。  mysql版本:5.7  .1.问题复现。使用命令启动mysql服务 dockerrun--name=mysql-it\-p3306:3308\-eMYSQL......
  • lightdb 支持 merge partitions
    背景Oracle中支持很多种分区管理操作。其中mergepartitions会将多个连续分区合并成一个分区。lightdb24.1中支持了该功能。mergepartitions功能支持list和range分区,不支持hash分区。用例range分区CREATETABLEmeasurement(city_idintnotnul......
  • Llama-recipes Quick start 的调试
    先给出Llama-recipes项目的链接LLaMa环境配置condacreate-nLLamapython=3.10#建立虚拟环境condaactivateLLama#激活虚拟环境按照LLamarecipy安装包cd你的llamarecipy的存放位置pipinstall--extra-index-urlhttps://download.pytorch.org/whl/test/c......
  • mysql每天都重启动问题排查(mysqld_safe mysqld restarted)
    环境:OS:Centos7DB:mysql5.7 1.测试环境一台机器每天都要重启一次2024-03-31T20:08:10.130560Zmysqld_safemysqldrestarted2024-03-31T20:08:10.183119Z0[Warning]Changedlimits:max_open_files:5000(requested25000)2024-03-31T20:08:10.183338Z0[Warning]......