Coding Poet, Coding Science

PXE方法远程启动Ubuntu 14.04桌面版

之前使用过各种启动方法。最近要往实验室计算机里装系统,而手头又没有光盘或者优盘,就只能再使用PXELINUX的启动方法了。再想一想,实验室里那么多台计算机,要一个一个地整系统实在太麻烦了,还不如远程启动,让一切自动化。

原理

许多计算机都有自己的远程启动机制,Intel系列使用的技术叫做PXE(Portable eXcution Enviroment)。

远程启动的过程可以与本地启动相类比。无论SYSLINUX还是Grub,抑或其它的启动模块,都完成的是Bootloader的功能。它们仅限于在开机后,帮助我们找到操作系统内核,向操作系统传递启动参数。完成这些功能后,它们就不再被使用了。引导程序(Bootloader)一般比较轻量,在几兆的数量级。操作系统(的内核)相对较大,在几十兆的数量级。

假设当前系统已经装好了SYSLINUX引导程序,启动的过程大致是:

  • 机器加电,BIOS开机自检。完成自检后到启动设备(光盘或硬盘)的约定的位置查找引导程序Bootloader,将Bootloader的代码加载到内存指定位置

  • BIOS将机器的控制权交给SYSLINUX,原则上SYSLINUX可以做很多的工作。不过,我们现在关心的是,它从指定的位置读取配置文件,找到操作系统,并按设置加载操作系统。

  • 操作系统启动,设置根文件系统,加载开机自启的程序,等等。