安装在第二硬盘上,并启用启动引导选项?

理论上,我想做的事情非常简单,但是我已经进行了一些谷歌搜索并阅读了这个网站上的一些帖子,但仍然感到困惑。
我想在我的主要C:\驱动器上保留win7,并在一个尚未购买或安装的辅助驱动器上安装Ubuntu(12.10)。如果可能的话,当我启动计算机时,我也希望有选择启动Win7还是Ubuntu的选项,就像账户登录类型的东西,我只需选择那天要使用的驱动器。再次强调,我不想对我的C:\驱动器进行分区或更改、修改或影响我的Win7系统。
我对所有这些仍然相当不确定的原因是,我阅读的许多指南都是针对早期版本的Ubuntu。此外,绝大多数指南都是关于将一个驱动器分区以适应两个操作系统。我想要从两个独立的驱动器上运行两个独立的操作系统,我可以在启动时选择。我找到的指南提到了在C:\上安装grub的问题,但其他部分的操作系统安装在另一个驱动器上。这种情况仍然存在吗?我该如何避免这种情况发生?
另外,如果有帮助的话,我已经在我的笔记本上运行12.04lts几个月了,在课堂内外都使用,并且非常喜欢它。
最后,请您指引我一个指南,或者以一个两岁孩子能理解的方式写下您的答案,那将非常棒。我还是一个Ubuntu新手,不想搞砸我的win7系统。
4个回答

工作原理

每个分区的磁盘都包含一个称为MBR的小块。它位于磁盘的开头。

现在,操作系统将它们的代码插入到MBR中以加载自己的引导程序。 Windows也是如此,Linux也是如此。

它们插入一个指向引导程序实际位置的小代码。就像在Linux中,这个MBR包含GRUBStage1GRUB是Linux中使用的引导程序),它加载一个可能位于其他分区的较大可执行文件Stage2

如果你先安装了Windows,然后再安装Linux,GRUB的Stage1会位于MBR中。现在GRUB的另一部分(实际的引导程序)包含了Windows引导程序的位置。现在当你从GRUB菜单中选择Windows时,Windows开始加载。这被称为链式加载(GRUB首先加载,然后根据选择加载Windows引导程序)。

回到你的问题

在你的情况下,你有两个MBR(因为你有2个硬盘)。
因此,你有两个选择:
最简单的选择
- 在第二个硬盘上创建一个分区。 - 在该分区上安装Ubuntu,并将GRUB安装在第二个硬盘的MBR上,而不是第一个硬盘的MBR上。在这里要小心。请参考下面的图片(仅供演示目的),你需要在(可能是)sdb中完成所有操作。 - 选择你已经创建的sdb分区,编辑它,指定挂载点为/,文件系统类型为ext4。 - 将引导加载程序位置选择为sdb,而不是sda(见红色部分)。

bootloaderLocation

一旦完成,重新启动,您将被引导到Windows 7。
这是因为您的启动磁盘优先级设置为从第一块硬盘启动(我们没有更改任何内容)。
所以打开BIOS,更改启动磁盘优先级,使包含Ubuntu的磁盘排在第一位。
这次,GRUB将被加载。您可以选择启动任何一个操作系统。
移除该磁盘后,Windows 7将直接启动。
再次插入第二个磁盘,从BIOS中验证启动顺序,确保第二个磁盘排在第一位。现在您可以再次启动任何操作系统。
另一个选项是修改Windows引导程序,从第二个磁盘加载Ubuntu。这比较困难,而且由于您不想触碰Windows 7,我不建议这样做。
注意:这里提供的所有教程都是关于在同一磁盘但不同分区上添加Ubuntu的。我没有在不同设备之间进行过此操作,您可能需要相应地进行调整。
这里有一个做这件事的艰难指南
有一个很棒的GUI工具来编辑引导加载程序,叫做EasyBCD(个人使用免费)。他们的指南关于使用Windows引导加载程序设置Ubuntu。
你可以在这方面获得更多资源Easy BCD帮助:双启动Win7和Ubuntu 11.10 -- "添加新条目"用于Ubuntu我强烈推荐使用GRUB作为引导加载程序,因为它更灵活。也许你可以将Windows设置为默认启动选项和/或减少超时值

