10

Im searching for grub.conf file in CentOS 7. I cant find it with locate(I called updatedb before). Where does it stores?

In older versions of CentOS I could find it.

22

CentOS7 is using grub2 and the generated /boot/grub2/grub.cfg rather than the old grub.conf format, which is why you can't find it. The new grub.cfg file is not intended for direct editing, instead you need to modify the source files that are used to generate it.

The files in question are /etc/default/grub and the scripts in /etc/grub.d/. In particular, if you are looking to add your own custom entries, then you will want to append a boot stanza to /etc/grub.d/40_custom. The stanza will look something like this:

menuentry "My custom boot entry" {
        set root=(hd0,1)
        linux /vmlinuz-3.11-custom
        initrd /initrd-plymouth.img
    }

You can add the usual options to the linux line to pass in custom options to the kernel. Once you have everything looking the way you want it to, you run:

grub2-mkconfig --output=/boot/grub2/grub.cfg

Then, if you want to alter the default boot entry, you change the GRUB_DEFAULT option in /etc/default/grub to point to the new stanza you added, by zero indexed position or by name (I prefer name), something like this:

GRUB_DEFAULT="My custom boot entry"
| improve this answer | |
  • 2
    I was trying to revert from a custom kernel to stock and this answer was extremely useful in that process. If you have a machine which came with a custom kernel, such as OVH servers, "yum install kernel" will create the necessary files in /etc/grub.d/ and you will just need to run grub2-mkconfig and change GRUB_DEFAULT to get back to a stock kernel. – eseglem Nov 21 '14 at 22:29
  • 4
    If you use UEFI, it's at /boot/efi/EFI/redhat/grub.cfg – sjas Jun 15 '15 at 21:03
  • nano /etc/grub.d/40_custom && grub2-mkconfig -o /boot/grub2/grub.cfg && grub2-reboot 4 && reboot [My favorite part of editing grub, is manually specifying the reboot to entry 4 temporarily, then having it reboot to a rescue iso, then when I reboot the liveISO it reboots back to default entry, aka the OS] – FreeSoftwareServers Jul 1 '16 at 21:20
  • also with CentOS 7 i found I had to use (hd0,msdos3) aka /dev/sda3 vs (hd0,2) – FreeSoftwareServers Jul 1 '16 at 21:42
  • 1
    Note @sjas is correct except in this specific case it's centos, not redhat, so the path is /boot/efi/EFI/centos/grub.cfg – Chuck Claunch Mar 31 '17 at 16:26
1

Try with following command:

find / -type f -name "grub.conf"

You can find any other file name you want by replace it to grub.conf.

| improve this answer | |
  • This is teaching how to fish, instead of handing out fish. No need to downvote. – sjas Jun 15 '15 at 21:04
  • 1
    @sjas: except that the file might be called grub.cfg so it taught how to fish but not very well. (N.B I'm not the down voter). – dave Mar 30 '17 at 23:50

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.