自己的系统原本装有windows和linux的双系统,出于某种原因想把linux删除。
本人直接在windows下把安放linux的磁盘删除了。不料招到了严重后果,那就是重
启后不能进入windows了。
分析原因如下,原本安装了grub来引导linux。即系统一启动就指向GRUB,且grub中默认是启动(hd0,5)即linux的分区。而如今被删除了,找不到启动内核,固然出了错。
解决办法:参考网络资源得到了解决。参考文章如下:
让我们输入 root 分区。在提示中输入 root,但不要按 Enter 键:
grub> root (
现在,按一次 Tab 键。如果系统中有多个硬盘,GRUB 将显示可能完成的列表,从 "hd0" 开始。如果只有一个硬盘,GRUB 将插入 "hd0,"。如果有多个硬盘,继续进行,在 ("hd2") 中输入名称并在名称后紧跟着输入逗号,但不要按 Enter 键。部分完成的 root 命令看起来如下:
grub> root (hd0,
现在,继续操作,再按一次 Tab 键。GRUB 将显示特定硬盘上所有分区的列表,以及它们的文件系统类型。在我的系统中,按 Tab 键时得到以下列表:
grub> root (hd0, (tab)
Possible partitions are:
Partition num: 0, Filesystem type is ext2fs, partition type 0x83
Partition num: 1, Filesystem type unknown, partition type 0x82
Partition num: 2, Filesystem type unknown, partition type 0x7
Partition num: 4, Filesystem type is reiserfs, partition type 0x83
Partition num: 5, Filesystem type is reiserfs, partition type 0x83
如您所见,GRUB 的交互式硬盘和分区名称实现功能非常有条理。这些,只需要好好理解 GRUB 新奇的硬盘和分区命名语法,然后就可以继续操作了。
装入内核
从软盘启动grub
制作启动盘后可以用软盘启动引导硬盘上的操作系统 插入制作好的启动软盘,进入
BIOS设定软盘启动。软盘启动成功后就会进入grub的命令行模式
grub>
要启动一个操作系统,首先指定引导哪个分区上的系统,例如要引导指第一个硬盘
上的第一个分区的操作系统,先键入
grub>root (hd0,0)
接着如果要启动的是Windows系统,键入
grub>chainloader (hd0,0)+1
注意(hd0,0)要随着硬盘和分区的不同而改变数字。 如果要引导Linux或其他系统,
应键入
grub>kernel (hd0,0)/boot/vmlinuz root="/dev/hda1"
注意hda1参数也要随着硬盘和分区的不同而改变,如从第二个硬盘的第一个分区引
导则用hdb1。
最后敲入boot就可以启动系统了。
在任何时候不能确定命令或者命令的参数都可以按Tab获得相关的帮助。用上下键可
以获得命令的历史记录。 其实这些命令就是menu.lst的启动描述,您也可以根据那些描
述来自己键入启动命令,最后敲入boot就可以引导系统了。
自己情况的解决:在grub中敲入如下指令
root(hd0,0)
chainloader (hd0,0)+1
boot
立即进入了windows
现在要解决如何在windows中把残留的grub清除:
具体参考下面文章即可:使用其中的方案4即可
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,新的主引导记录将被写入引导设备,即装载主系统的驱动器。如果系统检测到无效或非标准分区表标记,将提示用户是否继续执行该命令。除非您访问驱动器有问题,否则不要继续进行。向系统分区写入新的主引导记录可能破坏分区表并导致分区无法访问。
文章评论(0条评论)
登录后参与讨论