高手请进(UP有分):使用网卡引导电脑是怎么回事?

tianxiangyuan 2004-03-29 05:26:56
在BIOS的设置中,可以选择从网卡进行启动。我们知道从硬盘启动时,BIOS将MBR读到内存中的Ox0000:0x7COO,然后从这里执行。如果从网卡进行引导,BIOS也会将网卡上的EEPROM中的程序读到内存中的Ox0000:0x7COO,然后从这里执行吗?如果不是,其执行环境和执行过程又是什么样的?

请不吝赐教。
...全文
387 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
flashzlm 2004-04-05
  • 打赏
  • 举报
回复
关注
sangern 2004-04-04
  • 打赏
  • 举报
回复
关注
lckk 2004-04-03
  • 打赏
  • 举报
回复
up
anggogo 2004-04-03
  • 打赏
  • 举报
回复
其实只是中断问题. 还要得看你的卡是什么芯片,每个芯片上都有规定好的 interrupt vendor 和 interrupt table. 每个芯片通电后, 就会自动有个 timing system 在跑, 然后那些 interrupt 地址上的中断程序也会试着去执行,如果有指向的话.
hundlom 2004-04-03
  • 打赏
  • 举报
回复
up
carehare 2004-04-01
  • 打赏
  • 举报
回复
google出来的PNPBIOS好像和option rom没关系啊?我记得PCI规范规定了PCI option rom的格式的,好像里面可以放好几个小image,然后bios根据你机器配置加载最合适的,并执行。

和网络通信的逻辑是在网卡rom里吗?这样不是很浪费(每张卡都得有)?
duonaohe3629 2004-04-01
  • 打赏
  • 举报
回复
up
ppoppopp 2004-03-31
  • 打赏
  • 举报
回复
关键词:AddonRom MACaddress DHCP


原理上面说的很明白了,说说实际的,不管是PCI/IAS的设备,BIOS都会去检测,如果发现上面有ROM,就会去解压这个ROM,(这个ROM需要符合ADDONROM的规范,这个规范叫PNPBIOS。),然后跳进去做,并不是映射到了内存0x0000:0x7C00,这个ROM的程序怎么实现的原理说的很明白了。
需要注意的一点是,该网卡的MAC地址必须远程机器要知道,或者是IP地址要知道。如果无法知道,那就需要用DHCP来动态扫描。


cnzhzy 2004-03-30
  • 打赏
  • 举报
回复
计算机通电后运行BIOS的自检程序,当检测到PCI设备时(网卡,显卡或其他PCI卡),将PCI扩展ROM芯片的代码映射到RAM中,并运行,运行结束后返回自检程序,继续其他的自检模块。ROM映射到RAM的地址空间在0XC000以上的地方。大概是这样的
紫郢剑侠 2004-03-30
  • 打赏
  • 举报
回复
可能是网卡将ROM映射到了内存0x0000:0x7C00.

http://jdzlsj.html.533.net/wltd/nt4wp.htm

远程启动工作原理

  1.客户机上电后,初始化网卡,网卡BootROM上固化的软件向网络广播一个FIND帧,即引导请求帧,该帧中包含有客户机的网卡ID号。
  2.服务器端的远程启动服务接收到客户机广播的FIND帧后,根据帧中所带的网卡ID号在远程启动数据库中查找相应的工作站记录,如果不存在这样一个记录,引导过程不能继续;如果此工作站记录已经存在,远程启动服务则发送一个FOUND帧给客户机的RPLROM,FOUND帧中已包含了服务器的网卡ID。
  3.当网络上有数台服务器在运行远程启动服务时,RPLROM有可能会接收到多个FOUND帧,但RPLROM只对它收到的第一个FOUND帧有反应,它将根据第一个FOUND帧中所带的服务器网卡ID号,返回一个SEND.FILE.REQUEST帧给对应的服务器。SEND.FILE.REQUEST帧是一个要求服务器发送文件的请求。
  4.服务器端的远程启动服务在收到SEND.FILE.REQ-UEST帧后,将根据远程启动数据库中的工作站记录查找对应的启动块(BootBlock),用FILE.DAT.RESPONSE帧将启动块送回客户机端的RPLROM。
  5.RPLROM在收齐所有的FILE.DAT.RESPONSE帧后,将执行点转向启动块的入口,启动工作站。工作站以Win95实模式启动后,将创建一个RAM盘,并将Win95实模式文件从远程启动服务器拷贝到RAM盘,加载Win95实模式网络设备启动并建立一个到SBS服务器的连接。最后,连接到该客户机机器目录(MachineDirectory)所在的服务器上,并根据机器目录中的有关设置及数据完成Win95启动过程。
tianxiangyuan 2004-03-30
  • 打赏
  • 举报
回复
我从来就没打算问“无盘工作站”的事,是我没有表达清楚,还是各位大虾理解错了?再说,难道“有盘工作站”就不能从网卡启动?
我的问题是,使用网卡启动时,网卡上EEPROM中的代码是否也像硬盘MBR上的代码一样被读到0x0000:0x7C00的地方执行?或者被映射到其他地方?网卡上的代码是否也像MBR上的一样相当于一个dos下的COM程序?或者有其他特别的格式?

再请大虾们不吝赐教!
fanxero 2004-03-30
  • 打赏
  • 举报
回复
机器post时,外设上载有BIOS就由其对各自设备进行自检和参数初始化(就像楼上所说的),要是没有自带BIOS就由post自检程序进行“试探式”或“默认式”对设备初始化,因此这种效效果不是理想的(因为自检程序不清楚设备具体特性),最好是有自带的.
CMOS设置为从网卡启动,在post过后,发生的事就如Purpleendurer(Purplenendurer) 所言.
为什么要提及无盘工作站? 从网卡启动的最大用途就不就是用在从网络启动么?(我是这么认为的)
tyzzr 2004-03-29
  • 打赏
  • 举报
回复
设置网卡启动,需要硬件中断支持吧,正在PCI总线和TCP/IP研究中……
hackingtruth 2004-03-29
  • 打赏
  • 举报
回复
网卡上有一个ROM里面有引导程序, 协议,计算机在启动过程中利用协议来和服务器取得联系,并获得IP地址, 然后从服务器的硬盘上读取数据到本地的内存中,然后执行它.
紫郢剑侠 2004-03-29
  • 打赏
  • 举报
回复
网卡上有引启芯片, 芯片保存有一段程序, 这个程序会从服务器硬盘上读数据
fanxero 2004-03-29
  • 打赏
  • 举报
回复
无盘工作站,它一般没有硬盘和其它驱动器.
它启动后从服务器自举,即它从服务器硬盘上读数据

21,458

社区成员

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

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