不知道大家有没有研究过liunx下的无盘XP是怎么实现的?
liunx无盘工作站实现很简单,利用pxelinux直接把内核抓到客户端,服务器配置好DHCP,NFS等等就行了,当然内核要支持nfs根文件系统。
而XP却没这么简单,从XP的启动上就可以看出来,首先由MBR中的引导代码启动ntldr,然后由ntldr启动另外ntdetect.com收集硬件信息,再启动内核和硬件抽象层,将ntdetect.com收集到的信息和其它一些信息传递给内核,这样才实现了内核的启动。由于启动过程比较复杂,所以觉得要在linux下面实现无盘XP不是那么简单的。
现在有些第三方的软件支持在linux下面实现无盘XP,不过网上也没实现原理,查了很多资料,这里把我所认为的启动过程说一下:客户端开机从网卡启动,网卡向服务器发出信号获取IP和启动镜像,这个启动镜像可能是个软盘镜像,启动镜像在内存中虚拟出一个虚拟软驱,然后控制权跳到虚拟软驱,启动镜像连接服务器,将服务器上的镜像文件在内存中虚拟为硬盘,然后控制权跳转到虚拟网络硬盘,从网络硬盘启动,剩下的启动过程应该是和从硬盘启动XP一样了。
当然了启动过程也不一定是这样,想听听大家的看法,现在网上授人鱼的多,授人渔的不多,大家支持一下,说说你们所认为的无盘XP启动过程。