[前言]
  近期看到很多网友在网上讨论基于 VISTA 的多启动,有些精辟,有些模糊,有些也是抄袭充数,感觉都没有透彻,让人摸不清头皮。最近有空,亲自做了实验,并成功实现三种操作系统的共存,而且成功使用 WINDOWS 2008 的启动菜单引导了 GRUB 的 GRLDR 和 XP 的 NTLDR,实现多种系统的任意切换启动。本文将以具体操作实例说明,详细阐述生成步骤。

[特别说明]
  本文系原创作品,请转载时注明作者,请不要割裂本文的完整,给大家产生模糊不实的感觉。本文最初发布在 CSDN 的个人空间上,作者 MHY_MHY,创作日期 2008/7/15 ,感谢支持,欢迎指点。本文仅用做技术研究用。

[关键字]
  Windows Server 2008 Enterprise sp1,Windows XP sp3,SLAX,Linux,NTFS5,NTFS6,GRUB,Backtrack3,多系统,多启动,引导,黑客,破解

[正文]
  先说明一下做完后的效果,也是我们的目标:机器启动后进入Windows server 2008引导菜单,显示三个启动项:
Windows Server 2008 Enterprise
Windows XP
SLAX(GRUB)
可以移动光标到启动项目上,点击回车启动相应系统,其中SLAX一项进入下级菜单,由 GRUB 再次引导。
操作系统说明:Windows 2008 是微软最新的操作系统,当然 WINDOWS 7已经开始测试,还没有正试版本,WINDOWS 2008使用的 VISTA 的内核,文件系统采用 NTFS6. WINDOWS XP是2002年系统,现在已经发布了SP3,据说截止到2008年6月30日微软就停止支持了,文件系统采用NTFS5. SLAX是Linux类的一个发行版本,本人使用的 BACKTRACK3 的那个黑客用盘载系统,这里面集成了大量的黑客工具,全是基于 LINUX的,具有及其强大的杀伤力,使用上要有一定的理论基础,尤其是专业的黑客知识,一般菜鸟可能无法操作,全命令行的操作。它是本人最喜爱的无线破解和攻击工具。GRUB是LINUX下常用的引导工具,下在已经被移植到 DOS 和 WINDOWS 平台下,网上很多提供下载的GRUB压缩包。

分区及位置:C:盘安装完整的 WINDOWS 2008,做为主操作系统,D:安装WINDOWS XP, E:拷贝光盘上的BACKTRACK3 的两个目录,不用管引导部分,只要复制就可以。

第一步:安装 WINDOWS XP 到 D:,这个安装就很简单了,不再详细了,安装好之后需要到 C:下备份好以下几个文件:boot.ini,bootfont.bin,ntdetect.com,ntldr ,其中 NTLDR 是XP 的引导文件。这些文件在 C: 里是隐藏,要显示隐藏文件才能看到。

第二步:安装 WINDOWS 2008 到 C:,安装前把 C:格掉,安装过程这里不再详述,很简单。

第三步:拷贝文件,产生如下位置放置(括号中注明来源):均在 WINDOWS 2008中完成操作
C:/GRLDR (在GRUB压缩包里有)
C:/GRLDR.MBR (运行“GRUBINST --OUTPUT GRLDR.MBR”命令生成)
C:/BOOT/GRUB/MENU.LST (用记事本编辑完成,下面单独介绍)
C:/NTLDR (备份中XP文件)
C:/BOOT.INI (备份中XP文件)
C:/NTDETECT.COM (备份中XP文件)
C:/BOOTFONT.BIN (备份中XP文件)
C:/BOOT/INITRD.GZ (BACKTRACK3光盘中 BOOT目录中有)
C:/BOOT/VMLINUZ (BACKTRACK3光盘中 BOOT目录中有)
注意:放到 C:/的文件要添加 EVERYONE 的权限,完全控制。 C:/原有文件不要改动,不要删除,也不要修改权限。具体功能可以自己寻求探讨,这里不做详解。

