尝试修复我的 apt-get 升级时,它总是停止在设置 grub-pc...我读到某处说我应该清除 grub2 然后重新安装它。
我这样做了,经过多次付费后,我终于能够将其删除(这不是一个明智的举动)。现在我无法再次安装它。
我正在尝试 sudo apt-get install grub-pc,但它只是停在“设置 grub-pc..”并且什么也不做,因此它不允许我进行任何类型的升级或安装。它要求我 sudo dpkg --configure -a,它再次停在设置 grub-pc
我认为我需要帮助,而且很快就能得到。谢谢,我非常感谢大家在下次重启之前提供的任何帮助,以便让我的系统就绪。
答案1
您有 SuperGrubDisk (http://www.supergrubdisk.org/) 吗?这可以帮助解决问题。如果它与 aptitude 更相关,您是否尝试过类似apt-get update
或 之类的东西apt-get clean
?
答案2
我可以按照以下说明多次恢复 grub:https://wiki.ubuntu.com/Grub2#Recover
首先,你必须从 Live CD 启动系统。然后
“方法 3 - CHROOT
此安装方法使用 chroot 命令来访问损坏的系统的文件。一旦发出 chroot 命令,LiveCD 就会将损坏系统的 / 视为自己的。在 chroot 环境中运行的命令将影响损坏系统的文件系统,而不会影响 LiveCD 的文件系统。
1) 启动 LiveCD 桌面(Ubuntu 9.10 或更高版本)。请注意,Live CD 必须与您正在修复的系统相同 - 32 位或 64 位(如果不是,则 chroot 将失败)。
2) 打开终端 - 应用程序、附件、终端。3) 确定您的正常系统分区 -(开关是小写的“L”)
sudo fdisk -l
如果你不确定,请运行
df-钍查找正确的磁盘大小和 ext3 或 ext4 格式。4
) 挂载您的正常系统分区:
替换正确的分区:sda1、sdb5 等。
sudo mount /dev/sdXX /mnt# 示例:sudo mount /dev/sda1 /mnt
5) 仅当您具有单独的启动分区时:sdYY 是 /boot 分区名称(例如 sdb3)
sudo mount /dev/sdYY /mnt/boot
6)挂载关键虚拟文件系统:
sudo mount --bind /dev /mnt/dev sudo mount --bind /dev/pts /mnt/dev/pts sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys
7)Chroot 到你的正常系统设备:
sudo chroot/mnt
8)如果没有 /boot/grub/grub.cfg 或者不正确,请使用以下命令创建一个
更新 grub
9)重新安装 GRUB 2:
替换正确的设备 - sda、sdb 等。不要指定分区号。
grub-安装/dev/sdX
10)验证安装(使用正确的设备,例如 sda。不要指定分区):
sudo grub-install --recheck /dev/sdX11)退出 chroot:键盘上的 CTRL-D 12)卸载虚拟文件系统:
sudo 卸载 /mnt/dev/pts sudo 卸载 /mnt/dev sudo 卸载 /mnt/proc sudo 卸载 /mnt/sys
13)如果您安装了单独的 /boot 分区:
sudo umount /mnt/boot
14)卸载 LiveCD 的 /usr 目录:
sudo 卸载 /mnt/usr
15)卸载最后一个设备:
sudo 卸载/mnt
16)重新启动。
sudo 重启“
答案3
跑步
chmod -x /etc/grub.d/README
然后再次尝试升级。
答案4
这个问题已经很老了,但我刚刚遇到了这个问题,并且遇到了一个不同的问题:看起来我的分区 UUID 发生了变化,所以我不得不运行
sudo update-grub
这提示我选择要安装 GRUB 的分区,然后它会更新所选分区上的 GRUB 安装(我猜是在此过程中检测到了相应的 UUID)。接下来
sudo dpkg --configure -a
成功运行完成。