好的,首先我需要格式化新的驱动器(Ubuntu),然后在该驱动器上创建一个分区。 然后将Linux安装到sdb1,并将grub安装到sdb上? 另外,如果可以的话,我希望计算机在启动时提示我选择一个磁盘。所以,如果这意味着甚至要编辑Windows的引导加载程序,我愿意考虑一下... :D - Arammil
@Arammil 当你从sdb启动时,GRUB会首先出现并提示你选择Windows(带你到sda)或Ubuntu(在sdb中),就像你想要的那样。你不必每次都更改BIOS设置来实现这一点。 - user68186
是的,你理解得没错,只有一件事,如果你需要让硬盘的某个部分可供Windows使用,你可以创建分区。否则,你不需要创建分区。第二个问题:据我所知,无法选择磁盘,这取决于BIOS。而选择磁盘提示与编辑Windows引导加载程序并不相同。我将添加一些关于编辑Windows的指南。 - Web-E
好的,Windows将是我在这个系统上的主要操作系统,那么有没有办法让Windows引导程序提示我选择启动Win7还是Ubuntu,就像Grub一样?或者如果我使用Grub来引导Windows,两个硬盘会一直运行吗? - Arammil
您可以通过grub将Windows设置为默认启动项。如果您启动Windows并且不使用磁盘2,很可能会将磁盘挂起以节省电源。这完全取决于操作系统。在此无法做任何处理。 - Web-E
是的,我可以编辑Windows文件...但那似乎相当危险/糟糕。所以我可能会坚持使用GRUB。那么,我应该如何设置GRUB来实现这一点呢?当我想要启动Ubuntu时,我该怎么做呢? 最后:只是为了确保,格式化我的新驱动器,对驱动器进行分区,在sdb上加载GRUB,并将其余部分安装在sdb1上。然后最后我只需要以某种方式编辑GRUB就可以了吗? - Arammil
谢谢大家提供的所有信息。在我获得第二块硬盘并完成后,我可能会回复并告诉你们进展情况/发布实际过程。谢谢。 - Arammil
不用担心,GRUB会自动搜索并添加Windows选项到菜单中。只有在你想将Windows设置为默认启动项时才需要编辑GRUB。当你想要启动Ubuntu时,只需按上箭头键选择ubuntu然后按回车键进行启动即可。 - Web-E
第一个的唯一问题是,偶尔会有某些Windows更新需要将其切换回作为主要操作系统加载。更新后可以恢复,但有几个更新由于某种原因需要这样做。我已经不止一次地这样做过。 - JFA
我有点困惑,你的回答说整个过程(可能)都在sdb上进行,但是你的图片显示所有内容都在sda上。这只是因为你的设置在sda上吗?图片中选择的引导加载程序在sda上,那么它是否应该与上面表格中显示的分区相匹配?比如,如果我的Linux安装在sda上进行,那么我是否需要将引导加载程序安装到sda上? - bmcentee148
在图中,你选择在哪里安装Ubuntu?你用黄色标出了/dev/sda,但在评论中又说要将其安装在/dev/sda1上。如果我想让Ubuntu占据整个磁盘,我需要创建sda1分区吗? - bmcentee148

最简单的方法是如上所建议的。首先,暂时移除第一块硬盘(其中安装有Windows系统)。其次,将Linux安装到第二块硬盘上(目前是唯一连接的硬盘)。第三步,将第一块硬盘重新安装回来,这样你现在就有了两块硬盘,每个硬盘都有自己的操作系统。从那里开始,只需在启动时按一个键来选择引导硬盘。例如,使用戴尔机器,你可以在启动时按F12键,这将显示菜单以选择要从中引导的硬盘。


我可能是以相反的方式来做,但我使用启动菜单来引导到Lubuntu(在这个系统主板上按F12)。当我安装Lubuntu时,我断开了系统中的所有其他驱动器。然后我将grub安装在Lubuntu驱动器上。Windows看不到Lubuntu驱动器,但Lubuntu可以看到Windows驱动器,所以我可以访问系统中其他驱动器上的文件。

断开装有Win 7的第一块硬盘,这样你就会更安全。你的电脑可能有一个启动选择器功能。进入设置界面查看是否已启用。

  • 相关问题