我想要实现的目标:
我想定制我的 Ubuntu 16.04 LTS 安装的完整启动以显示与我的桌面上相同的壁纸。
我至今取得的成就:
通过添加以下几行
/etc/deault/grub
并执行下列操作,将壁纸添加到 grub 菜单中update-grub
。export GRUB_MENU_PICTURE="/boot/grub/wallpaper.png" export GRUB_COLOR_NORMAL="white/black" export GRUB_COLOR_HIGHLIGHT="black/white"
将壁纸添加到启动画面和登录画面
问题:
当我启动时,图片在 grub 中显示,但是我很少看到启动画面,而是看到一个几乎空白的屏幕,显示文件系统检查,如下所示:
/dev/sda1: clean, 201776/60878736 files, 4991277/243040256 blocks
这使我无法获得我想要的启动体验,因为在那之后启动画面只会在该消息之后短暂弹出。
问题:
我怎样才能删除此消息,以便我可以使用我心爱的壁纸进行无缝启动,而无需完全关闭文件系统检查(如果可能的话)?
答案1
静音启动信息
您应该能够使用内核参数loglevel=
或quiet
loglevel= All Kernel Messages with a loglevel smaller than the
console loglevel will be printed to the console. It can
also be changed with klogd or other programs. The
loglevels are defined as follows:
0 (KERN_EMERG) system is unusable
1 (KERN_ALERT) action must be taken immediately
2 (KERN_CRIT) critical conditions
3 (KERN_ERR) error conditions
4 (KERN_WARNING) warning conditions
5 (KERN_NOTICE) normal but significant condition
6 (KERN_INFO) informational
7 (KERN_DEBUG) debug-level messages
quiet [KNL] Disable most log messages
我不确定这会隐藏在什么层面(或者你希望你的靴子有多安静)。
暂时地
重新启动计算机,然后在 grub 菜单中点击e
编辑启动参数。
linux...
使用箭头键向下滚动到行尾
在该行末尾添加所需loglevel
参数或。例如:quiet
linux /vmlinuz-4.4.0-21.generic.efi.signed root=/dev/mapper/encrypted ro loglevel=4
或者
linux /vmlinuz-4.4.0-21.generic.efi.signed root=/dev/mapper/encrypted ro quiet
编辑完成后,按继续启动F10
坚持不懈
为此,请编辑/etc/default/grub
编辑此行:
GRUB_CMDLINE_LINUX_DEFAULT=
如果需要,取消注释,并添加所需的日志级别或安静 - 例如GRUB_CMDLINE_LINUX_DEFAULT="loglevel=4"
或GRUB_CMDLINE_LINUX_DEFAULT="quiet"
然后运行sudo update-grub
fsck 消息
从 initramfs 中删除 fsck
fsck 由 initramfs 默认运行。通过删除它并让 systemd 运行 fsck,我们将能够重定向输出。
man initramfs
有关从 ramfs 中删除 fsck 的更多信息,请参阅wiki.ubuntu.com/Initramfs。
systemd fsck
来自 arch wiki:
现在复制文件 systemd-fsck-root.service 和[电子邮件保护]位于 /usr/lib/systemd/system/ 到 /etc/systemd/system/ 并编辑它们,配置 StandardOutput 和 StandardError 如下:
[服务]
类型=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/systemd/systemd-fsck
StandardOutput=null
StandardError=journal+console
TimeoutSec=0
在 Ubuntu 中,这些文件都位于/lib/systemd/system
如果文件系统在启动期间没有被 initramfs 检查,systemd-fsck-root.service 将自动运行。
答案2
从 20.04 启动中删除检查磁盘
已安装系统
命令行选项fsck.mode=skip
可用于在启动 Ubuntu 20.04 时跳过磁盘检查。
该行Checking disks: 0% complete
可能仍会出现,但 fsck 将不会运行,启动时间也不会增加。
在 grub.cfg 中fsck.mode=skip
添加(在 'quiet' 关键字后添加 fsck.mode=skip 也是可行的。仅供参考!)linux line
quiet splash
建议通过编辑 /etc/default/grub 将命令添加到 grub.cfg 中:然后GRUB_CMDLINE_LINUX_DEFAULT="fsck.mode=skip quiet splash"
运行sudo update-grub
。
我在使用 Live USB 时遇到过这个问题,但在安装的系统上没有遇到过。
持久 USB
命令行选项fsck.mode=skip
还可用于跳过持久 USB 驱动器上的磁盘检查。
该行Checking disks: 0% complete
仍会出现,但是文件系统检查将不会运行,启动时间也不会增加。
韓國创建持久 USB 驱动器后,以 root 身份打开 /boot/grub/grub.cfg。
- 添加
fsck.mode=skip
到持久菜单项如下:
linux ($root)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed maybe-ubiquity fsck.mode=skip quiet splash persistent ---
- 较新版本的 mkusb 已包含此修复
联合国网启动创建启动驱动器后,以 root 身份打开 /boot/grub/grub.cfg。
添加
fsck.mode=skip
到(UEFI 启动模式)的第一个菜单项。以 root 身份打开 syslinux.cfg 并将其添加
fsck.mode=skip
到(BIOS 启动模式)的默认菜单项。
鲁弗斯创建启动驱动器后,以 root 身份打开 /boot/grub/grub.cfg。
添加
fsck.mode=skip
到(UEFI 启动模式)的默认菜单项。以 root 身份打开 /isolinux/txt.cfg 并添加
fsck.mode=skip
到“无需安装即可试用 Ubuntu”菜单项(用于 BIOS 启动模式)。
这试用 Ubuntu / 安装 Ubuntu可以通过使用以下命令覆盖 syslinux.cfg 来从 BIOS 启动中删除屏幕:
default persistent
label persistent
say Booting an Ubuntu Persistent session...
kernel /casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd quiet splash noprompt --
答案3
我也遇到过这种情况:在 grub 启动后出现黑屏,控制台日志记录和 Plymouth 启动画面闪烁,即使是在全新安装的 16.04 LTS 上也是如此。禁用消息可能不是最好的选择。我在 Google 上搜索了 ask Ubuntu 之外的内容,发现此主题。 在评论#18您将找到解决我的问题的命令,而无需禁用消息。
我实施修复的步骤如下:
- 打开终端(您必须以 root 身份登录)
- 类型:(
sudo -i
输入您的管理员密码) - 类型:
echo FRAMEBUFFER=y > /etc/initramfs-tools/conf.d/splash
- 类型:
update-initramfs -u
- 键入:(
exit
以 root 身份注销)。 - 关闭终端并重新启动计算机。
现在,如果 Plymouth 工作正常,请继续自定义启动过程。如果您尝试过多次使用终端命令修复 Plymouth 启动画面,我建议您重新安装并重新开始,因为您可能已经损坏了文件系统而没有意识到这一点。
答案4
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=3 console=tty3"
console=tty3
将 fsck 输出移至非默认控制台并保持 tty1 清洁。