Mik*_*kov 8 partition hard-disk gpt
我知道高级格式并在磁盘开头设置 2048 个空闲扇区。但是我刚刚将磁盘的分区表从 MS-DOS 转换为 GPT,我注意到了这一点:
前:
Number Start End Size Type File system Flags
32,3kB 1049kB 1016kB Free Space
1 1049kB 31,5GB 31,5GB primary ntfs
2 31,5GB 43,0GB 11,5GB primary
3 43,0GB 44,1GB 1074MB primary linux-swap(v1)
4 44,1GB 80,0GB 36,0GB extended
5 44,1GB 54,6GB 10,5GB logical
6 54,6GB 65,0GB 10,5GB logical ext4 boot
7 65,0GB 80,0GB 15,0GB logical
80,0GB 80,0GB 56,8kB Free Space
Run Code Online (Sandbox Code Playgroud)
后:
Number Start End Size File system Name Flags
17,4kB 1049kB 1031kB Free Space
1 1049kB 31,5GB 31,5GB ntfs Microsoft basic data msftdata
2 31,5GB 43,0GB 11,5GB Linux filesystem
3 43,0GB 44,1GB 1074MB linux-swap(v1) Linux swap
44,1GB 44,1GB 1049kB Free Space
5 44,1GB 54,6GB 10,5GB Linux filesystem
54,6GB 54,6GB 1049kB Free Space
6 54,6GB 65,0GB 10,5GB ext4 Linux filesystem
65,0GB 65,0GB 1049kB Free Space
7 65,0GB 80,0GB 15,0GB Linux filesystem
80,0GB 80,0GB 39,9kB Free Space
Run Code Online (Sandbox Code Playgroud)
如您所见,那里有 3 个额外的间隙(2048 个扇区),每个间隙用于一个扩展分区。第一和第二、第二和第三分区之间没有间隙。
有谁知道为什么间隙只存在于逻辑分区之间?
如今,分区器喜欢在兆字节边界上对齐分区。对于 MBR 分区,有 4 个主分区,对于其余分区,您需要扩展分区和逻辑分区。
虽然主分区的布局在磁盘的第一个扇区的末尾表示,但对于逻辑分区,您有一个附加分区表的链接列表(它们自己只指定一个分区。通常,第一个是作为扩展分区的开头(它本身定义为主分区)并定义第一个逻辑分区,它链接到定义下一个逻辑分区的下一个分区表。下一个分区表通常位于第一个逻辑分区之后划分。
所有这些分区表只占用分区外的几个字节,但由于兆字节对齐,必须为它们使用完整的兆字节。
另一端的 GPT 将所有分区信息存储在磁盘的开头(末尾有备份),因此转换后,用于逻辑分区分区表的空间变得空闲。
请注意,您只需要一个扇区来存储那些 MBR 逻辑分区表,因此严格来说,在 MBR 分区中,如果分区者不愿意在兆字节边界上对齐分区,则将有 2047 个空闲扇区。