Windows 未安装在 ubuntu 的 ntfs 分区中

Windows 未安装在 ubuntu 的 ntfs 分区中

我想让我的电脑可以双启动。我已经安装了 ubuntu 14.04。我按照 youtube 上的教程操作。我已经为它创建了 NTFS 分区。(附上 Gparted 的图片链接)

https://postimg.org/image/5qtdzhm1x/

在安装 Windows 时,系统提示“您无法安装在 GPT 分区中”。因此,系统尝试在 cmd 中使用 diskpart 将其转换为 MBR(在某处读取),但系统只显示一个磁盘,卷大小约为 930GB(不记得确切的值,但范围相同),并且 GPT 类型上有一个“*”标记。因此,我无法将其转换为 MBR,因为我可能会丢失数据,对吗?我如何将其转换为 MBR?或者还有其他方法可以安装/创建正确的分区吗?

答案1

首先,请理解GUID 分区表 (GPT)主引导记录 (MBR)是分区表格式。因此,它们适用于整个磁盘,而不是单个分区。也就是说,您不能将一个分区设置为 GPT 格式,将另一个分区设置为 MBR 格式。(部分例外情况是,如果您使用混合型 MBR,但这些都是丑陋而危险的黑客行为,除了在某些有限的情况下应该避免,主要涉及与旧版本 Windows 双启动的 Mac。)

其次,您收到的错误消息表明 Windows 安装介质是在 BIOS/CSM/传统模式下启动的;以这种方式启动时,Windows 坚持安装到 MBR 磁盘,而不是计算机的 GPT 磁盘。消息的编写方式听起来好像分区表是问题所在,但事实并非如此——而是引导模式安装介质的问题。您的分区表使 Ubuntu 看起来好像是在 EFI/UEFI 模式下安装的。这里的关键点是您不应混合启动模式-- 如果 Ubuntu 安装在 EFI 模式下,您也应该在 EFI 模式下安装 Windows。虽然可以备份 Ubuntu 并以 BIOS 模式重新安装(在 MBR 磁盘上),或者将现有的 Ubuntu 安装转换为 BIOS 模式(并将磁盘从 GPT 转换为 MBR),但这是解决问题的困难方法。

解决该问题的简单方法是让 Windows 安装程序以 EFI 模式启动。有几种方法可以做到这一点;但是,没有一种方法可以保证有效,因为现在有几种可能的原因导致它以 BIOS 模式启动:

  • 禁用固件中的兼容性支持模块 (CSM)。不幸的是,很多网站建议在安装 Ubuntu 时启用 CSM,但这不是好建议,正如我的这个页面。如果您在计算机上禁用 CSM,Windows 安装介质可能会以 EFI 模式开始启动,并且安装应该正常进行。
  • 重写 Windows 启动介质。根据 Windows 版本、您获取启动映像的方式以及您准备启动介质的方式(如果启动映像不是物理介质),您可能需要重写启动介质。有些工具在准备启动介质时会忽略或损坏 EFI 引导加载程序,而有些映像(尤其是盗版映像或非常旧的 Windows 版本)可能完全没有 EFI 引导加载程序。我的 CSM 页面介绍了用于写入映像的工具,但从 Linux 的角度来看;创建 Windows 启动介质的一些细节有所不同。如果您需要更多帮助,您可能需要在 Windows 论坛上提问。
  • 使用计算机的内置启动管理器选择正确的启动选项。在某些情况下,内置启动管理器可能会显示两个从外部介质启动的选项,其中一个选项包含字符串“UEFI”,另一个选项不包含该字符串。请务必选择包含“UEFI”字符串的选项。

请注意,Windows 在 Windows 7 中增加了 EFI 支持;早期版本缺乏 EFI 支持,并且只能在 BIOS 模式下安装。(特殊平台有例外。)因此,如果您尝试设置双启动,例如 Windows XP,则应忽略上述大部分内容并转换为 BIOS 模式安装。

最后,请注意,当您在基于 EFI 的计算机上安装 Windows 时,Windows 会将其自己的引导加载程序设置为默认引导加载程序,然后您将无法引导到 Ubuntu。有几种方法可以解决这个问题,例如:

  • 您可以永久使用计算机的内置启动管理器——它与您用来指示计算机启动到外部介质的启动管理器相同。它应该同时提供 Ubuntu 和 Windows 的选项。不过,在许多计算机上,访问此启动管理器并不方便,而且有些计算机上存在错误或设计缺陷,导致这种方法不可行。
  • 在 Windows 中,下载简易UEFI工具并使用它来调整启动顺序;将条目移至ubuntu启动列表的顶部。重新启动时,Ubuntu 将启动。然后您需要运行sudo update-grub以使 GRUB 检测 Windows。在后续启动中,您应该在 GRUB 菜单中看到 Windows 和 Ubuntu。
  • 在 Windows 中,打开行政人员命令提示符窗口并输入bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi。这与 EasyUEFI 的功能类似,但不涉及第三方软件。
  • 安装我的rEFInd 启动管理器。您可以在 Windows 中执行此操作(有点繁琐);或者下载 USB 闪存驱动器或 CD-R 版本,使用它启动 Ubuntu,然后安装 Debian 包或 PPA。rEFInd 将接管作为主启动程序,并为您提供启动 Windows 或 Ubuntu 的选项。
  • 跑步引导修复从 Ubuntu 紧急磁盘。此工具将完全重新安装 GRUB 并使其成为默认启动管理器。这种方法有点矫枉过正,在极少数情况下,可能会使情况变得更糟;但很多人都熟悉 Boot Repair,因此如果您遇到问题,它可以提供帮助。

这些选项有很多变体,还有其他更奇特的可能性,比如使用 Linux 的六个左右的其他引导加载程序,如我的这个页面。使用 EasyUEFI 可能是解决该问题最简单的方法,其次是使用bcdedit或安装 rEFInd。

还要注意,有些计算机的 EFI 存在缺陷或异常,需要额外的步骤才能使其正常工作。恕我直言,如果计算机足够新,最好将其退回商店退款,而不是接受这种有缺陷的产品,但很少有人这样做。

答案2

据我所知,Ubuntu(以及大多数其他种类的 Linux 类型操作系统)可以与 NTFS 分区交互,但 MS-Windows 不会加载到 Linux 控制的环境中。一种解决方法是使用 BIOS 设置将 MS-Windows 安装到新的、干净的(可能是外部的)驱动器上,使其成为第一个可启动驱动器。一旦 MS-Windows 运行正常,然后从 Linux 可启动 USB 或 DVD 重新启动,将 Ubuntu 系统安装到新的 MS 控制驱动器上。新驱动器上的 Ubuntu 系统将能够访问旧驱动器上的文件,并可用于将它们传输到新驱动器。

相关内容