我遇到了一个大问题,我 10/12 天前才安装了 Ubuntu。今天,当我运行我的电脑时,它显示一个黑屏,就像 CMD 一样。以下是消息:
error:file'grub/i386-pc/normal.mod' not found.
Entering rescue mode...
grub rescue> [here is the cursor]
现在我得到了一些解决方案,我尝试了以下方法:
>ls
(hd0,msdos2)(hd0,msdos1)(hd0,msdos 5) #.....I saw such things
然后我发现 (hd0,msdos1) 的文件系统是 ext2。然后,
>set boot=(hd0,msdos1)
>set prefix=(hd0,msdos6)/boot/grub
>insmod normal
>normal
但当我下达命令时正常安装,命令未找到显示,请帮助我:'(
答案1
我认为您的启动分区已损坏。请尝试从 livecd/live usb 启动以修复它。
首先,使用lsblk
命令找到您的硬盘。检查文件系统是否有错误。然后检查您的启动分区是否未满。可能需要删除一些以前版本的内核或映像。
然后挂载你的根分区和机器人分区,绑定/sys
、、、/proc
目录到这个空间并。/dev
重启。/run
chroot
update-grub2
像这样:
lsblk
NAME MAJ:MIN RM SIZE RO MOUNTPOINT
sda 8:0 0 298.1G 0
├─sda1 8:1 0 500M 0
└─sda2 8:2 0 297.6G 0
├─vg_main-lv_swap (dm-0) 253:0 0 5.8G 0
├─vg_main-lv_root (dm-1) 253:1 0 50G 0
└─vg_main-lv_home (dm-2) 253:2 0 241.8G 0
└─home (dm-3) 253:3 0 241.8G 0
sr0 11:0 1 1024M 0
检查启动分区是否存在错误
fsck /dev/sda1
挂载硬盘根分区
mount /dev/dev/vg_main-lv_root /mnt
或者像这样取决于你的磁盘布局
mount /dev/sda2 /mnt
安装启动项
mount /dev/sda1 /mnt/boot
绑定目录
for x in proc dev sys run ; do
mount -o bind /${x} /mnt/${x}
done
Chroot 并重新安装 grub
chroot /mnt
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
exit
清理并重启
cd /
umount /mnt/boot /mnt/sys /mnt/proc /mnt/dev /mnt/run /mnt
reboot