GRUB(Grand Unified Bootloader)是 GNU 專案開發的多重開機管理程式,實現了多重開機規範,讓使用者能在同一台電腦上安裝多個作業系統,並在開機時選擇欲啟動的系統。在 Ubuntu 系統中,為了提升安全性,許多使用者會選擇為 GRUB2 設置密碼,防止未經授權的人員修改開機參數或進入單用戶模式。本文將詳細介紹在 Ubuntu 中設置 GRUB2 密碼的完整步驟。

首先打開終端機,執行以下指令生成 PBKDF2 格式的加密密碼:
grub-mkpasswd-pbkdf2
系統會提示輸入密碼並確認,輸入完成後會輸出一組雜湊字串,例如:
grub.pbkdf2.sha512.10000.BC4D0A450E86EE447561FC822C832xxxxxxxxxxxxx45572D3B4E40500CE
請務必完整複製這組字串,後續步驟會用到。
備份原始設定檔:
cp /etc/grub.d/00_header /etc/grub.d/00_header.bak
使用文字編輯器開啟設定檔:
vi /etc/grub.d/00_header
在檔案末尾加入以下內容(請將 leekwen 替換為您的使用者名稱,將雜湊字串替換為剛才生成的):
### Add those line to set GRUB2 password
cat << EOF
set superusers="leekwen"
password_pbkdf2 leekwen grub.pbkdf2.sha512.10000.BC4D0A450E86EE447561FC822C832xxxxxxxxxxxxx45572D3B4E40500CE
EOF
### Add end
儲存並離開編輯器後,務必執行以下指令更新 GRUB 設定:
update-grub
系統會輸出類似以下訊息,表示更新成功:
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.11.0-15-generic
Found initrd image: /boot/initrd.img-3.11.0-15-generic
Found memtest86+ image: /memtest86+.bin
done
重新開機後,在 GRUB 開機選單中按 e 進入編輯模式時,系統將提示輸入使用者名稱與密碼。只有輸入正確的使用者名稱(如範例中的 leekwen)與對應密碼,才能進入編輯選單,從而保護開機參數不被惡意篡改。
重要提醒:修改
00_header後,必須執行update-grub指令,否則設定不會生效!
以上即為 Ubuntu 系統設置 GRUB2 開機密碼的完整方法。有需求的使用者可依照上述步驟操作,增強系統開機安全性。