首先我要说的是,我已经尝试让它工作了两天,并且我读了很多资料。答案可能非常明显,但我需要有人指出来。
我尝试双启动 Windows 和 Ubuntu(是的,我按照指南操作,但我不记得是哪个了),但 Grub 安装失败了。所以我放弃了,继续修改磁盘配置,但毫无进展。
我尝试在 UEFI 模式下从 CD 进行启动修复,但没有成功。请注意,我可以在 EFI 和 UEFI 模式下正常启动 Windows。
以下是我采取的步骤:
- 在 BIOS 模式下启动 Ubuntu GNOME 安装程序(禁用快速启动并启用 CSM。)
- 在 GParted 中格式化整个磁盘。
- 配置如下:https://i.stack.imgur.com/d0roG.jpg
第一个 100 MB 分区我标记为“boot”和“esp”。10 MB 分区是 bios_grub。90 MB 空间是为了以防将来需要。
8GB 卷是 SWAP。第一个 250GB 卷是安装 Linux 的地方。它是 EXT4。第二个也是 EXT4,但那里什么都没有安装。其余的是各种 Windows 分区。
将我的磁盘划分为适合 Ubuntu 和 Windows 的各种分区。
以 BIOS 模式启动 Windows 磁盘并安装。
启动 Ubuntu 安装程序并安装。
Grub 安装失败。
这是我最近一次尝试修复启动:http://paste.ubuntu.com/11314742/
如果我没记错的话,这次我尝试手动安装到 SDA1,并将整体引导加载程序安装到 SDA。
我该怎么做?我应该删除所有 Ubuntu 分区并重试吗?
谢谢!
答案1
首先,您的 Windows 安装至少处于 EFI 模式(又称 UEFI 模式;UEFI 只是 EFI 2.x),而不是 BIOS 模式,正如您的问题标题所声称的那样。也就是说,有证据表明存在 BIOS 模式的 Linux 引导加载程序,因此您可能最初在 BIOS 模式下安装了 Linux,或者至少在 BIOS 模式下运行过一次 Boot Repair;但也有证据表明存在 EFI 模式的 Linux 引导加载程序。
第二,你是否禁用了视窗“快速启动”(又称“混合启动”)功能?如果没有,请按照说明进行操作这里。请注意,此功能完全独立来自固件的“快速启动”(或类似名称)功能。Windows 功能可能会导致 Windows 和 Ubuntu 之间共享的分区损坏,包括关键的EFI 系统分区 (ESP),其中包含 EFI 模式引导加载程序。
第三,至少同样重要的是,您的分区表存在问题:
- 您的
/dev/sda1
分区在分区表中被标识为 ESP,但它包含 ext4 文件系统。这很不寻常,几乎是无效的。ESP 通常必须包含 FAT 文件系统。看起来您在设置分区时犯了错误,并将 ESP 重新分配为您的 Linux/boot
分区。 - 您的
/dev/sda7
是 FAT 并且保存通常位于 ESP 上的文件,但被标记为普通 FAT/NTFS 卷。
适当的修复方法是将其重新标记/dev/sda1
为 Linux 分区和/dev/sda7
ESP。您可以使用 GParted 执行此操作,或者parted
从 中删除“启动标志”/dev/sda1
并将“启动标志”添加到/dev/sda7
;或者gdisk
通过将 的类型代码更改为/dev/sda1
8300 并将 更改为/dev/sda7
EF00 来执行此操作。此修复可能不足以将您的系统恢复到可启动状态,但它可能是必要的先决条件,并且对于安全而言肯定是必要的。
至于解决你的问题,后如果您既禁用了快速启动又修复了分区类型代码问题,请尝试重新运行引导修复。请确保以 EFI 模式启动它。当您运行它以生成您显示的输出时,它就是以这种方式启动的。通常,您必须选择在描述中包含“UEFI”的引导选项。
如果启动修复不起作用,请尝试使用我的 USB 闪存驱动器或 CD-R 版本的rEFInd 启动管理器。它应该使您能够启动 Linux 安装,但有一个警告:因为您有一个单独的/boot
分区,所以您可能需要突出显示您的内核,按 F2 或 Insert 两次,然后添加ro root=/dev/sda4
以使其正确启动。 (另一方面,这可能不是必需的;看起来您既有一个内核,/dev/sda4
又有一个单独的/boot
分区。)如果 rEFInd 可以启动您的系统,您可以尝试手动安装 GRUB(使用grub-install
)或安装 rEFInd PPA 或 Debian 包。
另一种选择:您可以尝试重新安装,而不是尝试修复安装。您仍然需要在 Windows 中禁用快速启动,但一旦您这样做了,删除/dev/sda1
,/dev/sda5
修复上的类型代码/dev/sda7
,创建新分区(一个用于/
和一个用于交换应该足够了,但您可以选择创建更多),然后安装。确保在 EFI 模式下启动安装程序;不要尝试 BIOS 模式安装。(进入 shell 并查找目录/sys/firmware/efi
。如果存在,则表示您已在 EFI 模式下启动;如果不存在,则表示您已在 BIOS 模式下启动。)