我最近做了一个LFS并对GRUB做了一些修改。我添加了 update-grub 命令。我可以设置背景颜色和突出显示颜色。但是当我添加自定义主题时-update-grub
给出-
正在生成 grub 配置文件...
找到主题:/boot/grub/theme/dark_squares/theme.txt
找到 linux 映像:/boot/vmlinuz
找到 initrd 映像:/boot/initrd.img-no-kmods
完成
看起来不错。不是吗?
但是,当我重新启动时,一些错误闪过太快,但它可以正常启动。但是,我设法(不要问如何)读取错误 -
错误:
/boot/grub/fonts/unicode.pf2
找不到文件。
错误:找不到合适的视频模式
这是我的/etc/default/grub
-
# If you change this file, run grub-mkconfig -o /boot/grub/grub.cfg
# afterwards to update /boot/grub/grub.cfg.
GRUB_DEFAULT="0"
GRUB_SAVE_DEFAULT="true"
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET="false"
GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Papiya`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
GRUB_THEME=/boot/grub/theme/dark_squares/theme.txt
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# Select the terminal output device. You may select multiple devices here,
# separated by spaces.
# Valid terminal output names depend on the platform, but may include ‘console’
# (PC BIOS and EFI consoles), ‘serial’ (serial terminal), ‘gfxterm’ (graphics-mode
# output), ‘ofconsole’ (Open Firmware console), or ‘vga_text’ (VGA text output,
# mainly useful with Coreboot).
# The default is to use the platform's native terminal output.
GRUB_TERMINAL_OUTPUT="gfxterm"
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE="1024x768x32"
# If graphical video support is required, either because the ‘gfxterm’ graphical
# terminal is in use or because ‘GRUB_GFXPAYLOAD_LINUX’ is set, then grub-mkconfig
# will normally load all available GRUB video drivers and use the one most
# appropriate for your hardware. If you need to override this for some reason,
# then you can set this option. After grub-install has been run, the available
# video drivers are listed in /boot/grub/video.lst.
GRUB_VIDEO_BACKEND="vbe"
# Uncomment to select a font to use
#GRUB_FONT_PATH="/boot/grub/DejaVuSansMono.pf2"
# Set a background image for use with the ‘gfxterm’ graphical terminal. The value
# of this option must be a file readable by GRUB at boot time, and it must end
# with .png, .tga, .jpg, or .jpeg. The image will be scaled if necessary to fit
# the screen.
#GRUB_BACKGROUND="/usr/share/grub_backgrounds/magnetar_1024x768.jpg"
# Set to ‘text’ to force the Linux kernel to boot in normal text mode, ‘keep’ to
# preserve the graphics mode set using ‘GRUB_GFXMODE’, ‘widthxheight’[‘xdepth’] to
# set a particular graphics mode, or a sequence of these separated by commas or
# semicolons to try several modes in sequence. See gfxpayload.
#
# Depending on your kernel, your distribution, your graphics card, and the phase of
# the moon, note that using this option may cause GNU/Linux to suffer from various
# display problems, particularly during the early part of the boot sequence. If you
# have problems, set this option to ‘text’ and GRUB will tell Linux to boot in
# normal text mode.
GRUB_GFXPAYLOAD_LINUX="keep"
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"
# Uncomment to get a beep at grub start
GRUB_INIT_TUNE="480 440 1"
答案1
就我而言,我尝试使用 GRUB 命令行(无grub.cfg
文件)进行启动,因此我必须加载视频模块才能启动我的 TinyCore:
insmod all_video
如果没有这个,我会得到与OP相同的错误。
然而,作为阿尼科特·巴塔查里亚回答,我还必须手动复制unicode.pf2
文件才能/boot/grub/fonts
输出terminal_output gfxterm
有效字符。
答案2
unicode.pf2
通过将文件复制到/boot/grub/fonts
.