第四步:制作 GRUB 的启动菜单文件 MENU.LST。该文件被 GRLDR 调用,生成启动菜单。如果没有这个文件,就会直接进入 GRUB 命令行,需要手动输入命令行,类似 LINUX 的命令,但又不完全同于LINUX。也可以修改GRUB包中的现有的MENU.LIST文件。由于该文件一般不是标准的 DOS/WINDOWS 格式的 TXT 文件,最好用如 ULTRAEDIT 之类的编辑器编辑。但是我发现有时用记事本编辑出来的也可以用,主要区别是换行符的问题。MENU.LST文件如下:

timeout 10



title Backtrack3 -MHY
root (hd0,0)

kernel (hd0,0)/boot/vmlinuz root=/dev/ram0 rw

initrd (hd0,0)/boot/initrd.gz init=linuxrc load_ramdisk=1 promtp_raddisk=0 ramdisk_size=6666 vga=769



title WINDOWS bootmenu

rootnoverify (hd0,0)

makeactive

chainloader +1



功能:第一项是加载 BACKTRACK3 系统,第二项是反回WINDOWS 启动菜单。具体含义 GRUB 的使用说明和各大网站论坛都有介绍,我这里就不再详解。或者参照我之前做的文章的说明。

第五步:制作添加WINDOWS 2008的启动菜单,主要是把第三步做好的文件添加到启动里面,这也是最主要的部分。关键在于VISTA启动菜单的编辑上。在XP里面可以通过修改 BOOT.INI 来做到多启动,在VISTA 里面已经抛弃原有的做法了,这样对于操作系统来说,安全性更加提高。在VISTA里面是通过 BCDEDIT 这个命令来操作启动菜单,用法如下:
bcdedit /create /d "****" /application bootsector //“****”是显示的启动项名称;
bcdedit /set {id} device boot //{id} 是系统生成的一串字符
bcdedit /set {id} path /*** //***是引导文件名称如:GRLDR.MBR ,NTLDR
bcdedit /displayorder {id} /addlast

windows2008 启动项不用去制作了,只要再用上述命令添加两个菜单就行,操作都一样,在添加 XP 时,PATH /NTLDR ,同样添加 GRUB 时,PATH /GRLDR.MBR ,这样,启动菜单就生成了。至此制作完成。MHY_MHY

[说明]
  这只是个例子,多启动的关键在于,WINDOWS 2008 添加启动命令行使用和 GRUB.MBR 的引导上。WINDOWS 2008 使用的是 VISTA 的内核,操作与VISTA一样,同样也适用于 VISTA 的多启动设置。GRUB 的设置很简单,关于GRUB的配置网上有很多教程,在 XP 下可以由 NTLDR 来加载,但是在VISTA/2008下面,已经不再使用 NTLDR ,使用BOOTMGR,这就要解决 BOOTMGR 加载 GRLDR 问题,早期版本的 GRLDR 在 BOOTMGR 下会提示 NTFS5,然后就不动了,主要还是文件系统的差异造成的。网上有人传言说“GRUB 已经放弃支持 VISTA ”不清楚是怎么个理解。
  在本文中,我保留了 XP 的 BOOT.INI ,也可以从 XP 的启动菜单中重新加入 GRLDR ,也可以启动 GRUB ,从而引导LINUX,这是可以的,这样做是个比较古老的方法。我这里主要是探讨在 BOOTMGR 中引导 GRLDR.MBR。
  GRUB 是个优秀的引导管理器,可以引导多种操作系统,尤其是对 LINUX ,对我们构建免安装的 LINUX 操作系统非常有利。
  BACKTRACK 是一套非常优秀的黑客工具包,主要是面向国外,至今没有内置中文的,可见在汉语区使用非常少,也从一个侧面说明我们的黑客都是基于 GUI 的,这样对于原理的东西太少,以至杀伤力不够,建议更多的人来研究 BACKTRACK ,推动和提高我们的安全水平。BACKTRACK 现在的版本是 3,已经是FINAL,比 BACKTRACK 2 不只提高了内核版本,而且有个 USB 的版本,性能还算稳定。有机会我会做一些 BACKTRACK 的工具使用文章,大家互相学习。
  好了,就到这里,我是 MHY_MHY.欢迎指出错误,EMAIL:MAYC66@GMAIL.COM

Logo

更多推荐