我使用以下脚本创建了一个救援 grub.iso。当我使用 Windows 7、Ubuntu 12、MBR 时,此代码对我有用:
#!/bin/sh
set -e
wk_dir=$(mktemp -d "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX")
mkdir -p ${wk_dir}/boot/grub
grub-mkconfig -o /boot/grub/grub.cfg
# copy your /boot/grub/grub.cfg file to the work dir
cp -v /boot/grub/grub.cfg ${wk_dir}/boot/grub/grub.cfg
# run grub-mkrescue should create new image grub.iso in the current dir
grub-mkrescue --modules="ext2 lvm" -o /home/john/Dropbox/grub.iso ${wk_dir}
rm -rf ${wk_dir}
现在我使用的是 Windows 8、Ubuntu 14、GPT,使用grub.iso
上述脚本创建的,并确保检查了Enabled EFI
设置 -> 系统。我会回到 grub 提示符,所以我输入了:
set root=(hd0,gpt5)
set prefix=(hd0,gpt5)/boot/grub
insmod normal
normal
并且我能够进入 grub,但却遇到以下错误:
我在网上搜索了好久,想找到有人可视化 Windows 8 中的分区,但没找到。我认为 VirtualBox 的 UEFI 对 64 位系统有限制,但我不确定。如果有人知道如何做到这一点,请给我指明正确的方向。
答案1
在 Windows 8.1 中重新安装了 Virtualbox 并禁用了 Fastboot,它就可以正常工作了。