背景:
我使用 Ubuntu MATE 已有一年多了。我最初安装的是 16.04 LTS,今年升级到了 18.04 LTS,没有任何问题。一切都很顺利。
问题:
我决定将联想 V570 中的 HDD 升级为 SSD。每次启动计算机时,我都会进入 GRUB 提示符。即使我手动选择从 SSD 启动。我发现这个帖子- 除了我的情况外,我没有看到 grub 救援提示,而是看到 grub 提示符。
所以现在,我总是必须在 GRUB 提示符下运行以下命令,每次我启动计算机时,但至少我取得了一些进步!我按照这篇文章解释了为什么以及如何删除 MBR。)
grub> root=(hd0,gpt2)
grub> configfile /boot/grub/grub.cf
启动系统后,我执行了此操作,但问题仍然存在:
$ sudo grub-install /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.
$ sudo 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.15.0-23-generic
Found initrd image: /boot/initrd.img-4.15.0-23-generic
Found linux image: /boot/vmlinuz-4.15.0-20-generic
Found initrd image: /boot/initrd.img-4.15.0-20-generic
done
引用通告:在 Ubuntu-MATE 官方社区发帖
答案1
我仍然不知道根本原因,但偶然GRUB2 使用默认的 /etc/default/grub 文件升级,重启后解决了此问题。[细节]
这是我用来更新/升级计算机上的软件包的脚本,它为我解决了所有问题。
#!/bin/bash
apt-get -y update
apt -y upgrade
apt -y dist-upgrade
apt -y clean
apt -y purge -y $(dpkg -l | awk '/^rc/ { print $2 }')
apt -y dist-upgrade --auto-remove --purge
apt -y autoremove
apt autoclean
请注意,此脚本只是更新,并没有真正解决我遇到的特定问题。巧合的是,有一个针对 GRUB2 的更新,我有机会在以下提示中用默认值重置我的 grub 文件。
A new version of configuration file /etc/default/grub is available, but the version installed currently has been locally modified.
│ What do you want to do about modified configuration file grub? │
│ │
│ install the package maintainer's version │
│ keep the local version currently installed │
│ show the differences between the versions │
│ show a side-by-side difference between the versions │
│ show a 3-way difference between available versions │
│ do a 3-way merge between available versions (experimental) │
│ start a new shell to examine the situation │
我选择了选项#1。