我在 Intelx86 平台上。我已将整个磁盘设为 Solaris 分区。
以下是该 Solaris 分区中的切片信息
partition> p
Current partition table (original):
Total disk cylinders available: 6524 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 68 - 1141 8.23GB (1074/0/0) 17253810
1 swap wu 1 - 67 525.56MB (67/0/0) 1076355
2 backup wm 0 - 6523 49.98GB (6524/0/0) 104808060
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 home wm 1142 - 6522 41.22GB (5381/0/0) 86445765
8 boot wu 0 - 0 7.84MB (1/0/0) 16065
9 unassigned wm 0 0 (0/0/0) 0
我的问题是
当您对磁盘进行整个分区时,分区中的第一个扇区是否 = 磁盘中的第一个扇区?
上面的分区表中列出的第 1 个扇区(在引导片号 8 下)是否 = 磁盘中的第 1 个扇区?
答案1
- 通常不会。通常,第一个扇区被保留为 MBR,然后分区从其后开始。实际上,第一个分区通常在第一个完整数据单元(我不记得该数据单元是磁柱还是磁道/磁头)完成后开始。因此,在第一个完整数据单元中,只有第一个扇区被使用;其余部分通常被浪费。这就是 GAG 似乎有足够的空间来存储图形的原因;它只是使用该数据单元的一些额外扇区。
我可以访问的 Linux 系统中的实际示例:
命令(m 获取帮助):p磁盘 /dev/xvda:2664 MB,2664990720 字节 255 个磁头,63 个扇区/磁道,324 个柱面,总共 5205060 个扇区 单位 = 1 * 512 = 512 字节的扇区 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标识符:0x55137354
Device Boot Start End Blocks Id System
/dev/xvda1 63 257039 128488+ 83 Linux /dev/xvda2 257040 5188994 2465977+ 5 扩展 /dev/xvda5 257103 4176899 1959898+ 82 Linux 交换 / Solaris /dev/xvda6 4176963 5188994 506016 83 Linux
请注意,分区一从扇区 63 开始。在前 63 个扇区(编号为 0 到 62)之后,下一个扇区(63)位于新的磁道/磁头上。
我要补充的是,我强调“通常”这个词。至少在某些操作系统中,可以将文件系统卷放置在磁盘开头,并且不让 MBR 定义分区边界。不过,这种设置似乎并不常见。
- 我不太确定 Solaris 的输出。x86 MBR 通常只有 4 个分区,除非您有扩展分区。您有 5 个分区,因此可以想象 fdisk 除了显示 4 个常规分区外,还显示了引导内容。但是,我还看到分区 2 与其他分区报告的柱面重叠,这通常是“不允许的”。所以我不太确定该怎么做。通常,我发现分区是根据其扇区边界或 CHS(柱面、磁头和扇区)边界报告的。您显示的输出似乎只显示了柱面边界。如果您想要更清楚,我会尝试另一个磁盘分区程序。OpenBSD 的分区程序很好(您可以启动较小的 CD 映像,然后继续运行 fdisk,然后按“p”打印分区表)。
答案2
1:不,在 x86 下,您使用分区表(MBR/fdisk 或 EFI),其中一个分区表内有一个 vtoc 标签。单个 vtoc 分区的第一个扇区不包含 MBR/EFI 表。vtoc 切片 2 的第一个扇区可能与 fdisk 分区的第一个扇区不同。
2:不是。在 Solaris for x86 上,分片 8 扇区 0 是 Solaris 分片可用的第一个扇区,而不是整个磁盘的第一个扇区。