Windows&&Linux双系统引导项修复问题汇总

问题


我们遇到引导问题的原因可能有

1.      删除Linux,直接在win下删了该分区

2.      调整磁盘,利用工具合并,删除,分割分区导致磁盘分区数目变化

3.      重新安装系统,把Linux下安到新分区,原分区格式化,但没有重装grub2

4.      我们开机时,选择了windows的修复选项,windows重写了引导项,导致grub找不到引导项 

开机会出现的如下问题

1.       grub>

2.      grub rescue>

原因


grub2其实分为两部分,一部分(一般情况下)写在了mbr上,另一部分写在了某个分区的/boot/grub目录(如果/boot单独分区,则直接写在对应分区的/grub目录)里面。由于上述操作,致使grub2的mbr里面的那一部分找不到/grub目录里面的那一部分了(或者那一部分已经删除了)。

解决grub>


如果遇到的是grub>

如果你先装win,然后再装Linux的话,误删了启动文件或者删除了Linux,引导程序就不能读出系统所在的位置,导致出现grub命令提示。这时候可以手动启动比如我的win7在c盘,输入如下3个命令就可以了

 rootnoverify (hd0,0) 

设为根分区/root设备,但不加载文件系统。(hd0,0)表示第几个硬盘的第几个分区

chainloader +1       

将启动引导权转交给当前分区的首扇区

boot

已经成功了一大半,终于可以进去win了! 不过这样的话,但每次开机你都要输入,我们就要修复一下主引导扇区MBR(硬盘的第一个扇区),一个扇区是512个字节,前面446个字节用于引导程序,接下来64个字节用于存放分区信息,最后2个字节为结束标记。修复的方法很多,xp下可以用个工具 clsmbr.exe(CSDN下载有售),运行一下就可以了,win7这个小工具不能用,不兼容,不过不要紧,我们如果有win7的iso的话,可以从安装包中拷贝bootsect.exe(在boot这个文件夹里)这个文件,然后在cmd中输入 bootsect /nt60 SYS /mbr 就可以了。

然后大功告成。

grub rescue>


如果遇到的是grub rescue>

grub rescue> ls 

回车,列出本机所有磁盘及分区,如:hd0,(hd0,1),(hd0,7),(hd0,8),(hd0,9)等,我的机器上显示的是(hd0,msdos8)

接着然后查看到底是那个盘是grub的启动盘,做如下测试,若出现该目录下的文件列表,则成;若出现”unknow filesystem”则表示不成功,继续试探!

ls (hd0,X)/boot/grub

X代表ls里出现的盘号,如果出现一大堆的文件,拓展名为.mod,.list等,记住这个盘的盘号(这里是/boot适用于木有单独分区,单独分区可以同理)

grub rescue>set root=(hd0,msdos8)

括号里为上一步尝试成功的分区,例如msdos8

grub rescue>set prefix=(hd0,msdos8)/boot/grub 

grub rescue>insmod normal        

每个命令输入后按回车,”>”是提示符!!!

然后应该就退出grub rescue模式了

grub> normal  //这样就进入到grub界面下了

很好,我们终于回到Linux了

进入Linux系统之后,还没完呢,在命令行输入以下命令即可!

sudo update-grub

然后输入

sudo grub-install /dev/sda   //你的启动盘

这样就解决了,Win与Linux都可以启动了

参考http://forum.ubuntu.org.cn/viewtopic.php?t=348503&p=2516283

使用方法: -------- 非安装软件,直接双击运行,傻瓜式修复,可运行于32位和64位系统和WINPE系统 程序根据当前系统non-Unicode设置自动显示中/英界面 "自动修复"自动判断和系统启动有关的条件并自动修复程序支持的盘符上的NT系统启动,无需用户手工干预 "高级修复"只供特殊需要的朋友,参看下面应用实例中的高级修复部分 PE中自动判断PE环境,单硬盘可以直接"自动修复",如多硬盘在PE中修复时推荐使用"高级"修复选择你作为系统引导的盘符 适用范围: -------- 1. 启动菜单/启动文件丢失修复: 适用所有NT5.x(2000/XP/2003)和NT6.x(Vista/2008/Win7/2008r2) 2. 修复其他因BCD相关引起的故障 a. Win7/2008r2中 BCD 的修复计算机(Windows Recovery Environment)菜单丢失 b. Win7/2008r2中 BCD 引起的3D启动画面丢失(变成VISTA滚动条启动画面) c. BCD 引起的启动菜单选择界面乱码现象 3. 系统BCD非法的强制修复 - 现象:Vista/2008/Win7/2008r2中 - a. 运行msconfig后"启动"或"引导"栏空白 b. 管理员身份运行命令提示符中后运行bcdedit等和BCD相关的操作提示出错 c. 系统属性的"启动和故障恢复"窗口无法配置"默认操作系统"和"等待时间" d. 其他软件无法添加/删除/修改基于 BCD 管理的新启动菜单 注: 3的这种情况是否要强制修复自行决定。 额外功能: -------- 为VISTA/2008添加修复计算机(Windows Recovery Environment)菜单 使用方法:在系统盘符中新建recovery文件夹,再把光盘或安装程序中的boot\boot.sdi和sources\boot.wim复制至 recovery文件夹,再运行本程序,即可自动添加。 修复效果: -------- 存在原BCD或Boot.ini时程序将予备份,备份文件名/路径在修复完成后给出提示 NT5.x菜单在boot.ini中以"Microsoft Windows Server 2003 x86"形式存在 NT6.x菜单在BCD中以"Windows Server (R) 2008 Standard x86"形式存在 NT6.x的修复过程提示成功即时写入生效,NT5.x的修复在最后完成后再一并写入生效 NT5.x支持最多同接8个硬盘时的修复,但如果不同接口硬盘混用且三个或以上硬盘就未必能准确判断硬盘号,三硬盘以上 并混用的情况就算微软自己的控制台都未必能准确判断 NT6.x理论无限制硬盘数,也不限制混用 根据当前系统non-Unicode设置决定修复后的启动菜单中/英优先级 NT5.x+NT6.x的多系统中 - 当存在多个NT5.x时,修复后BCD显示的NT5.x相应菜单为“Earlier Version of Windows”, 当只有一个NT5.x系统,修复后BCD中显示的NT5.x相应菜单则为类如"Microsoft Windows Server 2003 x86"格式 不修复NT5.x的Boot.ini和NT6.x的BCD中的多余的启动菜单 因为精简版的精简程度无从判断,所以不保证能修复精简版系统启动故障
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值