我想了解如何在不使用格式的情况下创建新切片。这是原始情况(工作)
* /dev/rdsk/c0t2d0s2 partition map
*
* Dimensions:
* 512 bytes/sector
* 63 sectors/track
* 255 tracks/cylinder
* 16065 sectors/cylinder
* 2608 cylinders
* 2606 accessible cylinders
*
* Flags:
* 1: unmountable
* 10: read-only
*
* Unallocated space:
* First Sector Last
* Sector Count Sector
* 41495895 369495 41865389
*
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
1 9 00 16065 20980890 20996954
2 9 00 20996955 10490445 31487399
3 9 00 31487400 10008495 41495894
8 1 01 0 16065 16064
分区大小(更好的切片)为第一个 10gb,第二个 5gb,第三个 4.77gb。
我想创建第四个切片(编号 4),大小为 2GB,并将第三个切片缩小到 2GB
我编辑此文件(将旧文件保存为备份)
* /dev/rdsk/c0t2d0s2 partition map
*
* Dimensions:
* 512 bytes/sector
* 63 sectors/track
* 255 tracks/cylinder
* 16065 sectors/cylinder
* 2608 cylinders
* 2606 accessible cylinders
*
* Flags:
* 1: unmountable
* 10: read-only
*
* Unallocated space:
* First Sector Last
* Sector Count Sector
* 41495895 369495 41865389
*
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
1 9 00 16065 20980890 20996954
2 9 00 20996955 10490445 31487399
3 9 00 31487400 4194304 35681703
4 9 00 35681704 4194304 41865389
8 1 01 0 16065 16064
大小似乎是正确的(每片 2048 mb)
4194304*512 = 2147483648
2147483648*1024 = 2199023255552
2199023255552/1024 = 2147483648
2147483648/1024 = 2097152
2097152/1024 = 2048
但是当我尝试创建新的分区表时......
fmthard -s file.map /dev/rdsk/c0t2d0s2
Partition 3 not aligned on cylinder boundary: " 3 9 00 31487400 4194304 35681703"
我的错在哪里?我知道格式太简单了,但我也想用这种方式学习。
找到解决方案/解决方法。我遵循“柱面规则”。您可以创建任何大小(当然不能超过磁盘大小),但每个切片必须“由”许多柱面组成,这些柱面必须“绑定”到切片,例如:分区 1 使用 1-1000 个柱面,分区 2 使用 1001-1500 个柱面,等等。这是正确的,分区 1 使用 1-1000 个柱面,分区 2 使用 1000-1500 个柱面,这是不正确的,因为一个柱面不能“共享”,首先计算柱面的大小,为了避免无聊的数学计算,我创建了一个 1 个柱面的切片,格式为
因此,如果我想创建一个 3000mb 的切片,我必须计算可以使用多少个 7.84mb 单位(圆柱体大小)来“达到”3000mb
我做了这些计算
最终结果是 6136830 个扇区(2.93gb),是 382*16065 的结果
因此我编辑文件以使用 10gb 的第一个分区、3000mb 的 2 3 4 分区。
可以吗?是的
测试 newfs 和 mount 工作。
编辑:我还发现并非所有尺寸都有效,如果失败,我发现这个解决方法
此配置不起作用
这个是的(我从前一个分区的末尾删除 1 个扇区,并将 +1 添加到下一个分区的开头,最后从上一个/下一个分区的末尾删除 -1 个扇区)
等待更好的解释和正确的公式来计算每个分区大小,我会认为这种解决方法有效。
编辑2:我尝试了我的解决方法,效果很好。我想添加一个 9GB 分区
此配置给出错误“分区 4 未与柱面边界对齐”
这很完美
即使 newfs 也不会返回任何错误(除了某些未分配扇区的警告)