Windows 10升级导致grub错误

分享于 

3分钟阅读

ubuntu

  繁體

问题

我同时使用Windows7和LinuxUbuntu,升级windows 10后,当我回到电脑,引导到grub rescue>。


error: no such partition.


Entering rescue mode...


grub rescue>



键入ls时得到以下信息:


grub rescue> ls


(hd0) (hd0,msdos5) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)



键入set并得到以下命令


grub rescue> set


cmdpath=(hd0)


prefix=(hd0,msdos6)/boot/grub


root=hd0,msdos6



当我输入sudo fdisk -l到终端,这是我得到的:


ubuntu@ubuntu:~$ sudo fdisk -l



Disk /dev/sda: 1000.2 GB, 1000204886016 bytes


255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors


Units = sectors of 1 * 512 = 512 bytes


Sector size (logical/physical): 512 bytes / 512 bytes


I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk identifier: 0xc03ede74



 Device Boot Start End Blocks Id System


/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT


/dev/sda2 206848 1547022335 773407744 7 HPFS/NTFS/exFAT


/dev/sda3 1547022336 1547943935 460800 27 Hidden NTFS WinRE


/dev/sda4 1547945982 1953521663 202787841 f W95 Ext'd (LBA)


/dev/sda5 1915731968 1953521663 18894848 7 HPFS/NTFS/exFAT



设备中没有Linux系统!


答案1

在rescue模式下,你可以做的第一件事是使用ls命令查看分区,

尝试找出哪个分区是你的启动分区,我尝试了以下命令,直到找到正确的分区:


ls (hd0,gpt1)/


ls (hd0,gpt1)/boot


ls (hd0,gpt2)/



然后在同一提示符中键入set,它显示GRUB在何处查找文件,显示的set命令:


prefix=(hd0,gpt6)/boot/grub


root=hd0,gpt6



要回到正常的GRUB,首先将prefix设置更改为指向正确的分区,在例子中,命令是:


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



然后你可以从救援切换到正常模式:


insmod normal


normal



也可以用以下方法修复root设置:


set root=(hd0,gpt7)



然后我更正了/boot/grub/grub.cfg文件,其中,我将(hd0,gpt6)替换为(hd0,gpt7),并执行:

 
sudo grub-install




Window  Windows  BOO  引导  Windows10  LED  
相关文章