linux下grub相关知识详解

一.grub相关知识详解

(1)grub:GRand Unified Bootloader

grub 0.x :grub legacy

grub 1.x : grub2

grub legacy:

stage1:mbr的bootloader阶段

stage1_5:mbr之后的扇区,让stage1的bootloader能够识别stage2所在分区的文件系统

stage2:磁盘分区(/boot/grub/)

配置文件:/etc/grub.conf-->/boot/grub/grub.conf

stage2阶段经常放置于一个独立的分区

(2)功用

<1>提供启动菜单、并提供交互式接口

a:内核参数

c:命令模式,交互式借口

e:编辑模式,用来编辑菜单

<2>加载用户选择的内核或操作系统

允许传递参数给内核

可隐藏启动菜单

<3>为菜单提供保护机制

为编辑启动菜单提供保护机制

为启用内核或操作系统提供保护机制

(3)grub的命令行接口

help:获取帮助列表

help KEYWORD:获取帮助信息

find (hd#,#)/PATH/TO/SOMEFILE:

root (hd#,#)

kernel /PATH/TO/KERNEL_FILE:设定本次启动时用到的内核文件;额外还可添加许多内核支持的cmdline参数。如:max_loop=100,selinux=0,init=/path/to/init

initrd/PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的ramdisk;

boot: 引导启动选定的内核

(4)cat /proc/cmdline查看内核参数

内核参数文档:/usr/share/doc/kernel-doc-2.6.32/Documentation/kernel-parameters.txt

需要安装kernel-doc支持

(5)识别硬盘文件

(hd#,#)

hd#:磁盘编号,从0开始

#:分区编号,从0开始

(6)安装grub

<1> grub-install

安装grub stage1和stage1_5到/dev/DISK磁盘上,并复制GRUB相关文件到DIR/boot目录下(此时是stage2的部分阶段,是/boot/grub下的所有文件(除了/boot/grub/grub.conf文件))

grub-install --root-directory=DIR /dev/DISK

<2> grub(依赖/boot/grub/下的stage类文件)

grub> root (hd#,#)

grub> setup (hd#)

(7)grub配置文件详解

配置文件:/boot/grub/grub.conf

default=#: 设定默认启动的菜单项;落单项(title)编号从0开始

timeout=#:指定菜单项等待选项选择的时长

splashimage=(hd#,#)/PATH/TO/XPM_FILE:菜单背景图片文件路径

hiddenmenu:隐藏菜单

password [--md5] STRING: 启动菜单编辑认证

title TITLE:定义菜单项“标题”, 可出现多次

root (hd#,#):grub查找stage2及kernel文件所在设备分区;为grub“根”

kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核

initrd/PATH/TO/INITRAMFS_FILE: 内核匹配的ramfs文件

password [--md5] STRING: 启动选定的内核或操作系统时进行认证

(8)grub-md5-crypt加密密码

时间: 2024-10-12 04:50:13

linux下grub相关知识详解的相关文章

Linux下的文件目录结构详解

Linux下的文件目录结构详解 / Linux文件系统的上层根目录 /bin 存放用户可执行的程序 /boot 操作系统启动时所需要的文件 /dev 接口设备文件目录,例如:had表示硬盘 /etc 有关系统设置与管理的文件 /home 一般用户的主目录或者FTP站点管理目录 /mnt 装置的文件系统加载点,例如:光驱.软盘等... /proc 目前系统核心与程序执行的信息. /root 管理员的主目录 /sbin 此目录存放系统启动时所需要执行的程序 /tmp 用来存放暂存盘的目录 /usr

Linux下ORACLE客户端安装详解

1.首先去oracle官网下载以下安装包(http://www.oracle.com/technetwork/topics/linuxsoft-082809.html) instantclient-basic-linux.x64-11.2.0.3.0.zip instantclient-odbc-linux-11.2.0.3.0.zip instantclient-sdk-linux.x64-11.2.0.3.0.zip instantclient-sqlplus-linux.x64-11.2.

Linux下DNS服务器搭建详解

 Linux下DNS服务器搭建详解 DNS  即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析. 下面对DNS的工作流程及原理进行简要说明 DNS的查询流程:需要解析服务的Client先查看本机的/etc/hosts:若无结果,则client查看本地的DNS缓存服务器:若无结果,则查找所属域的首选DNS服务器:若此时本地首选DN

Linux下彻底卸载mysql详解

Linux下彻底卸载mysql详解 一.使用以下命令查看当前安装mysql情况,查找以前是否装有mysql 1 rpm -qa|grep -i mysql 可以看到如下图的所示: 显示之前安装了: MySQL-client-5.5.25a-1.rhel5 MySQL-server-5.5.25a-1.rhel5 2.停止mysql服务.删除之前安装的mysql 删除命令:rpm -e –nodeps 包名 1 2 rpm -ev MySQL-client-5.5.25a-1.rhel5  rpm

linux下ssh连接缓慢详解

摘自:https://blog.csdn.net/asd2479745295/article/details/83006379 linux下ssh连接缓慢详解原创皮的开心 最后发布于2018-10-11 09:13:37 阅读数 1824 收藏展开    最近发现公司新linux控制器使用ssh连接特别慢,大概要10秒钟左右,scp也是需要10秒左右,但是ping速度特别快.使用ssh -l IP -v 可以查看连接卡在,SSH2_MAG_SERVICE_ACCEPT received后,停顿了

Linux下套接字详解(十)---epoll模式下的IO多路复用服务器

epoll模型简介 epoll可是当前在Linux下开发大规模并发网络程序的热门人选,epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的. 其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型,以及select模型和poll模型,那为何还要再引入Epoll这个东东呢?那还是有得说说的- 常用模型

Linux下面的yum命令详解

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...]其中的[opti

linux下vsftp安装配置详解

一:简介 FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件.相比于HTTP,FTP协议要复杂得多.复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令:另一个是数据链路,用来上传或下载数据. FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式. PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命

Linux下Mysql安装教程详解

Linux下软件安装一般有三种方式:RPM包方式(通过Redhat 第三方包管理系统).二进制包和源码包.本篇主要介绍二进制包安装mysql数据库的方式. 如何获取二进制源码包 当然是到mysql官网了!mysql官网地址: https://dev.mysql.com/downloads/mysql/ 选择社区开源版本,即Community Edition 如下图,下载对应的tar包文件即可. 安装前准备 VMware 下CentOS6 SecureCRT 8.1 用户SSH远程连接linux主