所以,我真的需要一些帮助。最近我在同一硬盘上使用双启动机器。我有 Windows 8.1 和 Ubuntu GNOME 14.04。
当我在 Windows 安装之上安装 Ubuntu 时,我不需要安装 Grub 引导加载程序。我刚刚创建了分区 /、/home 和 /swap 并安装了。之后 grub 已经可以工作了,我可以在操作系统之间切换。
所以,我不太喜欢 Gnome 桌面,而且该发行版有点滞后,所以我决定切换到另一个版本。经过一番研究后,我决定使用 OpenSUSE 13.2。所以我继续安装,我用新格式化的分区替换了旧分区 /, /home 并采用了现有的 /swap 分区。之后我安装了 OpenSUSE,令我惊讶的是,重新启动后我的机器将进入 Grub2 shell。
我尝试重新安装 openSUSE 四次。其中之一是安装程序建议的分区。但它仍然无法在 Linux 上启动,我总是进入 grub shell。 (请注意,我可以在 Windows 8.1 中启动)
经过一些研究,我设法在 grub shell 中找到并启动我的 Linux 安装。我按照以下步骤操作:http://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux/
所以现在我可以在 Linux 上再次启动,但每当我重新启动计算机时,我都必须再次执行所有这些步骤。
今天我用elementary-os luna替换了openSUSE(字体渲染不好),但是grub仍然遇到同样的问题。登录 luna 后,我尝试通过以下命令更新 grub 并安装它:
sudo update-grub
sudo grub-install /dev/sda1
更新工作正常,但安装命令给了我这个警告:
/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partitionless disk or to a partition. This is a BAD idea..
/usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub-setup: error: will not proceed with blocklists.
所以现在我不知道该怎么办。我当然可以遵循一些教程并尝试很多事情,但据我所知,乱搞 grub 命令并不安全。
我想要的只是恢复引导加载程序,以便我可以在 Windows 或 Linux 上引导。
答案1
正如消息所示,您正在尝试安装在分区: 中/dev/sda1
。使用 来安装在 MBR 中更为常见/dev/sda
。
这实际上是您参考的教程末尾推荐的内容:
...
done
# grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.