Rename boot option from "recovery mode" to "safe mode" in GRUB menu

Bug #1240360 reported by Bin Li on 2013-10-16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OEM Priority Project
Ara Pulido
grub2 (Ubuntu)
Colin Watson
Colin Watson

Bug Description

SRU justification:

[Impact] Customer request to allow renaming the "recovery mode" boot option.
[Test Case] Set GRUB_RECOVERY_TITLE to something other than "recovery mode" in an /etc/default/grub.d/*.cfg file, run update-grub, and make sure that it takes effect.
[Regression Potential] Not much; just make sure that the defaults remain the same without setting GRUB_RECOVERY_TITLE.

Original report follows:

This is a request from OEM.

OEM request to rename the boot option from "recovery mode" to "safe mode" in GRUB menu.

It's more sensible for user.

Bin Li (binli) on 2013-10-16
no longer affects: grub
Bin Li (binli) wrote :

I made a patch for this issue.

Define GRUB_RECOVERY_MODE_RENAME_SAFE_MODE in /etc/default/grub, when it's "true", it will rename to "safe mode"

The attachment "rename_recovery_mode.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Phillip Susi (psusi) wrote :

I'm not sure why the word "safe" makes any more sense; there isn't anything safe about it.

Jason Yen (jasonyen) on 2013-10-22
Changed in oem-priority:
importance: Undecided → High
Ara Pulido (ara) wrote :

Safe mode is a standard:

In any case, the patch just allows to change it based on a grub config

Ara Pulido (ara) wrote :

We need this patch in precise

Phillip Susi (psusi) wrote :

It isn't a standard; it is just something Windows does, and it has a specific meaning: don't auto run non essential software, but otherwise you get a normal desktop. That is not at all the same thing as recovery mode, which gives you a text menu allowing you to fsck the root filesystem or drop to a root shell with the root filesystem still mounted read-only.

I think that trying to use Microsoft terms for things that are at best, vaguely similar, just for the sake of sounding familiar to Windows users is a mistake, but that's just my opinion.

Steve Langasek (vorlon) on 2013-11-15
Changed in grub2 (Ubuntu):
assignee: nobody → Colin Watson (cjwatson)
Changed in grub2 (Ubuntu Precise):
assignee: nobody → Colin Watson (cjwatson)
Colin Watson (cjwatson) wrote :

I'm afraid I'm not at all happy with this patch, for the following reasons:

 1) I tend to agree with Phillip that the meaning is sufficiently different that it's misleading; "standard" names tend to come with expectations of standard user interfaces, standard facilities provided, etc. which aren't going to be satisfiable here.
 2) Introducing new distribution-specific configuration keys has to be done with great care in general, and this name is particularly verbose.
 3) Changing /etc/default/grub may well result in configuration file prompts for many people on upgrade; I avoid it wherever possible.
 4) What do we do when the next customer comes along with a similar but different requirement? We can't carry on stacking yes-or-no configuration options on top of each other.
 5) It isn't complete; there are mentions of "recovery mode" elsewhere, and the new variable isn't documented in the info documentation.

That said, I understand that this is a customer requirement so it looks like I don't have much option but to add a distribution-specific key. I think the least bad option here is to add a GRUB_RECOVERY_TITLE option, so you can set GRUB_RECOVERY_TITLE="safe mode"; that avoids the potential problem of stacking different options, and doesn't assign any particular credit to the name that the customer wants to use here. I'll take care of doing that and of making sure that the patch is complete.

Colin Watson (cjwatson) wrote :
Changed in grub2 (Ubuntu):
status: New → Fix Committed
importance: Undecided → Medium
Changed in grub2 (Ubuntu Precise):
importance: Undecided → Medium
milestone: none → ubuntu-12.04.4
status: New → Triaged
Colin Watson (cjwatson) on 2013-11-27
Changed in grub2 (Ubuntu Precise):
status: Triaged → In Progress
Jason Yen (jasonyen) on 2013-11-28
Changed in oem-priority:
status: New → In Progress
Bin Li (binli) wrote :


 Great! And I thought it could satisfy our issue. Set the GRUB_RECOVERY_TITLE in /etc/default/grub and update grub.

 Thanks a lot!

Bin Li (binli) wrote :


 And I found you use gettext for support i18n, I'm still a little confused how to let it work, when we set 'safe mode' for GRUB_RECOVERY_TITLE, how we update the po file in grub? Thanks!

Colin Watson (cjwatson) wrote :

You probably can't right now, except maybe by supplying a tweaked language pack or something. I used gettext for completeness.

description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 2.00-21

grub2 (2.00-21) unstable; urgency=low

  [ Robert Millan ]
  * Backport from upstream:
    - Accept ZFS version 5000 (feature based).

  [ Colin Watson ]
  * Silence error message on initial installation when /etc/default/grub
    does not yet exist.
  * Add GRUB_RECOVERY_TITLE option, to allow the controversial "recovery
    mode" text to be customised (LP: #1240360).
  * Backport from upstream:
    - Revamp hidden timeout handling by adding a new timeout_style
      environment variable and a corresponding GRUB_TIMEOUT_STYLE
      configuration key for grub-mkconfig. This controls hidden-timeout
      handling more simply than the previous arrangements, and pressing any
      hotkeys associated with menu entries during the hidden timeout will
      now boot the corresponding menu entry immediately (LP: #1178618). As
      part of merging this, radically simplify the mess that
      quick_boot.patch had made of /etc/grub.d/30_os-prober; if it finds
      other OSes it can now just set timeout_style=menu and make sure the
      timeout is non-zero.
    - Fix build with FreeType 2.5.1.

 -- Colin Watson <email address hidden> Tue, 03 Dec 2013 16:53:32 +0000

Changed in grub2 (Ubuntu):
status: Fix Committed → Fix Released

Hello Bin, or anyone else affected,

Accepted grub2 into precise-proposed. The package will build now and be available at in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at . Thank you in advance!

Changed in grub2 (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Bin Li (binli) wrote :


 Great to hear about it. I'll verify it next week, :)

Bin Li (binli) wrote :

I've built a new image with precise-proposed repo, and use GRUB_RECOVERY_TITLE in /etc/default/grub, it works fine.
The grub version is 1.99-21ubuntu3.14.

Thanks all of you guys!

tags: added: verification-done
removed: verification-needed
Jason Yen (jasonyen) on 2013-12-13
Changed in oem-priority:
assignee: nobody → Ara Pulido (apulido)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 1.99-21ubuntu3.14

grub2 (1.99-21ubuntu3.14) precise; urgency=low

  * Handle FAT filesystems on non-512B disks (LP: #1065281).
  * Probe FusionIO devices (LP: #1237519).
  * On Linux, read partition start offsets from sysfs if possible
    (LP: #1237519).

grub2 (1.99-21ubuntu3.13) precise; urgency=low

  * Revamp hidden timeout handling by adding a new timeout_style environment
    variable and a corresponding GRUB_TIMEOUT_STYLE configuration key for
    grub-mkconfig. This controls hidden-timeout handling more simply than
    the previous arrangements, and pressing any hotkeys associated with menu
    entries during the hidden timeout will now boot the corresponding menu
    entry immediately (LP: #1178618). As part of merging this, radically
    simplify /etc/grub.d/30_os-prober; if it finds other OSes it can now
    just set timeout_style=menu and make sure the timeout is non-zero.
  * Fix mismerge of GRUB_RECOVERY_TITLE option in 1.99-21ubuntu3.12.

grub2 (1.99-21ubuntu3.12) precise; urgency=low

  * debian/build-efi-images: Where possible, make use of the device path
    derived from the EFI Loaded Image Protocol to compute the prefix
    (LP: #1097570).
  * Add GRUB_RECOVERY_TITLE option, to allow the controversial "recovery
    mode" text to be customised (LP: #1240360).
 -- Colin Watson <email address hidden> Thu, 05 Dec 2013 16:53:48 +0000

Changed in grub2 (Ubuntu Precise):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for grub2 has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Ara Pulido (ara) on 2014-01-07
Changed in oem-priority:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers