我一个月前在 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。