大部分时候,Windows与Linux操作系统可以共存于同一台机器上,即我们通常所说的双系统。不过毕竟Windows与Linux操作系统不是亲兄弟,其在安装部署的时候难免会出现一些问题。就算是这方面的专家,有时候也会越到类似的难以解决的问题。
一、安装完Linux系统后,Windows操作系统无法正常启动。
正常情况下,如果系统中已经有Linux系统,在安装Windows操作系统的时候,安装程序会自动把启动所需要的参数(即启动列表)加入到开机的启动列表中。系统管理员不用再自行进行维护。但是,有时候安装完Windows操作系统之后,仍然会出现启动列表损坏而无法正常启动Windows操作系统的情况。另外,有时候系统管理员有可能会更改启动列表,如把Windows操作系统设置为默认启动的操作系统。但是修改后却发现Windows操作系统无法正常启动。当出现这种情况的话,系统管理员就需要手工修改启动列表文件,以修复启动错误问题。
当发现无法正常启动Windows系统而可以正常启动Linux系统的话,则此时大部分原因都是因为启动列表所造成的。为了解决这个问题,系统管理员需要修改/boot/grub/ment.lst启动配置文件。如下图所示:
系统管理员之需要在这个文件中,加入Windows系统的启动列表参数即可。不过系统管理员需要运行grub-install/dev/had命令才能够正式启用这个配置文件。也就是说,只有运行这个命令后,才会在启动列表中加入Windows操作系统的启动项。
不过有时候可能系统管理员不喜欢Linux操作系统的这个设置界面,而比较熟悉Windows系统的图形化启动列表管理界面。为此,系统管理员希望能够暂时进入XP等微软操作系统,然后再在其中进行更改。有实现这个需求也是可行的。系统管理员之需要在启动的时候,当系统出现多启动菜单界面时,按住C键,然后系统会提示系统管理员输入相关的启动参数。此时系统管理员就可以输入Windows操作系统的启动参数,然后进入到XP等微软操作系统中。这里需要注意一点,此时输入的参数只是对当次启动系统有效。如果启动后没有手工更改启动配置文件,则第二次启动时仍然会遇到这个问题。故当临时进入XP或者Linux等操作系统后,需要手工来更改这些配置。
其实,此时系统管理员用到的GRUB文件,就是一个系统启动引导管理器。它是在计算机启动(无论是Linux操作系统还是Windows操作系统)后运行的第一个程序。它用来负责加载、传输控制到操作系统的内核。一旦把内核挂载,系统引导管理器的任务就算完成并会自动退出。系统此时将会引导其它内容,比如系统的初始化及启动过程则完全由内核来控制实现。而GRUB就是Linux操作系统下一个非常著名的多重操作系统启动管理器。利用它可以解决大部分Linux系统的启动问题;包括与Windows操作系统的兼容问题。
二、重装Windows系统后无法正常进入Linux系统。
如果系统管理员事先在主机上安装了Windows操作系统与Linux操作系统,后来由于Windows操作系统可能出现了问题,如中毒等等。系统管理员一气之下,就把Windows操作系统重装了。此时很有可能会出现无法正常进入Linux操作系统的情况。这主要是因为微软操作系统在重新安装的时候,有可能会清除MBR中的多重引导装载程序。此时,系统就无法继续使用GRUB来作为引导程序,系统管理员也就无法顺利进入到Linux系统中。遇到这种情况,系统管理员会非常头疼。
因为即使系统管理员此时可以顺利进入到Windows操作系统中,但是因为安装程序已经删除了MBR多重引导装载程序,系统管理员也已经回天乏力了。遇到这种情况时,难道只能够重新安装Linux操作系统呢?结果当然是否定的。在谈具体的解决方式之前,我们先来回顾一下如果Windows操作系统遇到无法正常启动时该如何处理?此时最简单的方式,就是通过安装光盘对微软操作系统进行恢复。通过恢复后,基本上可以解决操作系统原先存在的问题。其实,在Linux操作系统中,也有类似的解决方案。如遇到上面这种情况,因为重新安装Windows系统后而无法顺利进入Linuc操作系统时,则可以使用Linux操作系统的安装光盘进行启动。在Linuxc操作系统的安装程序中,也有跟微软操作系统光盘恢复功能类似的一个模式,即救援模式。系统管理员只需要将Linux操作系统光盘放入光驱利用这张光盘(通常情况下如果是CD的话往往是第一张光盘)启动系统。此时系统会提示系统管理员设置语系、键盘、鼠标类型,并询问是否要启动网卡已经将原来的Linux分区加载为何种模式等等。此时,如果系统管理员想用救援模式来恢复启动列表,则就可以在启动之后运行“grup-install/dev/had”命令来重新安装启动列表。启动列表重新安装完成后(注意此时仅仅只是安装了多种启动列表,而没有重新安装系统)多重启动菜单就恢复了。重新启动后系统管理员就可以进入到Linux操作系统。
显然以上这种处理方式虽然可以最终解决无法进入Linux操作系统的问题,但是处理起来比较麻烦。如果系统管理员在安装完Linux操作系统后,又顺手做了一张Linux系统启动盘的话,那么处理这个问题的时候,会更加的方便。假设现在系统管理员有一张Linux操作系统的启动盘,则当重新安装Windows系统而丢失多重引导启动程序的话,就可以利用这张启动盘进入到Linux环境中,然后运行“grup-install/dev/had”命令来重新安装GRUB。故采用Linux系统启动盘可以快速修复Linux系统启动问题。其实做一张Linux启动盘也很简单。如在安装的过程中系统会提醒用户建立系统启动盘,此时系统管理员只需要安装提示做就可以完成系统启动盘的制作。如果想在系统安装完毕后制作启动盘,也是很简单的一件事情。只需要在Linux环境下运行grup-install /dev/fdo命令即可,就可以按照提示完成启动盘的制作过程。我建议各位系统管理员,如果企业中Linux与Windows操作系统共存的电脑比较多的话,那么最好创建启动盘。那么在碰到启动时无法顺利启动到Linux操作系统中可以在最短时间内解决问题。
三、利用Windows操作系统来管理启动列表。
在Windows系统下,一般是通过boot.ini来管理启动列表的;其也提供了一个图形化的管理工具。不过通常情况下,如果系统管理员是先装Linux系统然后再安装Windows系统,此时如果通过Windows操作系统自带的启动列表管理工具来修复启动列表的话,基本上没有什么效果。通常情况下,只有先安装Windows系统,然后再安装Linux系统的情况下,才可以利用Windows操作系统自带的启动列表工具来修复启动时的错误。
另外利用Windows操作系统管理控制台来修复Windows启动问题也是一个不错的选择。如笔者一次先安装了Windows操作系统,然后再安装Linux系统。安装完毕重新启动后却发现系统只能够进入Linux系统,而无法进入到Windows系统。此时虽然可以通过上面第一种介绍的方法来解决这个问题。但是如果对于Linux这个GRUB配置文件不熟悉的话,则对此进行手工修改可能是一件比较危险的事情。弄的不好的话,还会影响Linux操作系统的正常启动。此时通过Windows系统的管理控制台来维护这个启动列表是一个不错的选择。利用Windows安装盘启动系统后,进入到维护控制台模式。在这个模式下,就可以根据提示来简单的修复启动列表。