easybcd修复linux + win7教程

easybcd修复linux + win7教程,第1张

首先 在win7上下载一个EasyBCD2.2, 然后就是下面图示过程添加 linux系统所在分区 以便引导进入linux!

到这里就可以了, 我是已经把win 自己的给删除了 所以 只显示了linux的!到这里 *** 作无误的话 可以点工具重新启动了!!重新启动我们会发现出来了引导选项 进入linux系统, 但是到我这里遇到的问题就是 这个引导其实 没有找到我们在linux下 grub.conf 或者 grub.cfg所在的正确目录,(是cfg 还是 conf 后缀取决自己系统)!

所以我们要手工配置这就是说 我们最好首先 在linux系统下 查找到grub.conf/cfg所在的目录, 和 清楚自己 linux系统(终端下 fdisk -l命令查看)所在硬盘分区 再开始 *** 作!!!

好 出现这个这个情况后 按 e 进入编辑状态, 注意! 这里 只要先把grub.conf或者grub.cfg 的给修改正确 然后 (hd0, hdx) x 就是系统所在分区, 其实可以一个一个试这里不会出问题的',修改好之后 按 b 进入引导 如果无误 到这里 就会重新看到你熟悉的 grub 引导界面了! 好 进入 系统后 还需要对 grub 进行 修复, 也就是 重写mbr的引导

进入了系统之后进入终端首先就是 update-grub fdisk -l (查看系统所在分区编号)

然后就是 mount /dev/sdax /mnt (x代表你系统所在分区编号)

重装grub-install --root-directory=/mnt /dev/sda(这里sda就是硬盘 不需要加分区编号)

成功之后 可以reboot 了( 注意, 我这里重启 会进入grub recue模式, 不知道为何,难道是还需要 update-grub一下再重启)

下面 再说下 如果遇到了 grub recue 情况 怎么解决的办法

grub resuce>ls 罗列所有磁盘分区信息 比如(hd0) (hd0, msdos1) 这样

然后就是 找出 grub文件所在 分区 也就是 ls (hd0, msdosX)/boot/grub (X可变)

当罗列出一大堆 说明找到了

可以继续下面的命令:

set root=(hd0, msdosX)

set prefix=(hd0, msdosX)/boot/grub

insmod /boot/grub/normal.mod

normal

现在就可以重新看到正确的grub引导了 不过 进入 系统 还需要再最后解决下问题!

sudo update-grub

sudo grub-install /dev/sda

到这里 reboot 一般来说问题就解决了!其中个别缘由也不是太清楚, 希望以后慢慢能弄懂!

开机可能出现了过

1. grub>

2. grub rescue>

下面分别介绍两种修复方法

1. 如果遇到的是grub>

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

1. rootnoverify (hd0,0)

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

2. chainloader +1

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

3. boot

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

然后大功告成。

2.如果遇到的是grub rescue>

遇到这种情况的原因可能有

这个情况下命令比上种情况少,不过不要紧

方法如下:

1.grub rescue>ls

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

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

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

3)grub rescue>set root=(hd0,msdos8) //括号里为上一步尝试成功的分区,例如msdos8

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

grub rescue>insmod normal//每个命令输入后按回车,">"是提示符!!!

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

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

很好,我们终于回到Linux了

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

sudo update-grub

然后输入

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

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

1、如果先安装linux,再安装windows,windows的引导程序直接启动windows而不会引导linux启动。也就是说如果先安装linux,再安装windows,那么能够直接启动的就只有windows,而要想启动linux,就需要用其他方法引导。

2、正确的方法是先安装Windows,再安装Linux,这样linux的grub引导程序会加载电脑里安装了的所有的系统。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6915133.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存