织梦 一键更新后网站空白开锁做网站哪个好
1 启动流程
  1.  加载 BIOS 的硬件信息,获取第一个启动设备  
  2.  读取第一个启动设备 MBR 的引导加载程序 (grub) 的启动信息  
  3.  加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备  
  4.  核心执行 init 程序,并获取默认的运行信息  
  5.  init 程序执行 / etc / rc.d / rc.sysinit 文件,重新挂载根文件系统  
  6.  启动核心的外挂模块  
  7.  init 执行运行的各个批处理文件 (scripts)  
  8.  init 执行 / etc / rc.d / rc.local  
  9.  执行 / bin / login 程序,等待用户登录  
  10 .  登录之后开始以 Shell 控制主机 
  2 BIOS
 Basic Input and Output System (基本输入输出系统)
是一个程序,其代码存储在主板的一颗 ROM 存储芯片上, ROM 是只能读不能写的。
 是一个程序,其代码存储在主板的一颗 ROM 存储芯片上, ROM 是只能读不能写的。
 当修改了 BIOS 里面的某些设置时,这个修改的数据是存储在另外一颗 RAM 存储芯片上, RAM 掉电后数据就会消失,所以主板上有一颗纽扣电池来给这个 RAM 供电,当这颗纽扣电池没电了, BIOS 里面的设置项,就又恢复成出厂设置了。 
   注: BIOS  程序无法更改,但是里面的一些属性数据是可以调整的。 
  3 内部细节
 POST    Power-On-Self-Test  (加电自检) 
  负责完成对 CPU 、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘等硬件情况的检测。 
  ROM     Read-Only Memory (只读存储)
 其存储的数据一般在硬件出厂时就写入固定了,断电数据也不会消失又称为固定存储器。
RAM      Random Access Memory (随机存储)
 随机取存,是指通电后,随时可在任意位置单元存取数据信息,不过断电后内部信息也随之消失。
4 自举程序
 对于一台计算机来讲,通电后第一件事就是运行 BIOS 程序, BIOS 程序最先做的,就是对硬件执  
  行 POST (加电自检),如果硬件自检不通过,会显示相应的错误,还会有相应的蜂鸣音。 
 5 启动加载器
定位:一台主机上允许安装多个操作系统,如何确定启动哪个系统,这就是bootloader的作用。
 Bootloader 叫引导加载器,引导程序。是个独立的软件,主要作用就是引导操作系统启动。 
  Grand  统一启动加载程序 , 又称多系统引导管理器。是 Linux 系统中最为常见的 Bootloader 之一。 
  6 引导程序
 系统的启动引导方式有两种,分别是 BIOS 模式和 UEFI 模式: 
  BIOS (基本输入输出系统)是一种传统的启动模式。 
  启动速度慢 : 需要依次初始化各个硬件设备,如硬盘、内存和显示器等,启动慢      
  硬盘容量限制: 只支持传统的 MBR 磁盘分区格式,这种只能处理容量小于 2TB 的硬盘。 
  功能有限: 图形界面相对简单,设置选项有限,且不支持网络启动等高级功能。 
   UEFI (统一可扩展固件接口)它在 BIOS 的基础上进行了改进,可以看作是 BIOS 的升级版。 
  支持大容量硬盘:  UEFI 基于 GPT (全局唯一标识分区表)分区结构,支持超过 2TB 的硬盘容量。 
 启动速度快 功能丰富 兼容性好
