写入EFI引导文件
上面只是进行了Legacy式安装,还不能进行UEFI启动,所以需要写入UEFI引导文件。
虚拟机关机之后,编辑虚拟机设置。
设置为EFI引导。
启动之后打开终端,sudo -s获取root权限。
最好用fdisk -l看一下分区。
我们得知:/dev/sda1是EFI分区,/dev/sda2是Linux文件系统。
挂载。
先挂载Linux分区,再挂载EFI分区。
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot/efi
然后是著名的dev proc sys run四部曲(run可以不用挂载)。
mount --o bind /dev /mnt/dev
mount --o bind /proc /mnt/proc
mount --o bind /sys /mnt/sys
mount --o bind /run /mnt/run
Chroot进入环境。
由于是Legacy模式安装,所以目前系统里的grub并不支持efi安装,所以要先安装grub-efi。
apt-get install grub-efi
如果你安装过程中是断网的,会无法安装。不要紧。退出chroot环境,然后把live cd根文件系统下的/etc/resolv.conf复制到/mnt/etc/resolv.conf就好,然后重新chroot安装,
然后输入:
grub-install --target=x86_64-efi --root-directory=/boot/efi --efi-directory=/boot/efi
输入后会出现一些奇怪的东西,不用管他。只要没报错就行。
结束之后:
umount /proc
umount /dev
umount /sys
umount /run(如果有的话)
sync
exit
终端不要关,输入nautilus(如果是kubuntu就是dolphin,其他的桌面自己找)。
点开/mnt/boot/grub将grub.cfg复制到/mnt/boot/efi/boot/grub下。
(解决无法显示菜单的问题)
grub.cfg是GRUB2的配置文件,以后如果更改了grub.cfg,/boot/efi/grub下的一样要更改,
将/mnt/boot/efi/EFI下的ubuntu文件夹改成boot,里面的grubx64.efi改成bootx64.efi,
(解决无法识别的问题)
重启即可看到效果。
这个方法别的发行版理论上也可以,笔者优盘里塞的是Linux Mint。
不过别的发行版(尤其是非Debian系)的配置过程可能略有不同。