
initramfs镜像用来启动系统,解压后是一个临时的根目录。
用file查看initramfs-2.6.32-696.el6.i686.img的文件类型为gzip压缩文件,将它改为gz格式,解压缩。
解压后得到一个initramfs-2.6.32-696.el6.i686.img,查看文件类型为ASCII,继续解压。
grub允许用户可以在 计算机 内同时拥有多个 *** 作系统,并在计算机启动时选择希望运行的 *** 作系统。grub中分区含义如表所示
grub配置文件/etc/grub/grub.conf
参数含义
按e进入命令编辑模式
光标移到kernel行,按e进入grub界面
在quiet后加1,进入单用户模式
按b启动,进入单用户模式(可修改root密码)
eg:假设启动文件/etc/inittab文件被修改,如何修复?
我将inittab文件修改,将默认启动级别改为6,这样系统启动时会一直重启
在单用户模式下修改/etc/inittab文件。
重启后成功。
ps:后来我用的debian虚拟机忘记了密码,尝试后发现它进入单用户的模式有点不一样,记录一下
按e进入编辑模式
在这一行quiet之后添加“init=/bin/bash”,可进入单用户模式
进入后发现修改密码出错,将根目录重新挂载后成功修改密码
为防止外人进入单用户模式修改root密码,可将grub进行加密
加密过程如下
此时,需要按下grub的密码才可以进入编辑模式
如果密码输错,将不能进行编辑
正确输入密码,可以看到跟加密前一样的编辑页面。
首先查询内核是否支持分辨率修改
分辨率参数如下
如果想将分辨率设为1024*768,则写入/boot/grub/grub.conf内,vga=791。
重启后生效
插入光盘,启动时快速按F2键(或者右键点击虚拟机-电源-启动时进入bios)。
进入bios后,将光盘启动移到第一项(+)。
进入光盘修复模式,将光标移动到第三行
一路默认,网络可不设置
a、清除grub密码步骤
b、重要文件找回步骤
eg:将/etc/inittab文件删除,如何恢复?
<1>.进入光盘救援模式,后,将刚刚拷贝在/tmp下的inittab文件复制粘贴到/etc下
<2>.先查询出inittab文件的安装包版本,进入光盘救援模式后,将光盘挂载,从光盘的Packeges目录里安装inittab。
昨天在写关于linux设置脚本开机启动的文章时,有个疑问就是开机时怎么确认运行级别,然后遍历执行/etc/rcN.d/目录下的所有服务程序。带着疑问, 在前人的基础上 学习总结一下linux系统初始化的工作的内容,现在树莓派4B上展示出来。
1、加载内核
当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。 *** 作系统接管硬件以后,首先读入 /boot 目录下的内核文件。树莓派4B的内核是Raspbian GNU/Linux 10 (buster),基于Debian。
2、初始化进程init
内核文件加载以后,运行第一个程序init,它的作用是初始化系统环境。init位于目录/sbin,进程号PID为1,即1号进程,其他所有进程都由init衍生,是init的子进程。
同时还有个0号进程,idle进程,在系统初始化时由内核kernel自身从无到有创建,通过调用kernel_thread创建一个内核线程去执行init函数,0号进程创建1号进程。
3、运行级别
具体介绍请参考笔者的文章-Linux运行级别简介 ,但是开机时是怎么确定运行级别的呢?
init进程首先读取文件 /etc/inittab,它是运行级别的设置文件。但是各个发行版不太一样,init的配置文件也不一样,有可能使用/etc/event.d里面的配置文件,最新版的改用为/etc/init目录。
4、开机启动程序
具体详情请参考文章-linux中/etc/init.d设置开机启动 ,确定运行级别后,执行rcN.d目录下的文件,这些链接文件是连接到init.d目录下的程序。init进程逐一加载开机启动程序,其实就是运行这个目录里的启动脚本。
比如运行级别为5(图形化多用户)时启动的程序:
5、用户登录
开机启动程序加载完毕以后用户登录。用户的登录方式有三种:
命令行登录:init进程调用getty程序。
ssh登录:init进程调用sshd程序。
图形界面登录:init进程调用显示管理器,Gnome图形界面对应的显示管理器为gdm。
6 、login shell
默认shell时bash,命令行界面,让用户可以直接与 *** 作系统对话。读取环境变量,具体请参考笔者文章-Linux环境变量的设置。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)