linux启动_grub

硬件基础

硬盘它的起始的一部分扇区为主引导分区,包括MBR(主引导记录)和DPT(分区表)(两种管理模式);每个分区起始的一部分扇区,为分区引导扇区。

系统引导流程

1.系统启动,首先引导至MBR,将控制权    移交给安装在MBR中的引导管理器。

2.引导管理器读取分区表

3.引导管理器读取启动分区中的配置文件,并按文件中的参数运行

4.引导管理器根据选择:加载内核,启动linux系统,检查活动分区并引导它,读取相应的引导扇区,将控制权移交给该扇区的引导管理器

Grub的功能:

命令行模式;

支持开机画面;

支持大硬盘

命令:

root setup

root (rd0,1) #将grub根分区定位于(hd0,1)第二个分区;即/boot/grub/menu.lst分区,grub根分区与/boot为一个分区

setup (hd0)

引导分区,位置为MBR

tips:windows系统的引导分区为它的安装分区,linux引导分区为/boot分区

grub的在线修复

在grub shell下

e 进入编辑模式

o 再增加一行

d 删除

案例:

忘记ROOT密码或init配置文件出错解决办法?

开机进入grub菜单,选择要启动的项目

e进入grubshell

1.root密码修复

进入单人维护模式

grub edit>  kernel /vmlinuz-2.6.18-92el5  ro root=LABEL=/ rhgb quiet  single(输入这个单词)

按b启动进入系统后,passwd命令重新设定root密码。

最后重启系统

2.配置文件inittab文件出错无法正常开机 (init无法执行)

grub edit > kernel /vmlinuz-2.6.18-92el5 ro root=LABEL=/ rhgb quiet  init=/bin/bash

呼叫bash启动进入系统

进入后只挂载/目录,且为只读模式

命令:mount -o remount,rw

mount -a

重新挂载根目录为可写模式

进入系统后将inittab文件恢复正常,最后重启系统

时间: 2024-08-04 09:35:33

linux启动_grub的相关文章

Linux启动过程笔记

Linux启动过程 1.启动流程(BIOS->MBR:Boot Code->引导GRUB->加载内核->执行init->runlevel) 2./boot/grub/下有多个文件   其中stage1为MBR镜像(512字节) stage2为引导程序 3./boot/grub/grub.conf为引导的配置文件 default=0#默认加载下边哪个系统 timeout=3#引导等待时间 splashimage=(hd0,1)/boot/grub/splash.xpm.gz#引

FS_V210开发平台下Linux启动logo的修改

作者:朱老师,华清远见嵌入式学院讲师. 一.开发平台 主机:ubuntu 12.04 系统: 目标机:FS210 平台: 内核版本:Linux-3.0.8 交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc: 二.步骤 运行Ubuntu 12.04系统,打开命令行终端. $ cd ~              $ cd driver              $mkdir logo              $ cd logo 将"fs210光盘:实验资料\4. Lin

linux基础:5、linux启动过程

linux启动过程 1.BIOS(basic in out system) 通电检查硬件,然后加载第一可用启动项的mbr: #可通过BIOS设置各种介质存储设备的启动顺序,比如:cdrom.disk.usb 2.MBR(main boot recorder) 磁盘的第一个扇区,共512字节,446字节的boot程序空间,64字节的分区表,2字节的校验位. 执行MBR内保存的boot loader程序,一般为GRUB,通过GRUB来找到kernel和initrd(centos6里面此文件更名)并将

Linux启动过程

Linux启动过程 传说]散人--南宁1,开机,读取BIOS并进行自我检测2,透过BIOS取得第一个开机装置,读取MBR取得开机管理程序3透过开机管理程序,取得KERNEL(内核)加载内存且侦测系统硬件4核心计动呼叫INIT的程序5INIT程序开始执行系统初始化6依据INIT的程序进行daemon start7加载本机设定 22:19:25[传说]Ed1 2015/1/20 22:19:25 启动第一个程序init,读取配置文件fstab22:20:37[传说]散人--南 2015/1/20 2

arm linux 启动之二:start_kernel到创建1号进程

本文介绍arm linux启动的第二部分,C语言编写,主要讲述start_kernel到1号进程的创建.主要讲述大概过程,以后再对子函数进行讲解. 一.start_kernel start_kernel位于init/main.c,主要完成linux一些子系统的初始化. 1)smp_setup_processor_id() 单CPU位为空. 2)lock_kernel() 锁CPU,linux是支持抢占的,多CPU时调用这个函数防止其他CPU抢占.3)tick_init() 时间相关初始化4)bo

Linux启动简单分析

1. 概述 从Bootloader至init程序主要过程如下 ++++++++++++++ ++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++ | | -> | kernel_entry() | -> | start_kernel() -> rest_init() -> kernel_init() | ============== -> ================== -> =

记录Linux启动流程的工具bootchart

/*********************************************************************  * Author  : Samson  * Date    : 04/28/2014  * Test platform:  *              3.11.0-12-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************

linux启动

计算机启动后,BIOS会先进性POST自检(Power On Self Test ),自检通过后会将MBR主引导记录加载至内存,MBR会查找活动分区上的次引导加载程序GRUB至内存,GRUB根据用户选择,加载相应的内核映像,在内核引导的过程中,会加载必要的系统模块,用以挂载根文件系统,内核启动完成后,会启动init进程,并将引导控制权交由init进程,init进程会加载/etc/fstab中所设置的所有文件系统,并根据/etc/inittab来执行相应的脚本进行系统初始化,至此,linux启动完

linux 启动分析

一,Linux 启动分析图如下