Ubuntu-Server启动错误修复
前两天服务器(Ubuntu 18.04.1)重启后出现了这个严重错误, 导致系统无法启动:
error: file ‘/grub/i386-pc/normal.mod’ not found
操作系统用的文件系统使用了LVM, 具体修复过程如下;
从安装盘启动系统, 进入修复模式. 不知道为何, 我的选项中不存在 “Rescue a broken system”. 直接按下 ALT+F4 进入命令行.
安装LVM, 貌似已经默认安装好了.
sudo apt-get install lvm2
找到分卷组的名字:
sudo vgdisplay
让分卷组可用:
sudo vgchange -ay name-of-vg
挂载 root 和 boot 文件系统, name-of-vg 为上一步显示的名称, name-of-root-lv 一般为 root, name-of-boot-partition 我的服务器上是 sda1:
可以通过这些命令确定文件系统:sudo mount /dev/name-of-vg/name-of-root-lv /mnt sudo mount /dev/name-of-boot-partition /mnt/boot
sudo fdisk -l sudo blkid df -Th
加载关键虚拟文件系统:
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
更改系统的 root 路径:
sudo chroot /mnt
重新安装 GRUB2, 文件系统名不包含分区编号. 这里的 sdX 在我的服务器上是 sda.
grub-install /dev/sdX
重新创建 GRUB2 的菜单:
update-grub
按 CTRL-D 退出 chroot, 然后重启服务器:
sudo reboot