前几日因为修复一台服务器使用了自己在机房做的一台samba服务器,使用时把BIOS中 UEFI 的 Ubuntu系统启动项删除了,导致我的Samba服务器开机不能启动。
修复期间浏览了很多帖子最后找到了一篇可以用的方法。
原文链接:https://blog.csdn.net/DumpDoctorWang/article/details/83898719
1、准备工作:
首先需要制作一个Ubuntu的系统安装盘,可以使用软碟通将Ubuntu 的安装镜像写入到你的U盘中。
2、修复引导的原理
chroot 将服务器的磁盘挂载到预览系统中,对UEFI分区进行修复。
首先挂载系统盘,再将UEFI分区挂载到 /boot/efi 目录中
使用修复命令将文件写入UEFI 分区。
3、实例:
背景:我这台服务器分了两个区,一个几百兆的UEFI分区,和一个系统分区分别是 sda1 和sda2。
操作:
插入制作好的系统安装U盘,开机启动。选择 UEFI XXX (U盘名称) 选项引导启动,进入光盘菜单选择 “Try Ubuntu without installing”选项。
进入预览系统界面按 “Win”键(就是键盘上Windows图标按钮),输入 Terminal选择黑色命令行图标打开命令行终端窗口。
#将系统盘挂载到 预览系统的 /mnt中,上面说了 我的系统盘是sda2,所以将sda2挂载到了 /mnt下。 sudo mount /dev/sda2 /mnt #再把UEFI分区挂载到 sda2的boot目录下 efi目录中 sudo mount /dev/sda1 /mnt/boot/efi for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done #切换到原系统环境进行修复 sudo chroot /mnt grub-install /dev/sda update-grub
执行后不出错重启就可以再bios中看到 UEFI选项中出现一个Ubuntu的启动项了, 将这个选项设置为你的第一启动保存重启即可。