如何在已安装 Windows 的硬盘上安装 Ubuntu

如何在已安装 Windows 的硬盘上安装 Ubuntu

我认识一个人,他刚刚在硬盘上安装了 Ubuntu,而硬盘上已经安装了 Windows 10 作为主操作系统。现在,启动时可以通过 Grub 选择启动 Windows 或 Linux。

我试图理解这是如何可能的。

我的理解是:当计算机启动时,首先执行 bios 或 uefi,然后执行 MBR 代码,该代码将检查分区表以查看要启动的内容。当仅安装 Windows 时,Windows 会自动启动。

在此基础上安装 Linux/Ubuntu 时,引导加载程序/grub 安装在哪里,以便 MBR 知道执行它而不是仅仅执行 Windows?

答案1

在此基础上安装 Linux/Ubuntu 时,引导加载程序/grub 安装在哪里,以便 MBR 知道执行它而不是仅仅执行 Windows?

当您在 BIOS 系统上安装 GRUB 时,它会用自己的引导代码完全替换原始 MBR 引导代码。之后,当您从引导菜单中选择“Windows”时,它所做的操作与原始 MBR 引导代码所做的操作基本相同。

Windows 使用非常通用的传统 MBR – 它所做的就是查找“活动”分区并执行其 VBR 扇区。因此 GRUB 实际上根本不需要原始 MBR – 当您在 GRUB 中选择“Windows”项时,它只会直接加载 Windows 分区的 VBR。

(同时,GRUB MBR 则完全相反——它不关心分区,总是从保留的磁盘区域加载 GRUB 核心的剩余部分。)


请注意,大多数新电脑不使用MBR – 它们具有 UEFI 固件,将所有引导加载程序作为普通*.efi文件存储在“EFI 系统分区”中。这些文件与 .exe 文件非常相似,并且固件保留自己的启动菜单(要尝试的 .efi 文件列表)。

因此,当您在 UEFI 系统上安装 GRUB 时,它会将其文件与 Windows 引导加载程序文件一起复制到 EFI 系统分区,然后将自身作为 EFI 启动菜单的最顶层条目插入(优先级高于旧的 Windows 条目)。

稍后,当您从 GRUB 菜单中选择“Windows”时,它再次不会执行任何特殊操作 - 它只是启动Bootmgfw.efi仍然在 EFI 系统分区上的相同的原始 Windows 文件。

答案2

MBR(又称引导扇区)告诉计算机硬盘是如何分区的。在 Windows 上安装 ubuntu 时,您不可避免地必须创建新分区。Grub 将安装在其中一个分区中。MBR 将识别这些分区(无论它们“在哪里”)并为您提供从可用分区启动的选项。

我不确定我是否回答了您的问题。如果您想实现某些特定目标,请更新您的问题。

相关内容