Linux救济:开机进不了系统,显示”GRUB>”命令提示符的解决方法 ...

打印 上一主题 下一主题

主题 455|帖子 455|积分 1365

在Linux系统中,GRUB是一个常见的启动加载器,负责加载系统的内核和初始文件系统。
然而,当出现某些错误时,系统可能会在开机时出现”GRUB>”命令提示符,而无法正常启动。
在本文中,我们将先容怎样修复这种情况。
了解GRUB和题目原因

首先,我们需要了解什么是GRUB,以及为何会出现”GRUB>”提示符。
GRUB是Grand Unified Bootloader的简写,是一个多操作系统启动程序。
当你看到”GRUB>”提示符时,通常表示GRUB无法找到正常的配置文件,因此进入了命令行模式。
找出正确的启动设备和分区

在”GRUB>“提示符下,我们可以利用”ls”命令来查看可用的设备和分区。例如:
  1. grub> ls
  2. (hd0) (hd0,msdos2) (hd0,msdos1)
复制代码
在这个例子中,(hd0)表示第一个硬盘,(hd0,msdos2)和(hd0,msdos1)表示该硬盘上的第二个和第一个分区。
手动启动Linux系统

首先用ls查看存在vmlinuz文件和initramfs文件的分区目录:
  1. grub> ls (hd0,msdos1)/
复制代码

以上截图阐明是(hd0,msdos1);
一旦我们找到了正确的设备和分区,我们就可以手动启动系统。以下是一个示例步骤:
  1. grub> set root=(hd0,msdos1)
  2. grub> linux /vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/sda1
  3. grub> initrd /initramfs-3.10.0-1160.el7.x86_64.img
  4. grub> boot
复制代码
这些命令的寄义如下:


  • 设置root设备为(hd0,msdos1)。
  • 加载/vmlinuz内核,设定根文件系统为/dev/sda1。
    3.10.0-1160.el7.x86_64为所用的内核版本,需视情况改成对应版本,根文件系统也需视情况改为对应目录。
  • 加载初始RAM磁盘镜像/initrd.img。
  • 启动系统。
  • ps:linux和initrd命令用于传统模式下加载 32 位或 64 位 Linux 内核。在大多数情况下,你应该利用 linux 命令来启动你的 Linux 系统,如果内核是16位的,则需要利用linux16和initrd16命令;
  • ps:在 EFI 系统上,启动过程与传统的 BIOS 系统有所不同,因此需要利用特定的命令来加载,需要把命令换成linuxefi和initrdefi命令;
  • linuxefi用于在 EFI(可扩展固件接口)系统上加载 64 位 Linux 内核。
  • initrdefi:这个命令用于在 EFI 系统上加载 initramfs。
修复GRUB

如果能够成功手动启动系统,那么接下来我们就可以修复GRUB。
在Ubuntu或Debian系统中,我们可以利用以下命令:
  1. sudo update-grub
  2. sudo grub-install /dev/sda
复制代码
在CentOS或Fedora系统中,我们可以利用以下命令:
  1. sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  2. sudo grub2-install /dev/sda
复制代码
这些命令会重新天生GRUB配置文件,并将GRUB安装到硬盘。
总的来说,虽然在开机时出现”GRUB>”命令提示符可能会让人感到困扰,但只要我们了解其原理,就能够通过手动启动系统和修复GRUB来恢复正常。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连密封材料

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表