現在ラップトップの1つをダブルブートしていますが、Linuxディストリビューションをほぼ完全に隠したいと思います。これまでは、Shiftキーを押すだけでGrubメニューを表示でき、Linuxルートパーティションを暗号化しました(デフォルトパーティションはありません)。特定のオペレーティングシステムにパスワードを割り当てることができると聞きましたが、どうすればよいか少し混乱します。
Windowsでログインを要求しないように設定できますか?
私のLinuxオペレーティングシステムのみをパスワードで保護するにはどうすればよいですか?
(注:私はZorin OS 15 CoreでWindows 10を使用しています)
編集:Windowsログインについて話すものではありません。 grubがウィンドウにアクセスするためにログインする必要がないように(grubメニューから)ログインできるようにすることはできますか?ただし、アクセスするにはまだgrubにログインする必要があります。ジョリン。また、私がZorinルートパーティションに入らないようにブロックしたい人は特に賢くないので、彼らがライブUSBなどを使ってそこに入ることができるかどうかはあまり気にしません.
答え1
管理者ユーザーとパスワードを設定すると、他のユーザーのメニュー項目の使用、メニュー項目の編集、およびgrubコンソールの使用が制限されます。--unrestricted
に追加するmenuentry
すべてのユーザーがユーザー名/パスワードを入力せずにこのメニュー項目を使用できるようにし、--users
ユーザー名のリストを追加すると他のユーザーがアクセスできますmenuentry
。
最小設定の場合は、パスワード付きのスーパーユーザーを追加して--unrestricted
Windowsの作成メニュー項目に追加する必要がありますmenuentry
。/etc/grub.d/30_os_prober
編集、Windows関連の項目を
/etc/grub.d/30_os-prober
見つけて、このメニューに項目を追加します。私の場合は、文字列を検索して次の行を修正しました。これで編集されたブロックは次のようになります。menuentry
--unrestricted
Windows
menuentry
cat << EOF menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --unrestricted $CLASS --class os \$menuentry_id_option 'osprober-chain-$(grub_get_device_id "${DEVICE}")' { EOF
次の最後にパスワードを追加してください
/etc/grub.d/30_os-prober
。cat << EOF set superusers="freddy" password freddy 1234 EOF
/etc/grub.d/
どのプロファイルをパスワードとして使用するかは関係ありません。00_header
orを代わりに使用することもできます10_linux
。パスワードを暗号化するには、を実行して
grub-mkpasswd-pbkdf2
パスワードを2回入力し、結果の文字列をパスワードgrub.pbkdf2.sha512.10000.<a_very_long_string>
として使用します。パスワード入力は、次の文字で始める必要がpassword_pbkdf2
ありますpassword
。password_pbkdf2 freddy grub.pbkdf2.sha512.10000.68B90AFC[...]86858AF939
走る
sudo update-grub
grubを更新し、生成されたWindowsエントリに
/boot/grub/grub.cfg
この--restricted
フラグがあることを確認してください。結果30_os-prober
-block は次のようになります。### BEGIN /etc/grub.d/30_os-prober ### menuentry 'Windows 10 (on /dev/sda1)' --unrestricted --class windows --class os $menuentry_id_option 'osprober-chain-A25E43975E436361' { insmod part_msdos insmod ntfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 A25E43975E436361 else search --no-floppy --fs-uuid --set=root A25E43975E436361 fi parttool ${root} hidden- drivemap -s (hd0) ${root} chainloader +1 } set superusers="freddy" password freddy 1234 ### END /etc/grub.d/30_os-prober ###
再起動してテストします。
関連リンク:
- GRUBの認証と承認(GRUBマニュアル)
- Grub2/パスワード(Ubuntu文書と例)