
我按如下操作
- 運行 grub-mkpasswd-pbkdf2 來取得字串
- 納米 /boot/grub/grub.cfg
- 新增兩行
- 設定超級用戶=“把你的用戶名放在這裡”
- 密碼 putyourusernamehere grub.pbkdf2 (省略)
當我重新打開電腦時,它無法工作,如何在 debian 中使用 grub 2 密碼保護?
答案1
Debian 8 (jessie) 將 Grub 2 密碼參數儲存在目錄中/etc/grub.d/
。這目錄裡面只有腳本用於產生設定檔。
/etc/grub.d/01_users
因此,您可以建立一個包含以下內容的新腳本(例如):
#!/bin/bash
cat <<EOF
set superusers="putyourusernamehere"
password putyourusernamehere grub.pbkdf2 grub.pbkdf2.sha512.10000.3450C89...
EOF
上述所有行都是該檔案的一部分,因為它是一個腳本,其輸出將進入最終的設定檔。由於它是一個腳本,因此只有在可執行 ( ) 時才會被處理chmod a+x ...
。
作為一個選擇,您可以將所需的行放入現有文件之一中,這些文件經過調整以輸出自己的內容。在這裡您可以看到如何/etc/grub.d/40_custom
用 tail 指令取代 shell,傳回從第三行開始的腳本內容:
#!/bin/sh
exec tail -n +3 $0
set superusers="putyourusernamehere"
password putyourusernamehere grub.pbkdf2 grub.pbkdf2.sha512.10000.3450C89...
在某些 Ubuntu 衍生版本(例如 Mint 19)中,密碼的格式會變更如下:
#!/bin/sh
exec tail -n +3 $0
set superusers=putyourusernamehere
password_pbkdf2 putyourusernamehere grub.pbkdf2.sha512.10000.3450C89...
您可能需要將「--unrestricted」新增到要無密碼啟動的選單項目中。例如在文件中10_linux
:
10_linux:CLASS="--class gnu-linux --class gnu --class os --unrestricted"
最後啟動update-grub2
生成最終的設定檔/boot/grub/grub.cfg
。
答案2
讀這。來自基於 debian 的作業系統的官方文件:Ubuntu。也許有幫助