如果是多硬盘的情况,如何在Windows下获取硬盘的启动顺序?

hsly110 2007-06-07 10:45:13
如果是多硬盘的情况,如何在Windows下获取硬盘的启动顺序?

也就是 如何知道哪个硬盘做为启动盘?
...全文
493 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hkbyest 2007-06-13
  • 打赏
  • 举报
回复
我的看法是CPU初始化BIOS后先根据你CMOS里设置的启动设备顺序地搜索引导扇区来引导操作系统,如果是从硬盘引导则读取MBR记录并进行下一步工作,一般情况下MBR放在HDD-0的0磁道上。当然如果你CMOS设置从“从硬盘”HDD-1启动,而“从硬盘”上面有引导记录和操作系统那就引导“从硬盘”。


附:
windows启动顺序
第一步:硬件读取引导扇区
第二步:加载NTLDR并读取BOOT.ini文件
第三步:NTDETECT运行并决策硬件设备
第四步:NTLDR加载NTOSKRNL.EXE,NT内核和HAL.DLL,硬件基本驱动
第五步:NT准备好系统盘
第六步:服务器管理器SMSS.EXE加载,它读入注册表registry并决定需要加载哪些服务
第七步:加载WIN32系统
第八步:启动提供登录服务的winlogon
第九步:SCREG,注册表扫描工具和LSASS,本地安全授权工具随winlogon一起启动,开始加载驱动程序,系统就绪。
mengshijie_1981 2007-06-12
  • 打赏
  • 举报
回复
多谢楼上补充,bios真聪明,如果主设备无效就去搜索从设备,是应该如此设计。
即便如此,硬盘的启动顺序仍是固定的,是由bios控制的,而不是由windows决定从那块硬盘启动,因为windows也在硬盘上。就象GDTR指向GDT一样,而不是GDT中的描述符指向GDT
Treeyan 2007-06-10
  • 打赏
  • 举报
回复

mengshijie_1981(云中雀) 同学的回答并不准确

Windows 以 BIOS 启动硬盘为引导设备, 并不总是主设备,如果你有两块主从硬盘,将主硬盘的0扇区启动标志 55 AA 去掉,那么从设备硬盘在大多数计算机上也可以引导系统.

判别引导硬盘应该读取引导的 ARC symbolic 名,形如 multi(0)disk(?)rdisk(?)partition(?)

然后查询系统 symbolic 连接名字,可以找到并得出启动硬盘的名字如: PhysicalDriveX X 为常数,这也是 windows 系统配置boot.ini 所使用的标准方法

若以 mengshijie_1981(云中雀) 同学的理解而编码,可能在大多数机器上成功的,甚至在NT 上完全不会有错误,但2K 以后的系统, BUG难免会发生
hsly110 2007-06-09
  • 打赏
  • 举报
回复
TO mengshijie_1981(云中雀)
谢谢你的解答,我明白了!
mengshijie_1981 2007-06-08
  • 打赏
  • 举报
回复
BIOS引导时,只认主设备,不把从设备看作是可以引导的,因此,从硬盘不在可引导范围之内。windows引导程序也是从bios引导程序那里获得的控制权,所以,windows也没有办法从从硬盘引导。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