我有一台笔记本电脑,其中 BIOS(传统模式)安装了 Ubuntu 14.04。
sudo dmidecode
BIOS Information
Vendor: Dell Inc.
Version: A16
Release Date: 12/05/2013
...
System Information
Manufacturer: Dell Inc.
Product Name: Latitude E6410
我没有升级,而是尝试在 UEFI 模式下安装新的 Xubuntu 16.04。
将 BIOS 启动从 Legacy 切换到 UEFI,并禁用 SATA 的 RAID。
(SoftRAID/FakeRAID 破坏 GPT 表备份在磁盘末尾,每次启动时)
在 UEFI 模式下使用 USB 密钥启动并调整分区表大小并将其从 MBR 转换为 GPT。
- 在 UEFI 模式下使用 USB 密钥再次启动并安装 Xubuntu。创建了一个新的启动 EFI(FAT32)分区。
重新启动时,UEFI 菜单中有一个 Ubuntu 条目,但选择它会引发有关没有启动媒体的 BIOS 错误消息。
尝试了多种方法但没有成功:
- 启动修复。
- 将 EFI 分区更改为 FAT16。
- 重新安装了 Xubuntu。
sudo sfdisk -d /dev/sda
label: gpt
label-id: 4A4481B5-0322-411E-8D05-552FBE6189AC
device: /dev/sda
unit: sectors
first-lba: 34
last-lba: 976773134
/dev/sda1 : start= 4194304, size= 127924224, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=F1D50A87-ACB2-4868-B1EA-66C3D5223EA4, name="Linux filesystem"
/dev/sda2 : start= 874115072, size= 98463744, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=C96E6320-18EA-40B2-BA46-79FC66407917, name="Linux filesystem"
/dev/sda4 : start= 2048, size= 409600, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, uuid=BCB6E471-44F7-4C42-81EC-B276F1D6B6E6, name="EFI"
/dev/sda5 : start= 154339328, size= 715456512, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=AEBBA3F2-F8B6-40C0-ABFE-9F530FC5F641, name="Linux filesystem"
/dev/sda6 : start= 136513536, size= 17825792, type=0657FD6D-A4AB-43C4-84E5-0933C84B4F4F, uuid=515C9B77-B282-4007-8F1A-B0C5D908591E, name="Linux swap"
答案1
最后,我终于让它在 UEFI 中启动了。问题出在 UEFI 固件上,它似乎有问题。它确实要求 EFI 分区是 GPT 表中的第一个分区。GPT 表中的分区条目是无序的。(EFI 是磁盘上的第一个分区,但在表中排在第 4 位)。
我按照以下说明修复了该问题:
- 使用 Live USB 启动
备份 GPT 表
sudo su swapoff sfdisk -d /dev/sda > sda.bkp
修改新表并按新顺序排列(EFI 为第一个)
cp sda.bkp sda.new nano sda.new
sda.new
label: gpt label-id: 4A4481B5-0322-411E-8D05-552FBE6189AC device: /dev/sda unit: sectors first-lba: 34 last-lba: 976773134 /dev/sda1 : start= 2048, size= 409600, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, uuid=BCB6E471-44F7-4C42-81EC-B276F1D6B6E6, name="EFI" /dev/sda2 : start= 4194304, size= 127924224, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=F1D50A87-ACB2-4868-B1EA-66C3D5223EA4, name="Linux filesystem" /dev/sda5 : start= 136513536, size= 17825792, type=0657FD6D-A4AB-43C4-84E5-0933C84B4F4F, uuid=515C9B77-B282-4007-8F1A-B0C5D908591E, name="Linux swap" /dev/sda6 : start= 154339328, size= 715456512, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=AEBBA3F2-F8B6-40C0-ABFE-9F530FC5F641, name="Linux filesystem" /dev/sda4 : start= 874115072, size= 98463744, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=C96E6320-18EA-40B2-BA46-79FC66407917, name="Linux filesystem"
恢复 GPT 表
sfdisk /dev/sda < sda.new
现在我可以启动了。
参考:
- 将分区号从 sda1 更改为 sda2
- 如何对已卸载的磁盘上的 GPT 分区重新编号?(更简单但我没有尝试)