电脑开机出现grub一般常出现于安装有一键还原软件的WIN7操作系统中,表示主引导文件丢失或损坏。使用DOS命令修复。在grub命令提示符后面输入屏幕上的代码即可。
Linux的grub是一个非常好的引导程序,它可以引导多操作系统。当windows和linux共存时,删除grub直接进入windows方法:
方案1:用DOS命令fdisk恢复主引导扇区MBR(Main/Master Boot Record)---用win98的引导盘或DOS引导盘引导系统到纯DOS提示符下,执行:"fdisk /mbr"即可。
方案2:在Linux系统中,恢复MBR。(如果你还能登陆到Linux系统中的话) ---在终端的命令提示符后输入: "dd if=/boot/boot.NNNN of=/dev/hda bs=446 count=1" 注意,其中bs(buffer size)是指重写的字节数。为什么不是512呢?主引导扇区是一个扇区(512字节呀),因为我们只是想通过扇面的命令修复系统MBR的引导或删除 Grub/LILO引导;而不是恢复整个主引导扇区。所以我们只把主引导扇区的备份文件boot.NNNN的前446个字节重写入主引导扇区。 boot.NNNN是我们在安装Linux之前整个主引导分区的备份。如果我们把512个字节全部写入主引导扇区就可能会把安装了Linux后改变了的硬盘DPT表也破坏掉。那就坏事了!!! (MBR的512字节中前446字节为引导程序,紧跟着后面64字节为分区表,最后面2个字节为结束标记)
方案3:使用工具:Clear MBR 0.9,接运行执行“Clear MBR”即可。
方案4: Linux的分区已经被你从Windows中删除,系统启动后停在“grub”提示符处。解决方法:
(1):按照方案1的方法
(2):如下
a.在“grub”提示符后输入:“rootnoverify (hd0,0)” 回车。 //将第一块硬盘(hd0)的第一个分区(0)设为根分区/root设备,但不加载文件系统。
b.在“grub”提示符后输入:“chainloader +1” 回车。//将启动引导权转交给当前分区的首扇区(Windows系统所在分区的首扇区)。
c.在“grub”提示符后输入:“boot” 回车。系统将启动Windows。如果不成功,则表明 (hd0,0) 不是 Windows 系统所在分区,再从第一步开始试一下“root (hd0,1)/root (hd0,2)/root (hd0,3)/...”,总之这样一定可以引导启动你的Windows系统。
d.好了,进入Windows了,请采用方案3的方法,轻松搞定!
(3):用 WINDOWS 盘启动,进入 console 模式,运行 fixboot 和 fixmbr。fixmbr命令用于修复启动磁盘的主启动记录,它仅在使用故障恢复控制台时才可用,它的语法是:fixmbr [device_name],参数device_name是要写入新的主引导记录的设备(驱动器),设备名称可从 map 命令的输出获得。例如,设备名称:DeviceHardDisk0,下列命令示例向指定设备写入一个新的主引导记录:fixmbr DeviceHardDisk0
注意:如果不指定 device_name,新的主引导记录将被写入引导设备,即装载主系统的驱动器。如果系统检测到无效或非标准分区表标记,将提示用户是否继续执行该命令。除非您访问驱动器有问题,否则不要继续进行。向系统分区写入新的主引导记录可能破坏分区表并导致分区无法访问。
在使用Linux的过程中,大多初学者都遇到过系统启动到“grub>”提示符后就停止不前的问题,功夫不深的爱好者可能会束手无策,转而选择重装系统,其实这只是系统出现了一点小问题,既系统的GRUB配置文件出现了故障,此时可以采用以下两种方案来解决问题:
1)存在GRUB配置文件备份
如果存在GRUB配置文件备份,则可以比较简单的进行恢复,可以按如下方法进行:
使用光盘引导机器,进入到“linux rescue”模式,即系统维护模式;在提示符”sh#”下执行cp命令,将备份文件拷贝到/boot/grub.conf即可
Sh#cp /backup/grub.conf.bak /mnt/sysimage/boot/grub/grub.conf
假设备份文件为/backup/grub.conf.bak,因为大多数Linux光盘修复模式中会将硬盘系统的”/”分区chroot到“/mnt/sysimage”处,所以拷贝的目标为“/mnt/sysimage/boot/grub/grub.conf”,而非“/boot/grub/grub.conf”。
完成后重新启动即可。内核文件、镜像文件、/boot目录等文件损坏或丢失,也可以使用此种方法修复。
2)如果没有GRUB配置文件备份
如果没有备份文件时可以使用grub的交换功能,可以在”grub>”命令行下进行以下操作以手动启动系统:
查找/boot/grub/grub.conf分区所在的目录:
grub> find /boot/grub/grub.conf
(hd0,0)
需要注意的是,上述命令将得到的是grub.conf配置文件所在的系统的分区,(hd0,0)即表示它在分区hda1
查看grub.conf文件错误使用如下的命令:
grub> cat (hd0,0)/boot/grub/grub.conf
需要注意的是,可以查看配置文件到底什么地方出现了错误,以便进入后修改。
指定/boot分区使用命令:root (hd0,0)
从此步骤开始,即为本文前面提到的GRUB配置文件的主要引导步骤,只是一般都是系统读取GRUB配置文件,出现问题时我们可以使用手动启动。
指定内核加载的命令:kernel /boot/vmlinuz ro root=LABEL=/
指定镜像文件所在的位置可用如下命令:initrd /boot/initrd-2.6.24-1.3194.fc7
从/boot分区启动可以使用如下命令:boot (hd0,0)
此时系统即可正常启动,实际上以上步骤就是执行了GRUB引导期间加载grub.conf文件的步骤,当系统正常启动后将GRUB配置文件修改正确后即可。
grub是linux下最常用的引导软件。
因为是linux,不能使用win的软件。
输入help,可以看到命令。
不知道红旗linux的/boot文件的内核文件名,initrd的文件名。
通用的引导写法是:
root(hd?,?)#linux所在的分区
kernel/boot/vmllinux??????????root=/dev/sda?
initrd/boot/initrd????????
boot进入linux后,可以使用grub的命令,重装grub,就好了。
我的ubuntu的引导方法是:
grub>root(hd0,6)
grub>kernel/boot/vmlinuz-2.6.38-8-serverroot=/dev/sda7
grub>initrd/boot/initrd.img-2.6.38-8-server
grub>boot“grub>”是提示符,后面的是输入的。
输入一半时,使用Tab键,可以补全命令、文件名,显示匹配的文件列表,很有用。我的是grub4dos的命令,与grub2的不兼容,可以使用help命令查看。
注意grub,grub2与linux,windows的分区对应关系,这很重要。