GRUB nomodeset 和死机紫屏

GRUB nomodeset 和死机紫屏

我在 Macbookpro 上安装有 Ubuntu 16.04。

我通过编辑文件/etc/default/grub并添加nomodeset和更改了我的 GRUB 设置acpi_backlight=vendor

重启后,我被卡在了紫色屏幕上,什么都做不了。我设法通过按 shift + 访问了 GRUB shell ESC,但从这里我无法理解如何恢复设置文件,因为我无法使用 nano、vim 或 vi。

通过使用可启动的 Ubuntu USB,我可以编辑设置文件,但无法运行

update-grub

我明白了failed to get canonical path of /cow

我怎样才能告诉 GRUB 使用来自 GRUB shell 的新更新的文件?!

答案1

出现该错误的原因是,当您处于实时会话中时,您没有与已安装的系统进行交互,因此您无法以通常的方式进行此类更改。

但是,你可以 chroot 到你的安装中来更新 grub,如这个答案

您需要知道根分区和启动分区的名称。如果您需要查找,请使用 gparted 或使用

sudo blkid

和/或

sudo fdisk -l

假设您的根分区是显示的最大分区type=ext4(我们稍后会检查)。您的启动分区应显示type=vfatfat32 或标记为启动分区。如果您没有启动分区,则无需挂载它。

现在挂载分区。这里我假设您标识的分区dev/sda1用于启动和dev/sda2根。根据需要替换名称。

sudo mount /dev/sda2 /mnt

现在检查你是否得到了正确的分区

ls /mnt

如果您看到了您期望找到的内容,/例如 lib etc bin sys var proc...那么您就做对了,所以继续:

sudo mount /dev/sda1 /mnt/boot
sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc

现在将挂载的分区更改为根目录:

sudo chroot /mnt

现在像之前一样编辑/etc/default/grub以删除您添加的那些参数。现在您可以

sudo update-grub

exit
sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot
sudo umount /mnt

然后重新启动!

相关内容