具体情况描述:
以前一台机器装的server 2003,做了个系统ghost备份.
后来改装oracle linux6.1今天对全盘格式化了,把以前做的备份ghost还原回去.
过程肯定是无误的,但是开机就出现了异常.
正常的启动过程,不过10秒钟,界面就漆黑一片了,只露出一个grub,等待键入命令.
问题分析如下:
计算机启动的大概过程如下:
开机—
cpu询问bios我要去哪儿找启动文件—
bios根据你的设置(假设你设置的是硬盘)—
告诉cpu说去第一块硬盘—
cpu就找到硬盘—
硬盘里有一块很小的区域称为mbr(master bootrecord)在这块区域中存放着一段小程序称为引导程序—
引导程序告诉cpu在硬盘的第一分区或者第三分区或者其他—然后cpu根据指示去找到相应分区找启动文件就可以启动了!
根据上文,有一个词“引导程序”——这段小程序是存放在硬盘的mbr中的,正常的情况下是没办法直接触及的,只能通过一些小工具才能对它进行操作。就像mbrfix.exe或者diskgenius之类的程序。
现在开机界面出现了grub,这个大家都知道是非常有名的一个引导程序,它既可以引导linux操作系统又可以引导windows操作系统,功能很强大。
但是windows操作系统也有自己默认的引导程序,在winnt系列操作系统中都使用的是ntldr这个引导程序。
所以如果你曾经安装了linux操作系统,后来用ghost的方法重装了电脑,而且装的是windows的操作系统,那么基本上95%都会遇到这样的情况。
解决方法:
根据以上分析,
一、现在界面出现grub,说明电脑运行了mbr里的引导程序,而且这个引导程序是grub,它无法自动找到系统的启动文件,只好在这里出现一个界面让你手动来指给cpu到底从哪儿启动。
二、如果你熟悉grub命令,你大可以在这里用命令来告诉程序从哪里启动,如果有兴趣,你可以自己去百度去谷歌。
三、还有一种方法是重建mbr,不再使用grub这个引导程序,使用windows默认的引导程序ntldr,具体怎么做呢?
方法也有很多,最常用的可以使用diskgenius在pe环境下选择“硬盘”—重建主引导记录(mbr),就可以了。
四、直接使用安装光盘安装系统,那么安装程序会自动在mbr中写入ntldr这个引导程序。从而顺利引导windows操作系统。
五、另外在pe下使用mbrfix.exe这个小程序也可以实现。
六、其他的多之又多像bcd编辑器诸如此类都可以的。
开机出现grub的解决方法2017-03-22 08:56 | #2楼
对于许许多多接触电脑并不是太久的人来说,一开机就黑屏然后出现个grub提示是一个头疼的问题。我也相信大多数用户会选择重新安装系统,但是假如里面有大量的重要文件,或者c盘里面安装了大量的软件,重装系统这个选择对用户来说是个悲剧。
一开始我也是用重装系统来解决的,这个解决办法虽然可以,但是很痛苦。
在下面讲解开机出现grub的解决办法。
如果只有window系统的话,win 7 同样适用。
第一行在grub的后面输入:rootnorerify(hd0,0)
第二行在grub的后面输入:chainloader +1
第三行在grub的后面输入:boot
这样window的系统就会启动。
如果c盘不是活动分区也会导致进不了系统,在第一行的后面加入一句话:
输入:makeactive 就是把c盘设置成活动分区
对于linux的系统来说就要麻烦一些特别时fedora的系统
一般linux的系统:
就如grub以后先要查找boot分区的位置。
第一行查找boot分区的位置,find /boot/grub/stage1 按enter后会出现一行类似
(hd0,2)的字符 。
那么第二行:root (hd0,2)
第三行:kernel /boot/grub/vmlinuz然后按tab键补齐后面的一长串字符,这一串字符我通常是不记的。接着后面输入 ro root=label=/
第四行:initrd /boot/grub/initrd然后也是按tab键补齐后面的一长串字符,接着在后面输入.img
第五行:boot启动该系统。
注意:有些电脑boot分区和/分区在一起的前面就不用加/boot
下面是我的/boot/grub/http://www.ahsrst.cnnf文件
# http://www.ahsrst.cnnf generated by anaconda
#
# note that you do not have to rerun grub after ma-ki-ng changes to this file
# notice: you do not have a /boot partition. this means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,2)
# kernel /boot/vmlinuz-version ro root=/dev/sda3
# initrd /boot/initrd-[generic-]version.img
#boot=/dev/sda
default=1
timeout=2
splashimage=(hd0,2)/boot/grub/splash.xpm.gz
hiddenmenu
title fedora (2.6.35.6-45.fc14.i686)
root (hd0,2)
kernel /boot/vmlinuz-2.6.35.6-45.fc14.i686 ro root=uuid=1af3421f-561c-4927-9d8c-04dca4a81ef0 rd_no_luks rd_no_lvm rd_no_md rd_no_dm lang=zh_cn.utf-8 keytable=us rhgb quiet
initrd /boot/initramfs-2.6.35.6-45.fc14.i686.img
title window xp zzp
rootnoverify (hd0,0)
chainloader +1
title redflag_6_sp3
root (hd0,6)
kernel /boot/vmlinuz-2.6.31-5 ro root=label=/
initrd /boot/initrd-2.6.31-5.img