在不同的硬盘上双启动Windows 10和Linux Ubuntu

如何在Windows 10和Ubuntu之间进行双系统启动?我的Windows驱动器是安装在SSD上的C盘,而我想使用HDD上的S盘来安装Linux。我不知道需要下载什么或者该怎么做。

31在将任何问题标记为重复之前,请确保您理解新问题的区别。这个问题从来没有重复过。它关注的是两个不同的驱动器而不是两个分区驱动器。这是现代机器的用户可能会遇到的问题。@DavidFoerster,我建议您取消重复标记,并友善地提供可能的解决方案。 - Geek Guy
@GeekGuy:解决方案是相同的,无论两个分区最终是否位于同一物理驱动器上。所有发生变化的只是块设备节点名称,这些名称已经根据特定的设置而变化了很多。 - David Foerster
更一般地说,如果我们有两个问题:“在条件C1下如何做X?”和“在条件C2下如何做X?”而对于这两个问题的答案都是“执行步骤S1、S2、S3...,同时根据环境条件E1、E2...调整参数P1、P2...”——注意,无论是C1还是C2都不会影响答案——那么我们应该将其中一个问题标记为另一个问题的重复。 - David Foerster
@GeekGuy,假设在后期我们决定将Windows硬盘取出并放入另一台电脑中,那么要使这两台电脑独立工作,需要采取哪些步骤? - Arun
3个回答

这适用于大多数使用UEFI且有两个硬盘的系统。
更新:请注意,像Windows 10/11这样的较新的Windows系统可能依赖于一个单独的UEFI引导加载程序分区才能正常工作,请参阅12

以下是教程所使用的规格:

Dell Inspiron E5440:

  • 主硬盘 - 256GB 三星SSD(安装了Windows 10)

  • 次要硬盘 - 64GB 威刚mSATA SSD(在此驱动器上安装了Mint 18)


A) UEFI/BIOS

  1. 将设置为"仅UEFI模式"(不要遗留/CSM)。

  2. 禁用"安全启动"。

  3. 禁用"Intel Rapid Start"(如果装备了的话)。

  4. 在UEFI中禁用"快速启动"(请注意,这与Windows 8/10中的"快速启动"设置不同)。您的UEFI/BIOS选项可能会显示类似于引导模式的完整/最小/自动之类的内容。请选择完整(或彻底、完全等,根据您的UEFI供应商选择的名称)。

B) 高级电源选项(快速启动)

在Windows 8/10的"高级电源选项"中禁用快速启动。重新启动计算机以确保随后的启动和下一次重启/关机将处于"正常"模式。

可选:

安装Macrium Reflect(免费版),并创建备份镜像和重新安装媒体,以防Windows 10出现问题。
C)Rufus / 可启动的USB闪存驱动器
使用Rufus创建一个可启动的USB闪存驱动器,选择您喜欢的基于Ubuntu的发行版。在Rufus中确保您只选择“UEFI/GPT”选项。这样可以确保Linux环境仅以UEFI模式启动进行安装。
D)启动菜单
重新启动计算机,并按下一次启动菜单键(Dell通常是F12)。从启动选项中选择您的USB闪存驱动器。
注意:
确保在启动菜单中的USB闪存驱动器前面显示“UEFI”。
如果没有,请返回Windows,并使用Rufus重新创建您的USB闪存驱动器,确保只选择“UEFI/GPT”选项。
E)启动到USB闪存驱动器
启动到Linux实时环境并开始安装。
F)安装类型
当你到达安装选项时,在Ubiquity安装程序的底部选择“其他选项”。
G)创建分区
找到你要安装Linux的辅助硬盘。
在我的情况下,它被列为/dev/sdc(其中/dev/sda是Windows驱动器,/dev/sdb是USB驱动器[在安装程序中是不可见的])。
所以基本上:
+--------------+--------+---------------------------+--------------------------------+
| Device path  | Device | Operating System (OS)     | Visible in Ubiquity installer? |
+--------------+--------+---------------------------+--------------------------------+
| /dev/sda     |  HDD   | Windows 10                | yes                            |
| /dev/sdb     |  USB   | Ubuntu 16.04 (Live Stick) | no                             |
| /dev/sdc     |  HDD   | None                      | yes                            |
+--------------+--------+---------------------------+--------------------------------+
  • 第一个分区 / EFI
  1. 选择目标驱动器(在我的情况下是 /dev/sdc

  2. 选择 "创建新的分区表"

  3. 按照以下方式对目标驱动器进行分区:

  • 大小:650 MB
  • 新分区的类型:主分区
  • 新分区的位置:在此空间的开头
  • 用途:EFI(一旦创建,它将在分区工具中列为 /dev/sdc1 efi)
  • 第二个分区 / 根目录
  1. 在目标驱动器下选择“空闲空间”(在我的情况下是/dev/sdc

  2. 选择“+

  3. 按照以下方式对目标驱动器进行分区:

  • 大小:至少10 GB(20+GB更好)
  • 新分区的类型:主分区
  • 新分区的位置:在此空间的开头
  • 用途:ext4
  • 挂载点:选择“/”
  • 第三个分区 / 交换分区
  1. 在目标驱动器下选择“空闲空间”(在我的情况下是/dev/sdc

  2. 选择“+

  3. 按照以下方式对目标驱动器进行分区:

尺寸:最小2 GB(20+GB更好)。
新分区类型:主分区。
新分区位置:在此空间的开头。
用途:交换空间(如果您希望使用休眠功能,则交换空间的大小应略大于您的总内存量-例如,我有8 GB内存,因此将此分区的大小设置为9000 MB)。
第四个分区/主目录。
在目标驱动器(在我的情况下是/dev/sdc)下选择“空闲空间”。
选择“+”。
按以下方式对目标驱动器进行分区:
尺寸:剩余的驱动器空间。
新分区类型:主分区。
  • 新分区的位置:这个空间的开头
  • 用作:ext4
  • 挂载点:选择“/home”

H)启动加载程序设备

  • 点击“现在安装”之前,从“引导加载程序安装设备”选项按钮中,选择刚创建的650MB EFI分区作为引导加载程序的目标。(例如,在我的情况下是/dev/sdc1)。
  • 点击“现在安装”。

I)安装和重启

  • 完成安装过程并重新启动(当您的UEFI / BIOS屏幕标志出现时,请移除 USB驱动器)。

J)重新启动后

