grub 和 grub2 似乎在启动时按顺序运行

grub 和 grub2 似乎在启动时按顺序运行

最近,我使用 clonezilla 和 parted magic 将我的 Ubuntu 安装从一个驱动器克隆到另一个驱动器。似乎 clonezilla 已将其自己的引导加载程序放入目标驱动器中。

在克隆之前,我的计算机可以快速启动到 Ubuntu,没有任何 grub 或 grub2 启动画面。

现在,当我启动时,首先我看到一个黑色的启动画面:

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并复制到bootGRUB 文件夹中。

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= 系统分区

相关内容