如何修复:Ubuntu 12.04 在加载 elilo 后重新启动

如何修复:Ubuntu 12.04 在加载 elilo 后重新启动

我有一台 HP p6-2120

 CPU: AMD A6-3620 APU with Radeon Graphics
  RAM: 6GB
  BIOS: HO2_710.ROM v7.10 [AMI v7.10 4/19/2012]
  Disk: SATA1 (/dev/sda) - 1 TB (windows)
  Disk: SATA2 (/dev/sdb) - 1 TB partitioned using "parted -a optimal /dev/sdb" as follows:
..    1049KB 201MB FAT32 boot flag set
..    201MB 60GB ext2 (/)
..    68GB 78GB linux-swap(v1) (swap)
..    78GB 790GB ext4 (/home)
..    - rest is "free" space reserved for other purposes (eventually)

  ubuntu: 12.04.1 LTS [specifically: Release 12.04 (precise) 64-bit]
  kernel: linux 3.2.0-29-generic 

我从下载的 ISO(64 位)创建了一个可启动的 EFI USB。我可以从 USB 运行和安装,没有任何问题。

BIOS 是 EFI bios,似乎能够以 EFI 或传统模式启动。最初,我进行了“标准”安装,磁盘 2 上没有任何内容,并让安装程序配置所有内容。这样做的最终结果是,当我启动计算机并强制进入“启动”菜单模式时,它无法将 SATA2 识别为 EFI 驱动器,当我尝试从它进行“传统”启动时,我收到消息“错误:未检测到启动磁盘”。 “标准”安装创建了一个占用整个磁盘的大分区。
此时,我手动对磁盘进行分区(使用 sudo parted -a optimal /dev/sdb),如上所述。我选择了“其他”安装,并将 /dev/sdb1 更改为“bios_grub”,将 /dev/sdb2 更改为“/”(ext4),将 /dev/sdb3 更改为 swap,将 /dev/sdb4 更改为“/home”。 [注意:由于担心 elilo 可能无法识别 ext4,我将 /dev/sdb2 切换为 ext2 并重新安装]

最终结果是安装似乎破坏了 /dev/sdb1 分区,因此任何东西都无法读取它。

我将 /dev/sdb1 重新格式化为 FAT32 并设置启动标志。我重复安装,忽略有关没有 bios_grub 分区的消息。

经过几次尝试让 GRUB2 工作后,我切换到 elilo。我下载了最新版本并将其 (elilo-3.14-ia64.efi) 复制到 /dev/sdb1/efi/boot/bootx64.efi。 (BIOS 引导加载程序无法将其识别为 elilo-3.14.ia64.efi 或 elilo.efi。根据我在其中一个网页上找到的建议,我将其重命名为 bootx64.efi。这有效。)

在同一个目录 (/efi/boot) 中,我将指向 /dev/sdb2/vmlinuz 中的链接的文件复制到 /efi/boot/vmlinuz,将指向 /dev/sdb2/initrd.img 中的链接的文件复制到 /efi/boot/initrd.img。我创建了一个 elilo.conf 文件,如下所示:

timeout=5000
prompt
default=linux-boot
image=vmlinuz
  label=linux-boot
  read-only
  initrd=initrd.img
  root=/dev/sdb2

The /efi/boot directory contains 4 files:
bootx64.efi
elilo.conf
vmlinuz
initrd.img

当我关闭电脑电源并强制启动菜单时,drive2 显示为 EFI 可启动驱动器。当我选择它时,我得到了 elilo 提示符。按下 ,它似乎加载了内核(我尝试使用 verbose=5,并且会出现一长串消息,最后一条是加载内核的命令行,还有一连串飞过的点),然后屏幕变黑,然后重新启动电脑。[注意:我还尝试用已安装系统的 /etc/fstab 中的 UUID 替换根目录。这没有效果。]

这是几个晚上摆弄它的简要总结。我将非常感激您能提供的任何帮助。

答案1

我一直在问所有我认识的人问题可能是什么。

一位朋友(系统管理员)指出,尽管我一直从 EFI 磁盘启动安装,但 ubuntu 安装程序似乎没有检测到这一点,并希望将其安装为传统风格的设备。

他建议将磁盘重新初始化为 MBR(而不是 GPT),然后尝试以这种方式安装。

我将 /dev/sdb 重新初始化为 MBR 磁盘,
我使用 EFI 加载程序启动安装磁盘并进行了标准安装(保留 Windows,安装 Ubuntu,没什么特别的)。它安装并运行良好!

结论:即使您有 EFI 系统,如果 Ubuntu 安装程序想要以传统模式安装,请满足它的要求!

相关内容