首页 > 其他分享 >八、启动引导

八、启动引导

时间:2024-02-22 10:12:38浏览次数:27  
标签:引导 grub hd0 启动 initrd conf root

八、启动引导

1.linux的启动流程
1.BIOS自检

2.启动GRUB/LILO

3.运行linux kernel 并检测硬件

4.挂载根文件系统

5.运行linux系统的第一个进程init(其PID 永远为1,是所有其他进程的父进程)

6.init读取系统引导配置文件 /etc/inittab 中的信息进行初始化

7.执行系统初始化脚本--/etc/rc.d/rc.sysinit,执行系统初始化(包括很多内容)

8.根据指定的运行级别(runlevel)来运行脚本程序,在执行脚本 /etc/rc.d/rc.local

9.运行一些其他的特别服务,一般为 /sbin/mingetty 和 /etc/X11/prefdm

10.linux控制台(console)提示用户输入用户名、密码进行登录




img

总结:BIOS初始化--检查外围设备--检查启动设备--读取MBR
2.在linux中常用的启动引导工具:grub和lilo

在linux和Windows两系统并存时就需要安装GRUB,GRUB被广泛的用于替代lilo,GRUB支持在启动时使用命令行模式,支持MD5加密保护,还可以从ext2/ext3、reiseFS/JFS、FAT、minix即FFS文件系统上启动其配置文件为/boot/grub/grub.conf,更改grub.conf即可立时生效如果硬盘上的MBR被更动过,可以用/sbin/grub-install /dev/hda 来重装grub现在我们打开 /boot/grub/grub.conf查看一下

vim /boot/grub/grub.conf

内容如下:
[root@centos6 ~]# vim /boot/grub/grub.conf

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda2
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0    #default=0表示默认启动第一个系统,如果系统有两个系统是用做什么做为分隔符的呢?title就是系统的分隔符,第一个title后面就是第一个系统,用0表示。
timeout=5   #timeout=5,就是默认在启动选择界面停留的时间,单位是秒。等待5秒自动进入默认操作系统
splashimage=(hd0,0)/grub/splash.xpm.gz #splashimage是grub启动背景界面,如果是自己写grub.conf文件,这个可以不用写。
hiddenmenu   # 隐藏菜单
title CentOS (2.6.32-279.el6.x86_64)  #title后面就是系统在启动时候显示的名字 
        root (hd0,0)  # root 启动文件所在位置
        kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=60f8bff4-1626-4ffa-a11c-57f0c41ea77a rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet #kernel内核所在的位置和名字
        initrd /initramfs-2.6.32-279.el6.x86_64.img  # initrd内核镜像的名字
        
        
        
        
        
        
grub.conf范例:

timeout=10  # 等待10秒自动进入默认操作系统
splashimage=(hd0,0)/grub/splash.xpm.gz    #grub启动背景画面
default=0  #默认进入第一个标题
title Red Hat Linux(2.4.20-18)  # Red Hat Linux标题
root(hd0,0)   #根文件系统位置
kernel /vmlinuz-2.4.20-18 ro root=LABEL=/ #核心位置与核心加载参数
initrd /initrd-2.4.20-18.img  #启动initrd ram盘
title Windows  # 另一个操作系统的标题
rootnoverify(hd0,1)  # 操作系统存放在hd0,1上,不要在grub里mount
chainloader +1   # 从hd0,1的第一个扇面启动

标签:引导,grub,hd0,启动,initrd,conf,root
From: https://www.cnblogs.com/nwq1101/p/18026703

相关文章

  • Windows10在启动时自动运行的应用
    Windows10在启动时自动运行的应用步骤:选择“开始”按钮,然后滚动查找你希望在启动时运行的应用。右键单击该应用,选择“更多”,然后选择“打开文件位置”。此操作会打开保存应用快捷方式的位置。如果没有“打开文件位置”选项,这意味着该应用无法在启动时运行。文件位置打......
  • Python启动其他程序
    通过python脚本来启动其他的程序,一般使用subprocessimportsubprocess#启动Windows上的计算机程序subprocess.Popen('C:\\Windows\\System32\\calc.exe')#启动记事本,并打开text.txt文件,在该列表中第一个元素表示程序名称,后面的都是参数subprocess.Popen(['C:\\Windows......
  • Kafka-批量启动和停止Kafka节点脚本
    1、编辑脚本#!/bin/bashzookeeper_home=/usr/local/zookeeperkafka_home=/usr/local/kafkazookeeper_array=(hadoop01hadoop02hadoop03)kafka_array=(hadoop01hadoop02hadoop03)##启动和停止Zookeeperfunctionzookeeper_operate(){zookeeper_operate=$@......
  • Zookeeper-批量启动和停止zookeeper节点脚本
    背景由于zookeeper的服务启动和停止,需要一台一台地去启动和停止。当部署的zookeeper节点多时非常麻烦,所以编写下面的脚本,用于提升启动和停止的效率。执行如下脚本需要确保:脚本存放的服务器与所有的zookeeper节点直接可以免密登录(服务器之间建立互信)。1、编辑脚本vi manage-z......
  • mysql服务启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序启
    报错如下: 解决办法:1.开始->cmd->以管理员身份运行目录切换到C:\ProgramFiles\MySQL\MySQLServer5.7\bin2.运行mysqld--initialize-insecure--user=mysql说明:初始化后,root密码位空3.运行netstartmysql 三、修改mysql57的root密码[2]四、参考[1] mysql服务启......
  • UEFI方式启动EfiGuard
    BootingtheloaderDownloadEfiGuardandrename EFI/Boot/Loader.efi to bootx64.efi.PlacethefilesonabootdrivesuchasaFAT32formattedUSBstick(forphysicalmachines)oranISO/virtualdisk(forVMs).Assumingdrive X:,thepathsforthetwofi......
  • hexo启动依赖问题,node npm版本过低
    调整:安装nvm工具,切换高一点版本,本例为v18.19.1。(安装示例的14.17未通过)做预先的升级工作:sudoaptupdatesudoaptupgradecurl-o-https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh|bash生效命令:source~/.bashrc查看版本:nvmls-remote删除npm缓存......
  • Nginx服务的启动和停止
    使用Nginx的过程中,我们可能总是需要修改nginx配置文件,然后不停地启动或者停止nginx服务。这里简单讲一下nginx的相关命令行。找到nginx的安装路径whereisnginx此文章 /usr/local/nginx/sbin/是我本地nginx的安装路径一、启动nginx服务在nginx所在目录执行以下命令:以下三......
  • Android 《ViewPager 实现引导页》
    布局文件activity_launch_simple.xml<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xm......
  • nginx启动报错:ngx_http_image_filter_module.so" version 1016001 instead of 1022001
    问题现象,启动nginx,提示版本不对[root@k8s-test-node2modules]#/data/nginx/sbin/nginxnginx:[emerg]module"/usr/lib64/nginx/modules/ngx_http_image_filter_module.so"version1016001insteadof1022001in/usr/share/nginx/modules/mod-http-image-filter.conf:1......