在 ubuntu 16.04 上缺少 grub.cfg 文件,而是 menu.lst

在 ubuntu 16.04 上缺少 grub.cfg 文件,而是 menu.lst

想要在实时 ubuntu 会话中永久添加启动参数(pci=nomsi)。

可以通过使用此命令添加它- gksu gedit /etc/default/grub

但系统仍然无法使用这些参数启动。我认为这与没有“grub.cfg”文件有关。

这是我第一次使用 Linux。我完全是个菜鸟,我花了 9 天时间尝试让这个系统正常运行。请指导我解决这个问题。

以前的问题以及我如何到达这里- 1.链接1 2.链接2 3.链接3

答案1

要添加内核参数,您可以编辑文件/etc/default/grub,然后添加内核参数:

sudo nano /etc/default/grub

然后你就会看到类似这一行的内容:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

您必须在内核参数pci=nomsi后添加,然后通过+quiet splash保存更改。Ctrlx

您可以通过以下命令检查更改:

cat /etc/default/grub

更改后你肯定会看到类似这样的内容:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nomsi"

最后一步,您必须通过以下命令应用更改:

sudo update-grub

更新:如果您看到此错误/usr/sbin/grub-probe: error: failed to get canonical path of aufs'.,重新安装和重新映射可能会有所帮助。

因此请执行以下步骤:

第一步,使用以下命令检查您的 Ubuntu 和启动分区:

lsblk

它可能被安装在/boot安装点。

然后启动后活动磁盘/mnt,使用以下命令将 Ubuntu 分区挂载到:

sudo mount /dev/sd*# /mnt

例如:

sudo mount /dev/sda8 /mnt

因此/dev/sd*#被安装到你的 Ubuntu 分区。

如果您有一个单独的/boot分区,您也需要将其安装进去/mnt/boot

sudo mount /dev/sd*# /mnt/boot

例如:

sudo mount /dev/sda2 /mnt/boot

/dev/sd*#您的分区中更新的位置/boot

如果需要的话,这应该可以让它具有足够的访问权限以获取规范路径,但我们可能不需要这样做。

最后,只需使用正确的根和目标更新 grub:

sudo grub-install --root-directory=/mnt /dev/sdX

哪儿/dev/sdX磁盘(不是分区)我们想要 GRUB 的位置。

例如:

sudo grub-install --root-directory=/mnt /dev/sda

你也可以boot-repair使用活动磁盘

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

相关内容