![grub 和 grub2 似乎在启动时按顺序运行](https://linux22.com/image/988605/grub%20%E5%92%8C%20grub2%20%E4%BC%BC%E4%B9%8E%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E6%8C%89%E9%A1%BA%E5%BA%8F%E8%BF%90%E8%A1%8C.png)
最近,我使用 clonezilla 和 parted magic 将我的 Ubuntu 安装从一个驱动器克隆到另一个驱动器。似乎 clonezilla 已将其自己的引导加载程序放入目标驱动器中。
在克隆之前,我的计算机可以快速启动到 Ubuntu,没有任何 grub 或 grub2 启动画面。
现在,当我启动时,首先我看到一个黑色的启动画面:
然后,它立即进入正常的紫色 grub2 启动画面:
我最初的猜测是,不知何故我最终同时拥有 grub 和 grub2 引导程序!我想知道如何摆脱第一个,因为我现在使用第二个,有时也会选择在 Windows 中启动。
另外,我该如何处理 grub 的错误消息?我希望可以摆脱第一个,因为它会延迟我的启动时间大约 5 秒。
如果有用的话,这是我的“fdisk -l”结果!
Disk /dev/mmcblk0: 8052 MB, 8052015104 bytes
255 heads, 63 sectors/track, 978 cylinders, total 15726592 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4f20b187
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 2048 15726591 7862272 b W95 FAT32
Disk /dev/sda: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00076d7a
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 458702847 229350400 83 Linux
/dev/sda2 458702848 468860927 5079040 82 Linux swap / Solaris
Disk /dev/sdb: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x5a82a995
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 1026047 512000 7 HPFS/NTFS/exFAT
/dev/sdb2 1026048 234438655 116706304 7 HPFS/NTFS/exFAT
答案1
方法 A
我不知道这是否能解决你的问题,但你可以给它想要的东西。首先,看看你的系统上有哪些语言环境文件:
cd /
locate grub.mo
我的输出如下:
/usr/share/locale-langpack/en_AU/LC_MESSAGES/grub.mo
/usr/share/locale-langpack/en_CA/LC_MESSAGES/grub.mo
/usr/share/locale-langpack/en_GB/LC_MESSAGES/grub.mo
/usr/share/locale-langpack/ro/LC_MESSAGES/grub.mo
基本上,获取其中一个文件(您感兴趣的文件),将其压缩gz
并复制到boot
GRUB 文件夹中。
sudo cp /usr/share/locale-langpack/en_GB/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
现在,根据这一主张,GRUB 首先查找mo
文件,如果没有,则查找经过 gzip 压缩的文件。所以这应该足以解决您的问题。但为了完全确定,请执行以下操作:
gzip /boot/grub/locale/en.mo
而且你肯定没有同时安装 Grub 和 Grub2。这只是一个错误消息,告诉你 Grub 缺少本地化文件。
方法 B
尝试从正在运行的操作系统重新安装 Grub。无需启动实时介质。
sudo apt-get install grub-pc-bin
sudo grub-install /dev/sda
sudo update-grub
这仅适用于默认的 Grub MBR 安装!
答案2
将 GRUB 引导加载程序重新安装到磁盘。
主引导记录将被覆盖。
即使可以通过正在运行的操作系统来完成,
我也建议通过 Live 媒体来完成。
首先拔掉/dev/mmcblk0
设备插头。
从 Ubuntu 安装媒体启动。
选择“无需安装即可试用 Ubuntu”。
在 Live 桌面上打开终端。
执行以下命令:
sudo mount /dev/sda1 /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sda
注意:sda
= 磁盘 | sda1
= 系统分区