Sir*_*ack 10 partitioning maintenance fdisk
我执行了命令:
# fdisk /dev/sda1
Run Code Online (Sandbox Code Playgroud)
输出是:
The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
Command (m for help): p
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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
Disk identifier: 0xe0c5913d
Device Boot Start End Blocks Id System
/dev/sda1 63 40965749 20482843+ 1c Hidden W95 FAT32 (LBA)
Partition 1 does not start on physical sector boundary.
/dev/sda2 * 40966144 334567423 146800640 7 HPFS/NTFS/exFAT
/dev/sda3 334567424 753997823 209715200 83 Linux
/dev/sda4 753999870 1953525167 599762649 5 Extended
Partition 4 does not start on physical sector boundary.
/dev/sda5 753999872 1949376511 597688320 83 Linux
/dev/sda6 1949378560 1953525167 2073304 82 Linux swap / Solaris
Run Code Online (Sandbox Code Playgroud)
我遇到了麻烦,因为以下项目:
设备呈现的逻辑扇区大小小于物理扇区大小。建议对齐物理扇区(或最佳 I/O)大小边界,否则性能可能会受到影响。
分区 1 不在物理扇区边界上开始。
分区 4 不在物理扇区边界上开始。
如何在不丢失文件和分区的情况下解决其中一项或多项问题?
保持原样我会有什么问题?
Rod*_*ith 11
对于大多数现代磁盘来说,逻辑扇区大小小于物理扇区大小是正常的。这就是最常见的高级格式化磁盘的实现方式。一些外部磁盘对物理和逻辑扇区使用相同的(4096 字节)扇区大小,我听说一些高端内部磁盘现在也这样做,但现在大多数磁盘都是具有 512 字节的高级格式模型逻辑扇区和 4096 字节物理扇区。对此您无能为力(或应该尝试)。
也就是说,正确对齐高级格式磁盘的分区很重要。我在高级格式磁盘上运行了一些测试,以确定当它们的分区未对齐时会发生什么,并在此处发布结果。简而言之,从一个文件系统到另一个文件系统,从一个磁盘到另一个磁盘,问题的程度差异很大,但几乎总是与未对齐的分区相关的显着(有时是巨大的)性能损失。
/dev/sda4但是,您的不直接保存文件系统;它是一个扩展分区,这意味着它只是其他分区的容器。直接关联的数据/dev/sda4只是两个(逻辑)扇区,它们甚至可能彼此都不相邻,因此它们无法正确对齐。真正的性能损失将来自/dev/sda4. 在您的情况下,/dev/sda4持有/dev/sda5和/dev/sda6,两者都正确对齐。因此,您无需担心/dev/sda5. 您看到的警告只是代码过于热衷于报告不存在的“问题”。
你/dev/sda1,在另一方面,没有正确对齐-它开始段63,这是不整除8.关于是否取决于有多少你使用的分区,你如何使用它(文件大小,你应该做的事情,读取与写入等),从中获得最佳性能有多重要,是否有足够的备份等。我建议您阅读我之前引用的文章,然后决定是否解决问题。(由于篇幅原因,我没有在那篇文章中报告 FAT 结果,但 FAT 性能受到了相当大的影响——IIRC,不像 ReiserFS 那样糟糕,但至少与大多数其他 Linux 原生文件系统一样糟糕。)
如果您决定要修复/dev/sda1,则应从备份开始。完成后,修复它的一种方法是删除它,在其位置创建一个新分区,然后恢复其文件。另一种方法(备份后)是在 GParted 中调整分区大小。对起点做一个微小的改变;任何最新版本的 GParted 都应该四舍五入到 2048 个扇区的倍数,你会没事的。移动分区的起点总是比移动终点风险更大,花费的时间也更长。由于分区只有 19GiB 大小,所以操作应该不会花费太多时间,甚至移动起点,但它不会是瞬时的。
作为旁注和背景,只有相当老的工具才能使现代高级格式磁盘上的分区不对齐。我的猜测是,你使用这样的工具(旧版本的Linux年代fdisk或DOS FDISK,也许)创建/dev/sda1,然后用更现代的工具(更近fdisk,parted或的gparted,可能)来创建分区的其余部分。