今天在VMware Workstation中使用UEFI模式安装Ubuntu16.04.3(64bit),安装完成重启后停留在引导界面。从屏幕上显示的信息可以看出没有找到启动项。写这篇文章记录下解决过程。
EFI shell
发现是引导问题后,我首先从 BIOS 进入 EFI shell 尝试手动引导。
进入 efi shell 后会显示 Device mapping table,根据路径信息,找的硬盘的 EFI 分区为 fs0,输入
fs0:
进入启动分区,然后输入
ls
列出文件,发现分区为空,因此猜测安装过程中Grub安装出了问题。
Live OS
发现问题后,尝试使用Live OS手动重新安装 Grub。
再次挂载ISO镜像,选择 Try Ubuntu without installing 进入Live OS。
进入系统后打开终端(快捷键Ctrl+Alt+T)
查看系统分区情况:
sudo fdisk -l
sudo blkid
df -Th
我的系统只有一块硬盘 /dev/sda
,两个分区,/dev/sda1
为 EFI 分区,/dev/sda2
为系统分区。
挂载分区
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
挂载 EFI 分区前可以查看 /mnt/etc/fstab
查看分区挂载表,确定挂载点
挂载虚拟文件系统
挂载系统关键的虚拟文件系统
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
chroot
切换系统根目录
sudo chroot /mnt
修复引导项
apt update
apt install grub-efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi
update-grub
--target
指定系统结构--efi-directory
指定 EFI 分区挂载点
Grub重新安装后,重启成功。
reference
https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot