Linux系统启动、运行级别与用户管理全解析
1. 内核启动
1.1 单用户模式启动
在启动系统时,可通过动态编辑内核行,在末尾添加“single”一词,以单用户模式启动系统。这种方式能让你在尝试启动整个系统之前,对系统进行一些诊断。不过,这种额外的灵活性也是一把双刃剑,有权限访问系统的人可以在启动序列中修改内核参数。为了避免这种风险,可以通过配置BIOS、GRUB或两者,在启动时要求输入密码。但这种方法需要在服务器的物理安全和机器的服务需求之间取得平衡,因为配置这些选项后,如果发生电源故障或意外重启,服务器将无法启动,直到手动干预。
1.2 内核加载过程
启动过程的下一阶段是加载Linux内核。引导加载程序将内核和initrd加载到内存中。内核开始执行时,会将initrd解压到运行时专门创建的一部分内存中,作为物理磁盘驱动器。这个新的“磁盘”随后被挂载为初始根分区,以便识别和加载内核访问实际系统根分区所需的模块。如果将所有供应商和架构的磁盘设备驱动程序都直接构建到内核中,会使内核变得过大且效率低下。使用initrd进行预加载可以在启动时动态加载适当的模块。
当内核获得适当的驱动程序后,会卸载initrd RAM磁盘,回收内存,并挂载正确的根分区。在将控制权传递给init例程之前,内核会执行一系列步骤来识别和加载所需的其他模块。
1.3 内核消息查看
可以使用 dmesg 命令查看系统启动时内核生成的消息。这些消息会列出服务器启动时数百行的设备发现和状态信息。典型启动序列中内核消息的概要如下:
- 检查BIOS的内存配置
- 按照引导加载程
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



