want to add boot parameters(pci=nomsi) permanently on live ubuntu session itself with persistent.

Able to add it through using this command- gksu gedit /etc/default/grub

But system still doesnt start with those parameters. I think its something related to not having "grub.cfg" file.

This is my first ever linux experience. I am complete noobie, i am trying to get this system up and running for 9 days. Please guide me through this problem.

Previous questions and how i get here- 1.link1 2.link2 3.link3

  • Post the link to the Create BootInfo summary report. Is part of Boot-Repair: help.ubuntu.com/community/Boot-Info If somehow you managed to install grub legacy over grub2 that would be the only way to get menu.lst. Boot-Repair's advanced mode as a total uninstall/reinstall of grub2 option. – oldfred May 28 '17 at 14:33
  • yup i have legacy grub insalled – Jason May 28 '17 at 16:16
  • I've updated my answer please check it again – Ali Razmdideh May 30 '17 at 13:17
  • Did you try running Boot-Repair's advanced mode to uninstall grub and reinstall grub2? Then you will have grub.cfg and /etc/default/grub. – oldfred May 30 '17 at 13:48

For add kernel parameters you can editing the /etc/default/grub file and then add your kernel parameters:

sudo nano /etc/default/grub

Then you can see somethings like this line:


You must to add pci=nomsi after quiet splash as kernel parameters and then save the changes by Ctrl+x.

You can check the changes by this command:

cat /etc/default/grub

After changes you must see somethings like this:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nomsi"

And as the last step, you must apply changes by this command:

sudo update-grub

Update: If you see this error /usr/sbin/grub-probe: error: failed to get canonical path of aufs'. , It may be helpful to remounting and remapping.

So do this steps:

As the first step check your Ubuntu and your boot partitions with this command:


It may be mounted at / and boot mountpoints.

Then after booting the live disk, mount the Ubuntu partition to /mnt with this command:

sudo mount /dev/sd*# /mnt

For example:

sudo mount /dev/sda8 /mnt

So /dev/sd*# is mounted to your Ubuntu partition.

If you have a separate /boot partition, you'll need to mount it in /mnt/boot as well:

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

For example:

sudo mount /dev/sda2 /mnt/boot

where /dev/sd*# is updated to your /boot partition.

This should mount it with enough access to get the canonical path if needed, but we'll likely not need this.

To finish up, just update grub with the correct root and target:

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

where /dev/sdX is the disk(not the partition) where we want GRUB.

For example:

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

As an alternative way you can use boot-repair in live disk:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
  • sudo update-grub gives error- /usr/sbin/grub-probe: error: failed to get canonical path of aufs'.` – Jason May 28 '17 at 14:13
  • @Jason I've updated my answer please check it again – Ali Razmdideh May 30 '17 at 13:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.