|
回复 #8 lhc0688 的帖子
你表述的太繁琐了。
你看我这样说是否符合你的意思:
获取每块硬盘的分区个数,找出所有硬盘分区序列中的第一个非活动的没有隐藏的分区,如果找不到或者这个分区是1.1 就宣告 “不符合条件”
omnifs info |awk '$0!~"Active" && $0!`"Hidden" && $0~"Volume"'|awk '{print $1;exit}'
这里还涉及 活动分区 和 非活动分区 的 概念问题。
活动分区:active 分区,可以引导 进入操作系统的 主引导分区。
非活动分区:扩展分区下的多个 逻辑分区 和 没有被标记为 active 的 主引导分区 。
通常做系统恢复,都是 分区出 另一个与 被 active 了的 主引导分区相对应的 “第二主引导分区” ,这个 第二主引导分区用来在特定的环境下,引导“第二系统”,对“第一主引导分区”进行备份、还原。因为 mbr 体系中 只允许有一个 被 active 的主引导分区,所以 当“第二”主引导分区被 active 激活,第一主引导分区 active状态就必然被关闭。
你说的 隐藏、不隐藏、活动、非活动 到底是 什么?
omnifs 并不能区分 主引导分区 还是 逻辑分区,只能通过 active 标记区分出可以引导进入系统 的分区是主引导分区,如果一块硬盘分区序列中还存在没有被 active 的 主引导分区,omnifs 看不出来。那么 ,omnifs 也 不能分出 隐藏的分区 到底是 主引导分区还是逻辑分区 。
对 硬盘分区的 识别和判断 还是用 gdisk 更合适。
[ 本帖最后由 dos时代菜鸟 于 2012-3-1 15:28 编辑 ] |
|