对于安装linux+windows双系统的计算机,如果linux系统崩溃或者grub引导失败,可能导致windows也无法进入。
(1) 通过linux的安装盘重新安装grub引导程序,成功地概率很小,如果你有把握安装成功........Go ahead!
(2) 解决方法1:一般grub引导失败后,就会进入grub的命令行,此时输入以下命令,应该能够引导成功,缺点是每次启动都要手动引导,而且要知道kernel和initrd文件。
kernel (hd0,6)/boot/vmlinuz
initrd (hd0,6)/boot/initrd.img
注意:上面的(hd0,6)不是绝对的,根据你的linux系统所在的分区来决定,请看下面定义
(hd0,0)表示第一块硬盘的第一个主分区,一般对应windows的C盘
(hd0,4)表示第一块硬盘的第一个逻辑分区,一般对应windows的D盘
(hd0,6)表示第一块硬盘的第三个逻辑分区,一般对应windows的F盘。
vmlinuz和initrd.img对于不同的系统也是不一样的下面是某个系统里面的文件名。
vmlinuz-2.6.9-67.EL
initrd-2.6.9-67.EL.img
(3)解决方法2:首先恢复windows的引导,然后利用grub4dos进行引导linux。
恢复windows的引导其实就是利用系统盘,进入紧急修复控制台,然后输入fixboot和fixmbr命令,这样就可以重新恢复从windows引导了。如果你不想要linux了,后面的就不要做了,进入windows后,控制面板--->管理工具--->计算机管理---->磁盘管理 找到linux分区,将其格式化为FAT32或NTFS格式的分区就可以在windows下使用了。
如果还想保留linux,就开始下面的过程
首先下载grub4dos,
把grub4dos-0.4.4.zip直接解压缩到c盘根目录(保证grub.exe, glrdr, menu.lst等文件都在c盘根目录)
如何确定vmlinuz和initrd.img的名字
建议1:如果不知道上面那两个文件的名字,最好使用查看linux分区的软件找到/boot目录来确定这两个文件的名字。或者找到/boot/grub/menu.lst把里面引导linux系统的kernel,initrd直接拷贝到C盘的menu.lst里面。
建议2:直接看别人安装的同版本系统的/boot/grub/menu.lst
建议3:用vmware安装虚拟机,linux选择最小化安装以节省时间,然后查看虚拟机里面的/boot/grub/menu.lst,注意:虚拟机里的kernel和initrd.img肯定都是指向虚拟机(hd0,0)中,你把/boot/grub/menu.lst相应的行拷贝出来后,还要修改(hd0,0)以符合你实际的硬盘分区。
注意:对于使用该方法仍然无法启动的,要注意是否有ACPI的提示信息,如果有则在menu.lst中kernel那一行末尾添上acpi=off noapic,这是网上某个达人总结出来的经验,一般都能解决问题。(eg: kernel (hd0,6)/boot/vmlinuz acpi="off" noapic)
文章评论(0条评论)
登录后参与讨论