知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

ubuntu修复grub命令

发布时间:2014-09-05 13:52:48作者:知识屋

ubuntu修复grub命令
 
今天在备份grub.cfg的时候出了点问题,导致误删了grub.cfg,要命的是我当时还没有意识到这点。重启后只见黑底白字的grub命令行界面,一行grub>等待着我输入命令,好吧,我来修复你T T
 
1.grub>ls
 
显示出来了多个分区,分别是(hd0)(hd0,msdos4),(hd0,msdos1),(hd0,msdos2),(hd0,msdos3)
 
2.grub>ls (hd0,msdosX)/boot/grub x代表数字
 
多次执行上面的命令,从1试到了4,终于在ls (hd0,msdos4)/boot/grub 的时候显示出了一堆东西而不是no such file or directory了,到这里就成功了一半了
 
3.grub>set root=(hd0,msdosx) x代表数字,在第二步中我找到我的数字是4了,输入的是msdos4
 
   grub>setprefix=(hd0,msdosx)/boot/grub  x代表数字,在第二步中我找到我的数字是4了,输入的是msdos4
 
   grub>insmod normal
 
   grub>normal
 
一般来说到了这里就会启动系统了,但是我的却是提示未载入kernel,好吧,我这就载入kernel
 
4.grub>linux (hd0,msdosx)/boot/vmlinuz-(kernel版本号) ro root=/dev/sdax   x代表数字,我的是msdos4.所以我这里输入sda4
 
这里需要着重说明。首先,网上说的kernel (hd0,msdosx)/boot/vmlinuz-(kernel版本号) ro root=/dev/sdax在我的ubuntu13.04中提示无kernel这个命令,经过谷歌才知道已经不用kernel而是改用linux了。其次,关于kernel版本号,当你输入到linux (hd0,msdosx)/boot/vmlinuz-这里时,多次连续按下键盘左上角的Tab键就会出现多个你的系统里面所有kernel版本的名字,你选一个合适的照着打就OK了。
 
5.grub>initrd /boot/initrd-(initrd版本号)
 
这里输入版本号也是和输入kernel版本号的方法一样,Tab键显示系统所有的initrd版本。注意,这个版本号一定要和你刚才设定的kernel版本号一致!
 
6.grub>boot
 
一般来说,输入这条命令后就会闪现一堆滚动的英文,然后卡在一个界面一段时间,之后就可以看见你的系统了!
 
7.不要高兴得太早了,其实启动的问题还没有解决,终端输入命令 update-grub ,OK啦,grub修复完成!
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