linux 启动问题,安装问题,驱动问题,是很多linux用户特别烦恼的。但事实上,有补救的方法,那就是通过修改内核启动参数,兼容不同硬件环境下,以求进入系统进行下一步操作。
这是一个新型的显示模式,即内核在启动阶段调用更先进的图形显示技术,以达到更好的显示效果。副作用就是兼容性低。
nomodeset
或者modeset=0
关闭这项功能,至少保证进入字符界面。i915.modeset=0
,其中i915是intel的显示驱动,该命令可以单独关闭该驱动的KMS。很多视频驱动都是以动态模块的方式链接到内核的,内核在启动过程中会加载这些驱动。
modprobe.blacklist=nouveau
就禁止加载该模块,这可以屏蔽有问题的驱动程序。那么究竟有多少个显卡驱动,他们叫什么名字?
nvidia
: /lib/modules/4.15.0-30deepin-generic/kernel/drivers/video/nvidia.ko ,nvidia官方驱动,性能棒棒的,不过默认没有安装,要自己装,对一般用户是一个挑战nvidiafb
: /lib/modules/4.15.0-30deepin-generic/kernel/drivers/video/fbdev/nvidia/nvidiafb.ko ,一个老式的驱动,估计性能很差,兼容性如何还不清楚,因为我没用过。nvidia_drm
: /lib/modules/4.15.0-30deepin-generic/kernel/drivers/video/nvidia-drm.ko ,DRM是“直接渲染管理器”的缩写,是一个替代“fb帧缓冲区”的现代版本,包括“GEM图形执行管理器”和“KMS内核模式设置”技术。其作用就是更好的协作多应用和多GPU。其中多GPU技术类似"Nvidia Optimus",称为"prime"。好吧,说到底就是nvidia驱动组成的一部分。nouveau
: 可以理解为nvidia的第三方开源驱动,因为是第三方,所以兼容性差,性能低。因为是开源,和linux的适配度高,喜忧参半的一款驱动,也是nvidia显卡在linux的默认驱动。i915
: intel的官方驱动。radeon
: 旧的amd显卡设备的开源驱动amdgpu
: 新的amd显卡设备的开源驱动amdgpu-pro
: 官方闭源驱动initramfs 是linux的一个纯净的启动映像环境,简而言之就是制作一个内存中的启动硬盘。
linux系统大多数通过grub来引导,即开机出现的引导菜单。出现菜单读秒时,按e进入编辑状态,按F10执行编辑后的菜单。
找到linux
开始的一行,该行格式一般如下:
linux /.../vmlinuz... root=UUID=xxx ...
翻译过来就是:
“引导linux 内核文件 启动分区 内核参数”
我们要修改的就是内核参数部分。
参数格式:
modprobe
动态模块名 参数=值获取参数的方法:
/sys/module/模块名/parameters
/proc/cmdline
启动参数modinfo -p 模块名
常用模块:
ACPI
高级电源配置接口APIC
高级可编程中断控制器DRM
直接渲染管理器FB
帧缓冲IOMMU
设备内存相关KVM
虚拟机LOOP
回环设备i915
、nvidia
、nouveau
等常用参数:
quiet
安静模式debug
详细信息memtest=1
测试一次内存erst_disable
解决ERST故障hest_disable
解决HEST故障nosoftlockup
禁止软死锁检测nowatchdog
禁止硬死锁检测noapic
禁止IO-APIC输入输出高级可编程中断控制器nolapic
禁止cpu-apciacpi=off
禁止acpi高级电源配置接口acpi=strict
严格的acpiacpi_backlight=vendor
使用厂家的屏幕亮度调节器acpi_os_name=\"Linux\"
告知acpi系统名称,欺骗有问题的BIOS。
\"Windows 2001\"
xp\"Windows 2006\"
vista\"Windows 2009\"
win7\"Windows 2012\"
win8\"Windows 2013\"
win8.1acpi_osi="Linux"
添加字符串acpi_osi=!
删除所有字符串pnpacpi=off
关闭acpi的即插即用功能resume=/dev/swap
休眠启动的分区resume_offset=xxx
休眠文件的偏移量resumedelay=6
等待5秒启动休眠设备resumewait
等待直到休眠设备准备好kvm-amd.nested=0
关闭amd cpu的嵌套虚拟化root=xxx
启动设备或文件rootfstype=xxx
启动设备的文件系统类型rotflags=xxx
挂载选项ro
只读rw
读写init=路径
启动程序rdinit=路径
内存盘中的启动程序nomodule
禁用内核模块加载3
启动命令行和非图形界面splash
启动画面