我刚从朋友那里得到一块硬盘。由于它只有 160GB,所以我认为它是相当旧的了。现在我要通过树莓派格式化它并使其成为一个新的硬盘。但我注意到主分区从 1049kB 开始:
root@raspberrypi:/dev# parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print free
Model: External USB 3.0 (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
32.3kB 1049kB 1016kB Free Space
1 1049kB 160GB 160GB primary
当我检查磁盘分区表(cfdisk /dev/sda)时,它只显示sda1,不显示可用空间。
如何将主空间与可用空间合并?我尝试删除分区并重新创建一个新分区。但它失败了并且保持不变。
只是好奇...为什么可用空间从 32.3kB 开始?我在很多硬盘上都看到过这个数字,但还没有找到答案。
答案1
这是由于“分区对齐”尝试将页面与块对齐而完成的。这往往会提高性能,因为数据请求往往不会跨越页面边界。如果从 0 开始分区,可能会导致向存储系统发出多个请求来获取数据块。
如果您确实需要额外的 MB 数据,那么您不关心数据的最简单方法是删除分区并使用忽略新分区对齐的参数运行 fdisk。这些参数根据您的版本而有所不同。
如果 fdisk 正在为您做这件事,那就随它去吧——它的作用是提高性能。
至于为什么 32.3kb 开始为可用空间,这是基于驱动器上的后 MBR 间隙(在 512 字节 MBR 区域之后和第一个分区开始之前),以正确对齐第一个分区和 DOS 兼容性柱面分区表的对齐问题得到了满足。建议 MBR 后的间隙约为 1 到 2 MiB,以便为嵌入 GRUB 的 core.img 提供足够的空间。目前大多数分区工具都支持 1MB 分区对齐来获取该空间并满足其他非 512 字节扇区问题(与 core.img 的嵌入无关)。
因此,32.3kb 允许后 MBR 间隙和 DOS 兼容性,可用空间为引导加载程序和 DOS 兼容性留出空间,1MB 启动用于分区对齐,通过减少对数据块的请求数量来提高性能。