How to password protect grub menu entry?

Solution 1:

There is a Wiki page on Ubuntu covering all type of password related topics.

Basically, edit your configuration

gksu gedit /etc/grub.d/00_header /etc/grub.d/30_os-prober

Add this at the bottom of 00_header:

cat << EOF
set superusers="user1" 
password user1 password1
EOF

That way the edits will be password protected, with that user and password.

Now, let's protect the Windows entry. Open 30_os-prober and find this line:

menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class windows --class os \

On that line, add --users, so it ends like this:

menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class windows --class os --users \

Be careful on not removing the ending slash \.

Save and close, and then run this on a terminal:

sudo update-grub

You can also encrypt your password with grub-mkpasswd-pbkdf2. Please take a look at the wiki for more details.