7 磁盘分区
 0 扇区, 1 - 2047 扇区, 2048 扇区 + 的分段在硬盘的结构和启动过程中扮演着重要的角色。  
 
 
 0 磁道 0 扇区( 512 字节) :  
 
 MBR 是 主引导记录 的简称,它是硬盘的第一个扇区( 512 字节)的内容,包含了硬盘的 :  
 
         主引导程序 [ 446 字节 ] :  Main Boot Loader  
 
         分区表 [ 64 字节 ] :  Disk Partition Table  
 
         分区结束标志 [ 2 字节 ] :  55  AA,  
 
 
 1 - 2047 :  
 
 紧随主引导扇区之后,直到第 2047 扇区结束。 
 
 该区域可能包含一些额外的引导信息或用于特定的硬件或软件需求。  
 
 为了确保主引导扇区的完整性和安全性,防止因数据写入而破坏主引导扇区的内容。  
 
 
 2048 +  
 
 是实际数据存储的开始位置。 就是我们的操作系统。 
 
 
 8 bootloader 的分段存放 
 
 第一阶段 :存储在 0 磁道 0 扇区的前 446 字节空间内 
  第二阶段 :1 扇区到 2047 扇区,使用这个过渡阶段来提供更高级的磁盘访问功能,例如支持不同的文件系统。它可以帮助 Stage 1  访问存储在磁盘分区中的更大的引导程序文件。存储2 阶段的文件系统驱动,保证 2nd 中的文件可读 
  第三阶段 :hd(0.0)/grub/grub.conf 
  分段作用:  
  0 扇区,通过分区表,获取系统盘在哪一个分区  
  1 - 2047 扇区,常见文件系统驱动,通过文件系统环境,获取读取 OS 文件的能力。  
  2048 扇区 + ,根据配置,加载 OS 系统的 boot 启动文件信息,然后进行系统启动。 
 8 Grub功能
 GRUB ( GRand Unified Bootloader )是一个启动加载程序,用于启动操作系统。   
         
            
  目前 grub 的配置文件主要有两种样式:  
  grub1 的配置文件在  / boot / grub / grub.conf  
  grub2 的配置文件在  / boot / grub2 / grub.cfg 
  9 系统启动
 Linux  的运行级别( Runlevels )是一种定义系统操作模式的机制,用于控制系统启动后的行为和服务的可用性。不同的运行级别对应不同的系统状态,例如多用户模式、单用户模式、图形界面模式等。 
 
 查看运行的级别 
  cat /etc/inittab              rocky系列 
  systemctl get-default   ubuntu系列 
 who -r
 runlevel
切换运行级别    
  方法 1 : init N     
  方法 2 : systemctl set-default xx.target 
  文件方式:  / etc / inittab   rocky系列 
 10 系统初始化
rocky9为例: 
  systemd 执行默认 target 配置,配置文件 / etc / systemd / system / default .target  
  systemd 执行 sysinit.target 初始化系统及 basic.target 准备操作系统  
  systemd 启动 multi-user.target  下的本机与服务器服务  
  systemd 执行 multi-user.target  下的 / etc / rc.d / rc.local  
  systemd 执行 multi-user.target 下的 getty.target 及登录服务  
  systemd 执行 graphical 需要的服务 
 11 ubuntu解决grub隐藏
 root@ubuntu24:~ # cat /etc/default/grub  
  GRUB_DEFAULT = 0  
  GRUB_TIMEOUT_STYLE = timeout  # 改成  timeout  
  GRUB_TIMEOUT = 10 # 大于 0  
  root@ubuntu24:~ # update-grub 
 12 服务管理定制服务文件
服务位置
 系统级服务:/etc/systemd/system/  或  /lib/systemd/system/
 用户级服务:/usr/lib/systemd/system
service unit file文件通常由三部分组成 格式如下
  实例:定制服务文件     vim /lib/systemd/system/hello.service   
 [Unit] 
Description=Hello World [Service] 
TimeoutStartSec=0
ExecStart=/bin/sh -c "while true; do echo Hello World; sleep 1; done"
ExecStop=/bin/kill sh[Install] 
WantedBy=multi-user.target 13 常见模块命令
lsmod - 查看已加载的模块
 modinfo - 查看模块详细信息
 insmod - 手动加载模块(低级命令)
 modprobe - 智能加载模块(高级命令)
 rmmod - 卸载模块
 全局配置:/etc/modules(旧版)或/etc/modules-load.d/目录(新版)
14 内核参数设置
临时修改内核参数 
  sysctl -w net.ipv4.ip_forward=1 
  sysctl net.ipv4.ip_forward                查看 
  cat /proc/sys/net/ipv4/ip_forward     查看 
  写配置文件,永久有效 
   vim /etc/sysctl.conf  
  .... .  
  net.ipv4.ip_forward = 0  
   r sysctl -p    重载生效 
  