ConMan77 Asked: 2020-06-20 02:38:59 +0800 CST2020-06-20 02:38:59 +0800 CST 2020-06-20 02:38:59 +0800 CST 任何人都可以解释这些内核命令行参数吗? 772 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x800-24,mtrr=3,scroll=ywrap" 这条线是什么意思? 有人可以逐字解释吗? plymouth grub2 kernel 1 个回答 Voted Best Answer Parsa Mousavi 2020-06-20T03:17:19+08:002020-06-20T03:17:19+08:00 quiet禁用大部分日志消息(由dmesg 命令显示)。 我认为splash选项在内核经过一些初始化代码后从初始 ram-disk启动plymouth服务。Plymouth 是向您显示分发的徽标或 systemd 初始化的日志。 nomodeset是在启动期间禁用内核模式设置(又名 KMS)。模式设置使内核能够控制图形硬件本身并更改 GPU 的模式(图形或文本模式、分辨率、旋转等),它用于制作平滑且无闪烁的启动画面(上面的选项),但它可能会导致某些图形硬件出现问题甚至黑屏。禁用它会强制内核使用 BIOS 模式。有关更多信息,请参阅此答案。 视频选项就是提到视频模式选项。在底层GPU中使用的一些全局选项。而uvesafb实际上是一个通用的帧缓冲驱动程序,它利用了VESA协会制定的标准。mode_option=1280x800-24表示颜色深度或每像素位数(红色、绿色和蓝色通道各 8 位)的1280x800分辨率。24 mtrr = 3 表示写组合属性。它实际上是一种缓存技术,用于缓冲读/写请求,以便稍后以突发模式释放它们,以更好地利用带宽并防止一致的读/写周期和资源耗尽。 因为读/写操作不是按顺序释放的,如果在大多数程序中使用它可能会导致严重的错误和问题(线程安全基于这些操作按顺序完成的假设),但在帧缓冲区乱序内存操作不是问题(当帧在不到 50 毫秒的时间内渲染时,您不关心屏幕上图像的左上角是先绘制还是左下角先绘制) .所以在帧缓冲操作中使用它(我们正在谈论帧缓冲驱动程序uvesafb)是有道理的。它可以大大提高性能。 然而,在内核中使用 MTRR API 几乎完全被淘汰,取而代之的是页面属性表。因为使用 PAT,您可以更好地控制要缓存的内存区域,并且它具有比 MTRR 更多的属性。 最后,该scroll=选项获得三个可能值之一: ypan:使用 VESA 保护模式界面启用显示平移。可视屏幕只是显存的一个窗口,控制台滚动是通过改变窗口的开始来完成的。此选项仅在 x86 上可用,并且是该体系结构的默认选项。 ywrap:与 ypan 相同,但假设您的 gfx 板可以环绕视频内存(即,如果到达视频内存的末尾,则从顶部开始读取)。比ypan快。仅在 x86 上可用。 redraw:通过重绘屏幕的受影响部分来滚动,这是非 x86 上的默认设置。 事实上,当您处于文本模式时,它可以设置滚动操作操作的模式(例如,文本模式控制台不是图形) 您可以在此处阅读有关该驱动程序的更多信息。 如果您想了解更多关于内核命令行选项的信息,请查看官方文档。 希望能帮助到你。
quiet禁用大部分日志消息(由dmesg 命令显示)。
我认为splash选项在内核经过一些初始化代码后从初始 ram-disk启动plymouth服务。Plymouth 是向您显示分发的徽标或 systemd 初始化的日志。
nomodeset是在启动期间禁用内核模式设置(又名 KMS)。模式设置使内核能够控制图形硬件本身并更改 GPU 的模式(图形或文本模式、分辨率、旋转等),它用于制作平滑且无闪烁的启动画面(上面的选项),但它可能会导致某些图形硬件出现问题甚至黑屏。禁用它会强制内核使用 BIOS 模式。有关更多信息,请参阅此答案。
视频选项就是提到视频模式选项。在底层GPU中使用的一些全局选项。而uvesafb实际上是一个通用的帧缓冲驱动程序,它利用了VESA协会制定的标准。
mode_option=1280x800-24
表示颜色深度或每像素位数(红色、绿色和蓝色通道各 8 位)的1280x800
分辨率。24
mtrr = 3 表示写组合属性。它实际上是一种缓存技术,用于缓冲读/写请求,以便稍后以突发模式释放它们,以更好地利用带宽并防止一致的读/写周期和资源耗尽。
因为读/写操作不是按顺序释放的,如果在大多数程序中使用它可能会导致严重的错误和问题(线程安全基于这些操作按顺序完成的假设),但在帧缓冲区乱序内存操作不是问题(当帧在不到 50 毫秒的时间内渲染时,您不关心屏幕上图像的左上角是先绘制还是左下角先绘制) .所以在帧缓冲操作中使用它(我们正在谈论帧缓冲驱动程序uvesafb)是有道理的。它可以大大提高性能。
然而,在内核中使用 MTRR API 几乎完全被淘汰,取而代之的是页面属性表。因为使用 PAT,您可以更好地控制要缓存的内存区域,并且它具有比 MTRR 更多的属性。
最后,该
scroll=
选项获得三个可能值之一:事实上,当您处于文本模式时,它可以设置滚动操作操作的模式(例如,文本模式控制台不是图形)
您可以在此处阅读有关该驱动程序的更多信息。
如果您想了解更多关于内核命令行选项的信息,请查看官方文档。
希望能帮助到你。