我在 SATA3 - 750 GB 上安装了 Ubuntu Server 16.04,但第一次尝试没有成功。使用 USB 启动后,Grub2 的控制台已加载,我必须手动加载 Ubuntu。(我还有另一台安装了 Xubuntu 的 HD)
要加载 Ubuntu 服务器,我执行以下操作:
grub> set root=(hd1,msdos5)
grub> linux /install/vmlinuz
grub> initrd /install/initrd.gz
grub> boot
它起作用了,我能够安装 Ubuntu,但是在 grub 上选择选项后,我被冻结在黑屏上,并显示类似的消息:
dev/sdb1: mount, files: XXXXXX, blocks XXXXXXX
我为解决这个问题做了什么:
- 检查 HD 的一致性,未发现错误。
- 当黑屏冻结时,按 Ctrl+Alt+Del 重新启动系统,在关闭之前显示 Ubuntu 图像。
- 我能够在恢复模式下加载和使用操作系统。
- 在恢复中,我执行了所有更新、检查文件系统和其他运行良好的选项。
- grub master 安装在我的 Xubuntu HD 中,因此 grub 的配置文件保存在那里。
我在寻找解决方案时发现了一些观察结果:
我读到 sdb1 可能是无法加载操作系统的原因。
在使用 grub 加载操作系统时,我应该指定根文件系统的位置,否则可能会导致内核崩溃。命令应该是:
grub> linux /install/vmlinuz root=/dev/sda1
我认为问题很简单,操作系统无法找到正确的文件来启动。
我需要一些想法来解决这个问题。
提前致谢!
更新 - update-grub 命令(输出)
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.13.0-37-generic
Found initrd image: /boot/initrd.img-4.13.0-37-generic
Found linux image: /boot/vmlinuz-4.13.0-36-generic
Found initrd image: /boot/initrd.img-4.13.0-36-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Ubuntu 16.04.4 LTS (16.04) on /dev/sdb1
done
答案1
不幸的是,这种问题很难调试(即使是在本地,在网络上更是如此)。通常,您可以尝试启动实时 USB 棒(即,一直启动到操作系统,而不仅仅是 GRUB 提示符)并检查哪个分区被标记为可启动。然后您需要重新配置 GRUB 以指向该分区。完成后,启动应该可以正常工作。