⑴GRUB是多操作系统的启动程序,GRUB 相对GRUB增加了不少新功能,比GRUB更加实用,不少朋友Linux系统操作中,会遇到GRUB 启动失败的问题,下面小编就给大家介绍下Linux GRUB启动失败的解决方法。
⑵update-grub脚本可以可靠的检测内核、启动文件,并添加所有的操作系统,自动生成你的启动菜单,所以你不必手动的修改他们。
⑶我们还要学习如何解决两个常见的故障。当启动系统时,它会停在grub》提示上,这是一个完整的GRUB 命令界面,所以不要惊慌。这意味着GRUB 依旧可以正常启动和加载normal.mod模块(它和其他模块分别位于/boot/grub/[架构]/ 下,但没有找到你的grub.cfg文件。如果你看到grub rescue》 这意味着它无法找到normal.mod,因此它有可能找不到你的启动文件。
⑷这是如何发生的?因为内核可能改变驱动器分区号码的分配,或者您移动了您的硬盘驱动器,或者你手动改变一些分区,也有可能是安装一个新的操作系统或者移动一些文件。在这些情况下你的启动文件仍然存在,但GRUB不能找到他们。所以你可以在GRUB提示符中找到启动文件,设置它们的位置,然后启动您的系统并修复GRUB配置。
⑸GRUB 命令行
⑹GRUB 的命令界面和上一代GRUB中的一样强大。你可以用它来找到引导镜像,内核和根文件系统。事实上,它可以让你避开权限和其它访问控制,完全访问本地计算机上的所有文件。有些人可能会认为这是一个安全漏洞,但是你知道古老的UNIX的名言:有物理访问机器权限的人,就是拥有它的人。
⑺当你在grub 》提示时,你有许多类似命令行界面的功能,如命令历史和tab补全。但是grub rescue》模式是受限的,没有命令历史,没有tab补全。
⑻如果你是在一个正常运作的系统上练习,那就当GRUB菜单出现时,可以按下C来打开GRUB命令行界面。你可以通过向上和向下光标键滚动你的菜单条目来停止启动倒计时。在GRUB命令行下做实验是安全的,因为做不了永久的修改,一切都是暂时的。如果你已经看到grub 》或grub rescue》提示符,那就说明你的表现时刻到了。
⑼接下来的几个命令可以在grub》和grub rescue模式下运行。你应该运行的第一个命令是设置一个分页器,将长的命令分页。如下:
⑽grub》set pager=
⑾等号两侧必须不能出现空格。现在让我们做一点探索。输入ls来列出的GRUB识别的所有分区:
⑿grub》 ls
⒀(hd(hd,msdos(hd,msdos
⒁msdos是什么?这意味着该系统具有老式的MS-DOS分区表,而不是全新的全局唯一标识符的分区表(GPT。如果你正在运行的GPT,它会出现(hd,GPT。现在让我们看看,使用ls命令查看你的系统里面有什么文件:
⒂grub》 ls (hd,/
⒃lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/ lib/
⒄lib/ media/ mnt/ opt/ proc/ root/ run/ sbin/
⒅srv/ sys/ tmp/ usr/var/ vmlinuz vmlinuz.old
⒆initrd.img initrd.img.old
⒇太好了,我们已经找到了根文件系统。你可以省略msdos和GPT的标签。如果没有加分区后面的斜杠/,则只会列出分区的信息。你可以用cat命令显示文件系统上的任何文件:
⒈grub》 cat (hd,/etc/issue
⒉Ubuntu. LTS
⒊在一个多引导系统上,通过/etc/issue文件可以知道这是哪个Linux系统。