GRUB2 Editor

A KDE Control Module for configuring the GRUB2 bootloader.

Smoothly integrated in KDE System Settings, it is the central place for managing your GRUB2 configuration. Supports many GRUB2 configuration options, most notably:

  • Manage default boot entry
  • Manage boot timeout
  • Manage boot resolutions
  • Manage boot menu colors
  • Manage boot menu theme
  • Manage linux kernel arguments
  • Save and update the configuration files of GRUB2

Extra features include:

  • Recover GRUB2
  • Remove old entries
  • Create and preview GRUB2 splash images

Related Blog: http://ksmanis.wordpress.com/category/grub2-editor/

SourceForge Page: https://sourceforge.net/projects/kcm-grub2/

KDE-Apps.org Page: http://kde-apps.org/content/show.php?content=139643

KDE Extragear Page: https://projects.kde.org/projects/extragear/sysadmin/kcm-grub2

36 thoughts on “GRUB2 Editor

  1. I’ve been looking for something like this since moving to Fedora 16. Because the default boot loader configuration no longer works since Fedora made the move to grub2.
    Only problem is, is that it will not install on x86_64 systems because of a file conflict between an i686 file and an x86_64 file. Here’s the error:
    Test Transaction Errors: file /usr/share/ImageMagick-6.7.1/configure.xml from install of ImageMagick-6.7.1.9-3.fc17.i686 conflicts with file from package
    ImageMagick-6.7.1.9-3.fc17.x86_64

    So what can I do to get this working?

  2. I have packaged kcm-grub2 and installed, runned systemsettings but i dont see there any new entry to edit grub entries?

  3. Yes i see it now, but if i run as regular user than outputs:
    No valid GRUB2/BURG instalation could be detected!

    It only appears if running systemsettings as root, and it should appear as regular user and if there were some changes ask for root password.

  4. I’m running KDE 4.8.3 in Gentoo. I have kcm-grub2 0.5.5 installed:

    # eix -I kcm-grub2
    [I] kde-misc/kcm-grub2
    Available versions: (4) (~)0.5.0 (~)0.5.5
    {{aqua +hwinfo imagemagick linguas_ca linguas_cs linguas_da linguas_de linguas_el linguas_es linguas_et linguas_fr linguas_ga linguas_hu linguas_lt linguas_nl linguas_pa linguas_pl linguas_pt linguas_pt_BR linguas_ru linguas_sv linguas_uk linguas_zh_TW packagekit}}
    Installed versions: 0.5.5(4)(13:20:02 17/06/12)(hwinfo linguas_pt_BR -aqua -imagemagick -linguas_ca -linguas_cs -linguas_da -linguas_de -linguas_el -linguas_es -linguas_et -linguas_fr -linguas_ga -linguas_hu -linguas_lt -linguas_nl -linguas_pa -linguas_pl -linguas_pt -linguas_ru -linguas_sv -linguas_uk -linguas_zh_TW -packagekit)
    Homepage: http://kde-apps.org/content/show.php?content=139643
    Description: KCModule for configuring the GRUB2 bootloader.

    I have the following executables:

    # ls -1 /sbin/grub*
    /sbin/grub2-install
    /sbin/grub2-mkconfig
    /sbin/grub2-mkdevicemap
    /sbin/grub2-mknetdir
    /sbin/grub2-probe
    /sbin/grub2-reboot
    /sbin/grub2-set-default
    /sbin/grub2-setup

    I set System Settings (System Administration) > Login Screen | Shutdown | Boot manager to be Grub2

    System Settings (System Administration) > Startup and Shutdown > GRUB2 Bootloader displays the error message “No valid GRUB2/BURG installation could be detected!”.

    System Settings (Lost and found) GRUB Editor prompts me for the root password and, when I enter it, System Settings crashes.

    Based on your post of April 5, 2012 on the KDE-Apps.org page for kcm-grub2, I tried the following (N.B. the files are in /sbin/, not /usr/sbin/):

    ln -s /sbin/grub2-install /usr/bin/grub2-install
    ln -s /sbin/grub2-mkconfig /usr/bin/grub2-mkconfig
    ln -s /sbin/grub2-probe /usr/bin/grub2-probe
    ln -s /sbin/grub2-set-default /usr/bin/grub2-set-default

    but that made no difference.

    How can I get kcm-grub2 to work? Thanks in advance for your help.

    • Save this patch (use the “Raw code” link top right to copy-paste it in a text editor) in /etc/portage/patches/kde-misc/kcm-grub2/50fb447.patch and re-emerge kcm-grub2. It will forward you from v0.5.5 to the current git HEAD (where the issue is resolved). Of course as soon as a new version rolls out, remove the patch or else it won’t emerge. I expect to make a new release soon though, because many distributions have outdated packages.

      Edit: Btw, I tried soft-linking and it works here with v0.5.5 (also using Gentoo). Dunno why it won’t work for you.. My GRUB executables are under /usr/sbin because I use version 2.00_beta6, I think. Perhaps you have a different version?

    • Please post the contents of /var/tmp/portage/kde-misc/kcm-grub2-0.5.5/temp/50fb447.patch.out

      Edit: I tried compiling with the same USE flags as you (hwinfo, linguas_pt_BR) and it compiles fine with the patch.

          • That second patch you posted enabled kcm-grub2 to merge. I can now access System Settings (System Administration) > Startup and Shutdown > GRUB2 Bootloader.

            However, when I try to apply any change (after entering the root user’s password in a pop-up window which opens behind the System Settings window and I have to bring to the front manually) a pop-up window opens displaying the error message:

            “Failed to save GRUB settings. DBus Backend error: could not contact the helper. Connection error: . Message error: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.”

            Any suggestions?

            (By the way, my grub.cfg file is in the directory /boot/grub/, not in the directory /boot/grub2/. Does kcm-grub2 cater for grub.cfg being in a directory other than the /boot/grub2/ directory?)

            ευχαριστώ πάρα πολύ.

            • Yeah, upgrade, reboot and see if the problems persist. Also post the results of “equery l *polkit*” to see which policykit-related packages you have installed. In Gentoo the GRUB executables follow the grub2-xxxxxx naming scheme so your boot directory should also be /boot/grub2/.

              • Here is the output from the equery command:

                # equery l *polkit*
                * Searching for *polkit* …
                [IP-] [ ] gnome-extra/polkit-gnome-0.105:0
                [IP-] [ ] kde-misc/polkit-kde-kcmodules-0.98_pre20101127:4
                [IP-] [ ] sys-auth/polkit-0.105:0
                [IP-] [ ] sys-auth/polkit-kde-agent-0.99.0:4
                [IP-] [ ] sys-auth/polkit-qt-0.103.0:0

                Regarding the location of grub.cfg, I thought the location is up to the user? Even in Gentoo, I thought it is not mandatory to have it in /boot/grub2/? If the location of the grub.cfg file is a parameter of e.g. grub2-mkconfig, then presumably it is not mandatory?

                I’ll try to merge grub-2.00_beta6 now. Then should I re-merge kcm-grub2 with the first patch you posted, or is the second patch you posted still applicable in the case of grub-2.00_beta6?

                • The second patch is the same as the first one with the only difference that it was generated using the ‘–no-prefix’ option (‘man git-diff’ for explanations – it is related to the -p0 or -p1 option of the patch utility).

                  grub.cfg’s location is determined by the boot directory, which in turn is determined by the user upon GRUB’s installation. After you emerge GRUB 2.00_beta6, you will have to run a command like this: ‘grub2-install –boot-directory=/boot/ /dev/sda’ in order to install GRUB2 in your MBR(=Master Boot Record) and create a GRUB2 directory structure under /boot/. Gentoo’s executables are defined to create a /boot/grub2 subdirectory; it is a compile-time option I think.

                  • Well, grub-2.00_beta6 merged OK and I rebooted, but I still get the same pop-up window error message:

                    “Failed to save GRUB settings. DBus Backend error: could not contact the helper. Connection error: . Message error: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.”

                    Also, the output from the command equery l *polkit* is the same as the output I posted earlier before merging grub-2.00_beta6.

                    I don’t have GRUB 2 installed in my MBR. I have the Windows bootloader installed in the MBR and it chainloads GRUB 2 which is installed in my boot partition (/dev/sda3). When I installed GRUB 2 a couple of years ago using the grub-install command (not the grub2-install command), I specified the boot partition /dev/sda3 (the directory /boot on my machine is in its own partition), not the MBR. The images are installed in /boot/grub/, not /boot/grub2/. I currently also have grub.cfg in /boot/grub/ and that works too.

                    But now I’m confused! You have explained to me that Gentoo’s grub2-install command insists on grub.cfg being in a sub-directory ./grub2/ and the user cannot specify that it is in a sub-directory ./grub/. Indeed, that is what ‘man grub2-install’ in Gentoo tells me too:

                    ” –boot-directory=DIR
                    install GRUB images under the directory DIR/grub2 instead of the /boot/grub2 directory”

                    which seems unecessarily restrictive. Anyway, in that case I assume that I will now have to use the following commands:

                    grub2-install /dev/sda3
                    grub2-mkconfig -o /boot/grub2/grub.cfg

                    which would mean I will get the GRUB 2 images and the file grub.cfg installed in the /boot/grub2/ directory. I’m going to try that, and have my fingers crossed that my machine will still boot after making the change from /boot/grub/ to /boot/grub2/.

                    But I assume that still does not explain the DBus error message, though?

                    • After mounting your boot partition, do ‘grub2-install –boot-directory=/boot/ –force /dev/sda3′. Please note that ‘–force’ is advised when installing on a partition. The ‘–boot-directory’ is not necessary I think, but it wouldn’t hurt to be more explicit. When you reboot, you should see a “beta6″ at the top of the GRUB menu.

                      The DBus error is not explained, indeed, and it is not an application-produced error message. Something’s wrong with DBus/PolicyKit.

                      Other than that, you got everything else right :-)

                    • I entered the following commands:

                      mount /dev/sda3 /boot
                      cp /boot/grub/splash.png /boot/grub2/
                      grub2-install –boot-directory=/boot/ –force /dev/sda3
                      grub2-mkconfig -o /boot/grub2/grub.cfg

                      Unfortunately it still shows “1.99″ at the top of the GRUB 2 menu, and my boot splash picture no longer appears.

                      Anyway, I’ll try to work out why it didn’t work, as I’ve troubled you enough already. Thanks for your replies..

                    • I read most of your (quite lengthy tbh) thread and blog post and I have to say, you went through quite an adventure there ;-) By the way, you motivated me to make a new small release with the fixes included (the patch I sent you). Glad everything worked out, let me know if anything else goes amiss.

  5. I installed this in Xubuntu 12 but I can not find the app anywhere in the menus. I rebooted the box and still no change. No errors during the install and I even reinstalled it via the Ubuntu Software Center

    • It is located in KDE’s System Settings (‘Startup and Shutdown > GRUB2 Bootloader’). You can also manually invoke it by typing “kcmshell4 kcm_grub2″. In KDE, searching in KRunner for grub will also produce a result.

      • Thanks. I had to install the KDE Desktop as Xubuntu was using a different one. I have a machine with Xubuntu as well as Mint installed. The latter needs to have noapic and nomodeset as params. When I launch this app inside of Xubuntu and go to Advanced it shows quiet splash noapic nomodeset. It does not matter which entry from the pulldown on the General tab I select, even Mint these params are showing up on the Advanced tab. Is there no way of the app showing what a particular entry has in Grub and modifying that item alone?

        • No, it’s a GRUB2 limitation, you would have to manually create an entry in /etc/grub.d/40_custom. The Xubuntu/Mint entries are automatically generated by scripts (located in /etc/grub.d/).

  6. Downloaded the latest package (“kcm-grub2_0.5.8-3_amd64.deb”) from http://sourceforge.net/. But while trying to install it in my 64-bit Mint 13 edition, got the following error:
    —————————————————————————————————————–
    # dpkg -i Downloads/kcm-grub2_0.5.8-3_amd64.deb
    (Reading database … 210894 files and directories currently installed.)
    Unpacking kcm-grub2 (from …/kcm-grub2_0.5.8-3_amd64.deb) …
    dpkg: error processing Downloads/kcm-grub2_0.5.8-3_amd64.deb (–install):
    trying to overwrite ‘/etc/dbus-1/system.d/org.kde.kcontrol.kcmgrub2.conf’, which is also in package kde-config-grub2 0.5.0-0ubuntu3
    dpkg-deb (subprocess): subprocess data was killed by signal (Broken pipe)
    dpkg-deb: error: subprocess returned error exit status 2
    Errors were encountered while processing:
    Downloads/kcm-grub2_0.5.8-3_amd64.deb
    —————————————————————————————————————–

  7. Trying to install kcm-grub2_0.5.8-3_amd64.deb i always get an error message: Abhängigkeit nicht erfüllbar: libc6 (>=2.14) My libc6 is version 2.11 and there is no newer one for debian. My debian version is squeeze 6.0.6 and my platform is 64 bit amd. Please help….
    thank you in advance, jayveeone

    • First of all let me inform you that all packages I provide are built using the openSUSE Build Service.

      Due to legal restrictions, the openSUSE Build Service allows Ubuntu packages to have dependencies only from the core repository. In Ubuntu Quantal, the dependency that allows removing old kernels (libqapt-dev) was moved from core to universe so the Quantal packages do not provide the option to remove old kernels. Only a hand-made package can provide this. So poke your distro’s developer to package the latest version because as I see only up to version 0.5.0 is available in the Quantal repositories. The same applies for the Debian 6 package.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s