无法解决grub救援问题吗?

无法解决grub救援问题吗?

我一个月前在 Windows 7 双启动上安装了 kali 1.0.9a-amd64,昨天我从中创建了 4 个分区,swap一一/home一一/boot/

我想从 Windows 中为 Ubuntu 服务器释放另一个分区,因此使用向导释放了 10GB,从互联网下载(与我用于 kali 的相同,进展顺利),一切顺利,今天早上,当我启动计算机时,我有 grub rescue mod。我无法解决它。

我几乎尝试了一切。我什至无法打开BIOS。这不起作用。我在论坛上尝试了一切:找到Linux分区,然后尝试设置根设置前缀方法,然后insmod正常,然后正常,在论坛上它应该正常启动,让我能够通过重新安装来修复grub。相反,我进入了 grub 正常模式。现在我尝试了使用 insmod 环回、Linux、iso9660 和 fat(因为 ISO 位于 USB 上)的进一步解决方案,但之后我仍然找不到该casper文件,也没有找到vmlinuz.

vmlinuz在 (hd0,msdos8)/ 找到了类似的“vmlinuz” no .efi,initrd.img顺便说一句,我在该文件夹中找到了它,我的前缀不是 /boot/grub /usr/lib/grub(在论坛上它说/usr/lib/grub/i386-pc,但如果我这样做正常模式无法启动它,说未找到正常模式,/usr/lib/grub/但它可以使用)有什么解决方案吗?我快死在这里了

更新 :

在设置 root 设置前缀 insmod 之后,我像往常一样进入正常的 grub 屏幕,我尝试 inintrd initrd.img 并启动到 USB 驱动器,但是所有选择(live、install、failsafe....)都太相同的屏幕,黑屏什么都没有,直到按 ESC 然后它带我到另一个黑屏,说启动:所以我输入了很多选择,没有一个起作用,唯一一个看起来不错的是 /boot/efi.img 但它仍然说无法加载内核(按 Enter 键让我回到选择屏幕,kali 启动屏幕),所以我将 ubuntu 刻录到 USB 棒上,现在我可以从 USB 启动它,我可以访问互联网和其他东西,我应该做什么现在要修复它吗? + 我现在可以访问 BIOS

答案1

1)从 grub 救援:

键入以下命令:

ls (hd0,msdos8)/
set root=(hd0,msdos8)
set prefix=(hd0,msdos8)/boot/grub
insmod linux
insmod normal
normal
boot

insmod normal如果尝试使用insmod.old或时出现错误insmod linux

2) 从 Live CD 启动

在启动分区上重新安装 Linux 映像

sudo mount /dev/sday /mnt/myroot/boot 

   sudo mount ‐‐bind /dev /mnt/myroot/dev
   sudo mount ‐‐bind /proc /mnt/myroot/proc
   sudo mount ‐‐bind /sys /mnt/myroot/sys

挂载所有其他分区 /boot、/var、/usr、/tmp 等。确保已将它们全部挂载。

复制resolv.conf

 cp -L /etc/resolve.conf /mnt/example/etc/resolve.conf

chroot

 sudo chroot /media/bin:/sbin:/usr/bin:/usr/sbin /mnt/tmp...

重新安装丢失的内核映像

从根目录移动 initrd.img:

   mv initrd.img initrd.img.OLD

安装Linux镜像

  apt-cache search 'linux-image'
  apt-get install linux-image-x.x-generic

将 linux-image-xx-generic 替换为您的。

恢复 grub

sudo grub-install /dev/sdX

重启

答案2

如果您得到正常的提示符而不是菜单,那是因为您缺少 /boot/grub/grub.cfg 来告诉它要在菜单上添加什么内容。手动加载内核:

set root=(hd0,msdos8)
linux /vmlinuz root=/dev/sda8
initrd /initrd
boot

启动成功后,运行update-grub生成grub.cfg。

相关内容