×
Falcon
03-26 14:24
#daily tips# 卧槽,原来ubuntu升级了这内核完成后还要执行 dpkg --configure -a 才会更新initramfs为新内核,不然启动后会出现找不到根文件系统的情况,当然我也是启动后出现kernel panic才找的解决方案。只有在启动菜单切回旧内核,正常进去系统之后执行 dpkg --configure -a才可以,当然这个不止是更新了initramfs,还有其他的设置。
至于 initramfs 是什么?有什么用:
initramfs(初始化RAM文件系统)是一个临时的根文件系统,它被加载到内存中的时候用于引导操作系统的过程。在Linux系统启动过程中,Bootloader(如GRUB)首先加载内核和initramfs,然后内核解压initramfs到一个临时的RAM驱动中,并执行`/init`脚本开始引导。
initramfs包含了在内核执行自我装载以前必须要执行的代码,以及包含诸如硬盘控制器、网络适配器等关键的驱动程序,以便存取文件、启动初始化程序,并加载其他驱动和服务。只有在这些驱动加载和运行后,内核才能访问到在磁盘上的root文件系统。
例如,在一些需要复杂的Setup过程才能访问到根文件系统的情况下,例如网络文件系统(NFS)、逻辑卷管理器(LVM)、软件RAID等,initramfs都是必要的,它在root文件系统可用之前,提供了一种临时的文件系统。它采用ramdisk的方式,提供了一个小的、安全的环境,在这个环境中内核可以加载必要的驱动并最终找到实际的root文件系统。
简单说,initramfs相当于介于Bootloader和真正的root文件系统之间的一座桥梁,它让内核知道如何访问硬盘以及如何读取需要的数据或文件,从而能成功地挂载实际的root文件系统。

0

暂无评论