乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Linux_kernel 1.0 系统启动:/boot/grub
2017-03-26 12:17:17
67
0
0
admin
> 这里介绍Linux 的启动过程 #总体过程(redhat 6) 1. 加载BIOS,了解硬件信息,找到启动装置 2. 运行第一个启动装置中的MBR(Master Boot Record,硬盘的第0个磁道第一个扇区)中的boot loader(比如grub) 3. 根据boot loader(比如grub)加载kernel,kernel 会再次检查硬件,驱动程序 4. kernel 启动init 程序,init 获得run level 5. 运行/etc/rc.d/rc.sysinit来准备环境 6. init 根据runlevel 启动各种服务 7. 运行/etc/rc.d/rc.local 8. 运行模拟终端等待用户登录 *** #大致介绍/boot目录 ``` [root@hadoop1 ~]# ls /boot/ config-2.6.32-358.el6.x86_64 #编译该内核时使用的参数配置 efi grub #grub目录 initramfs-2.6.32-358.el6.x86_64.img #临时文件系统,启动时临时的根目录 lost+found symvers-2.6.32-358.el6.x86_64.gz System.map-2.6.32-358.el6.x86_64 #一些核心功能的内存地址 vmlinuz-2.6.32-358.el6.x86_64 #就是内核文件 ``` **注意** 由于启动过程中是先挂载根目录,再加载一些内核模块,然后再挂载其他目录,所以通常存放一些内核模块的/lib/modules目录必须和根目录放在同一个挂载点下 *** #大致介绍grub grub 是一种多重操作系统引导管理器,用于计算机启动时加载想要的系统的内核。 ##在机器启动时操作grub e 进入grub shell 页面 o 在光标所在行下新增一行 d 将光标所在行删除 ###进入单人模式 适用于类似忘记密码或者出了严重问题的时候 ``` grub edit> kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=xxx ... quiet single ``` ###不启动init,只启动bash 适用于init 起不来的时候,比如inittab 配置错误 ``` grub edit> kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=xxx ... quiet init=/bin/bash mount -o remount,rw / mount -a ``` ###grub 配置文件 [root@test1 ~]# cat /boot/grub/menu.lst ``` default=0 #默认启动项,选择第几个title timeout=5 #多少秒不动键盘就启动默认启动项 splashimage=(hd0,0)/grub/splash.xpm.gz #背景图片文件 hiddenmenu #是否显示菜单,有这一行就不显示 title CentOS Linux 6 (2.6.32-696.el6.x86_64) #title 名 root (hd0,0) #内核文件在哪个硬盘的哪个分区中 kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=/dev/mapper/vg_10-lv_root rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_LVM_LV=vg_10/lv_root rd_NO_MD rd_LVM_LV=vg_10/lv_swap crashkernel=auto SYSFONT=latarcyrheb-sun16 rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-696.el6.x86_64.img title Windows partition password --md5 xxxxxxxxxxxxxxxxxxxxxxxxx #给grub设置密码,用grub-md5-crypt命令 root (hd0,1) chainloader +1 #控制权转让给下一个boot loader; +1在这里理解为第一个扇区 ```
上一篇:
Linux_kernel 0.0 一些基础知识
下一篇:
Linux_seLinux 大致介绍
文档导航