在UEFI / BIOS读取Linux添加到其中的新引导加载程序条目后,您将看到grub菜单,其中列出了您的Linux发行版以及引导Windows 10的列表。

1. 进入Linux系统。 2. 安装任何更新,然后重新启动并尝试从grub菜单进入Windows 10,以确保grub正确处理将控制权交给Windows 10引导程序。
你所做的事情:
你已经将Linux EFI引导加载程序安装到新创建的EFI分区中。在此过程中,Linux已经在系统的UEFI/BIOS中添加了一个条目。Linux还自动检测到了你的Windows 10安装,并添加了一个grub菜单项来引导它。除非你选择从Grub菜单中引导到Windows,否则你的计算机现在会自动引导到Linux。
你没有做的事情:
你没有以任何方式修改你的Windows 10安装或其引导加载程序,甚至没有触碰过Windows 10的EFI分区。通过从UEFI/BIOS设置中删除Linux的UEFI条目,一切都可以简单地恢复。如何操作因供应商而异。

1谢谢,伙计。我不知道为我的新发行版KDE neon选择哪个EFI分区作为引导加载程序。 - christianbueno.1
4这是互联网上最清晰的解释。谢谢你,你真的值得获得点赞。 - starikcetin
3太棒了,感谢你的指导!还值得一提的是,Ubuntu使用协调世界时(UTC)来维护时间,而Windows使用本地时间。因此,你需要更改其中一个系统的时间设置,以使它们保持同步。 - David Kuhta
2我在引导加载器安装中看不到efi分区,我做错了什么吗? - Jack
3在Windows 10和Ubuntu 18.04中禁用“安全启动”和“快速启动”选项有意义吗?现在的技术不都是兼容的吗? - 0leg
1真是太棒了。完全同意,这是互联网上最干净的答案! - John Doe
我在一块次要的硬盘上安装了Ubuntu,但是将引导加载程序安装在旧的硬盘EFI分区上(Windows所在的磁盘)。Grub仍然给我提供了一个启动菜单,我可以选择操作系统,一切似乎都正常工作。我所做的这种方式有什么不利之处吗? - Mike Vella
不能创建超过4个主分区,那么将交换分区设置为逻辑分区是否可以? - ggnoredo
谢谢,这真的很有帮助。只有一个注意点 - 对于我的笔记本电脑(联想Thinkpad t450),在“UEFI only”下我有一个额外的选项 - “CSM支持”。首先我将其设置为“关闭”,但这导致了“Lenovo”启动标志而不是“Thinkpad”标志,并且Grub菜单没有显示出来(但Ubuntu可以正常启动)。当我重新打开此选项时,我能够看到Grub菜单,一切都变得好起来! - The Godfather
现在似乎更倾向于使用交换文件而不是交换分区(除非使用休眠)- 你有什么想法?https://askubuntu.com/questions/1181720/partition-in-the-ubuntu-19-10 - Ross
一个更简单的方法来获取启动选项(无需查找制造商的特殊按键)。进入(从Win10)设置>更新>恢复>高级启动。然后选择使用设备>USB。 - TheAlphaReturns
@user613363 我成功地按照这些步骤进行了操作。(谢谢!)一年过去了,我想要替换Windows10的硬盘(克隆到SSD),同时保留Linux的硬盘不变。我需要更新引导加载程序吗?你能给出一些建议吗? - manybodycpa

和我的环境一样 :) 只需下载ISO镜像并将其放入可启动的DVD/USB中。 设置分区并安装,
然后在BIOS/UEFI中将第一启动设备设置为已安装Linux的硬盘。 否则,您只能使用Win10启动。

那么,我还需要一个USB或CD,我不能把硬盘当作USB使用吗? - TechnicallyLive
那取决于您要安装的Ubuntu版本。就我记得,12.04肯定支持从Windows安装,14.10不太确定,但是15.10不支持通过Windows进行安装。 - kkangshawn
1我建议对这个答案进行[编辑],以具体说明如何做到这一点。 (有关哪些答案被认为是AskUbuntu上最有价值的的一般建议,请参阅如何撰写一个好答案? - David Foerster
不,当我将Linux设置为第一启动设备时,它只加载Linux而没有双引导屏幕。 - Artem P

我目前在同一台1TB硬盘的不同分区上安装了Ubuntu 15.10和CentOS 7(还有交换分区)。另外,我还有一个独立的SSD上安装了Windows 10。
以下是我的建议:
- 在你的HDD/SSD上安装Windows 10(如果尚未完成)
- 制作一个可启动的Ubuntu USB/CD
- 启动USB/CD
- 选择“其他”进行安装
- 创建30GB大小的ext4类型的“/”分区
- 创建8GB大小的swap分区*
- 创建剩余空间的x GB大小的ext4类型的“/home”分区**
- 在拥有Windows主引导记录的驱动器上安装grub2
安装完成后,您将重新启动并看到grub2,并能够选择要启动的操作系统。
*假设您有8GB内存
**或者,如果您喜欢,您可以创建一个大的/分区,而不是单独的/home分区。