关于禁用encrypted LVM卷启动GUI密码提示及优化控制台输出的技术咨询
禁用Encrypted LVM卷启动GUI密码提示及优化控制台输出的实现方案
嘿,这个需求有点意思——既要关掉加密LVM启动时的GUI密码提示,又要把控制台输出全清,只留个闪烁光标来迷惑开机的人,我来给你一步步拆解怎么做:
一、先搞定禁用GUI密码提示
大部分主流发行版(比如Debian/Ubuntu、Fedora)用Plymouth来做启动GUI界面,咱们得先把它的加密提示模块干掉,换成纯控制台的输入:
- 先卸载Plymouth相关的加密提示组件(以Debian/Ubuntu系为例,其他发行版找对应的包):
sudo apt remove plymouth-label plymouth-theme-ubuntu-text - 编辑GRUB配置文件,彻底禁用Plymouth的GUI启动:
打开/etc/default/grub,找到GRUB_CMDLINE_LINUX_DEFAULT这一行,把里面的quiet splash全删掉,换成rd.vconsole.keymap=us rd.luks.crypttab=no(如果你的键盘布局不是美式,换成对应代码);同时确保GRUB_TERMINAL=console这一行没有被注释掉(如果没找到就自己加一行)。 - 更新GRUB让配置生效:
sudo update-grub - 调整initramfs的启动模式,让它用控制台而非GUI:
编辑/etc/initramfs-tools/initramfs.conf,把BOOT=plymouth改成BOOT=console,然后更新initramfs:
如果是Fedora/RHEL系,initramfs更新命令换成sudo update-initramfs -usudo dracut -f,GRUB更新用sudo grub2-mkconfig -o /boot/grub2/grub.cfg
二、清空控制台输出,只留闪烁光标
这一步要让启动过程中所有的日志、提示都消失,只留光标等待输入:
- 先创建一个自定义的initramfs钩子脚本,用来在启动时清屏:
创建文件/etc/initramfs-tools/hooks/clear_screen,写入以下内容:#!/bin/sh PREREQ="" prereqs() { echo "$PREREQ" } case $1 in prereqs) prereqs exit 0 ;; esac . /usr/share/initramfs-tools/hook-functions # 添加清屏命令到启动脚本 echo 'clear >/dev/console' >> "${DESTDIR}/init" - 给这个脚本加上执行权限:
sudo chmod +x /etc/initramfs-tools/hooks/clear_screen - 接下来要干掉cryptsetup的密码提示文字:
编辑/etc/initramfs-tools/scripts/local-top/cryptroot,找到类似下面的行(不同发行版可能表述略有不同):
把这行注释掉(前面加echo "Enter passphrase for ${CRYPT_NAME}: " >/dev/console#),然后在旁边加上clear >/dev/console,确保输入密码前控制台是干净的。 - 最后再更新一次initramfs,让所有修改生效:
sudo update-initramfs -u
这样设置完之后,开机的时候控制台会被完全清空,只有一个闪烁的光标静静等待你输入加密密码——其他人看到只会以为机器卡住了或者没启动成功,完美达到你想要的迷惑效果~
备注:内容来源于stack exchange,提问作者Denis at SO
相关产品推荐
相关产品推荐

