几天前我刚买了一台新的 HP ProLiant MicroServer Gen8,从那时起就一直尝试在其上安装 Ubuntu Server 14.04LTS,但我遇到了安装后无法启动的问题。
我试图将标准 14.04LTS iso 添加到插入内部 USB 端口的 USB 棒上。安装开始并顺利完成,但重启后我进入 grub 救援 shell。
在安装过程中,我的源驱动器位于 /dev/sda,目标驱动器位于 /dev/sdb。我尝试了不同的磁盘设置:
- 使用 LVM 进行引导分区
- 不使用 LVM 的引导分区
- 一个 24GiB ext4 标记为可启动分区在 '/' 处和一个 8GiB 交换分区(按此顺序)
- 一个 1GiB ext4 标记为可启动在 '/boot/',一个 23GiB ext4 在 '/' 和一个 8 GiB 交换(按此顺序)
当它提示我在哪里安装 grub 时,我尝试了 /dev/sdb(因此它安装到 MBR)和 /dev/sdb1(因此它安装到分区)至少最后两个选项。
当我将 grub 安装到磁盘时,它根本无法启动(我后来读到将 grub 安装到分区是为了链式加载,所以我想这是可以预料到的)。如果我将它安装到 MBR,我会进入“grub 救援”shell。从这个 shell,我可以看到以下内容(我根据在单个 24GiB 系统分区上尝试的设置写下了这段记忆):
> ls
(hd0) (hd0,msdos1)
> ls (hd0)
(hd0): Filesystem is unknown
> ls (hd0,msdos1)
(hd0,msdos1): Filesystem is ext2
> ls (hd0,msdos1)/boot
error: attempt to read or write outside of disk 'hd0'
> ls /
[file list that looks like the root of a linux install]
> ls /boot
[file list that looks like the boot dir of a linux install, including grub folder, kernel and initial ramdisk]
> insmod normal
error: attempt to read or write outside of disk 'hd0'
> normal
'normal': command not found
> linux /boot/vmlinuz[kernel version goes here]
'linux': command not found
这就是我陷入困境的地方......
我究竟做错了什么?
答案1
通过从 iLO 虚拟媒体(使用 HP 提供的免费 iLO Essentails 试用版)运行 Ubuntu Desktop live iso 并运行启动修复,刚刚解决了这个问题。
有点奇怪,它开箱后不能工作,但是,嘿,至少它现在可以工作了。
答案2
我的朋友在安装 OpenMediaVault 和 Debian 7.0 时遇到了同样的问题,尝试在 /dev/sda(第一个 SATA MBR)上安装 GRUB 时失败。
我认为这可能与 debian 安装程序有关。要求他升级 BIOS,然后尝试chroot
进入不完整的安装并再次手动安装 GRUB。尚未收到他的回复,稍后将更新更多详细信息。