Linux系统引导过程

目录

        一、Linux的系统开机过程

          1.1 开机自检

        1.2 MBR引导

        1.3 GRUB引导菜单

        1.4 加载Linux内核

        1.5 init进程初始化

        二、Systemd

        2.1 systemd概述

        2.2 systemd单元类型

        三、模拟实验

        3.1 模拟备份修复扇区实验

        3.2 更改root用户密码


        一、Linux的系统开机过程

          1.1 开机自检

        当用户开启服务器后,根据BIOS里的启动设备来启动系统(通常有硬盘和光盘)并检查CPU,硬盘等硬件信息。

        1.2 MBR引导

        MBR引导:是存放在硬盘中的引导程序,将系统控制权传递给包含操作系统引导文件的分区,并启动分区中的grub引导程序(共512字节,446字节属于配置文件,66字节属于分区表)

        1.3 GRUB引导菜单

        统一资源引导器,它的工作是提供一个菜单,允许用户选择要启动的系统或不同的内核版本;把用户选定的内核装载到RAM中的特定空间中,然后解压、展开,而后把系统控制权移交给内核。

  Grub目前有两个版本:

  1、GRUB 0.X:Grub Legacy(CentOS5、6,version 0.97);

  2、GRUB 1.X:Grub2(CentOS7,version 1.96)。

        1.4 加载Linux内核

       负责在硬件和系统之间互相调度,充当翻译官,当内核拥有完全控制权时,内核就把自己和镜像文件加载到内存当中。

        可以进入/boot目录下查看默认内核文件位置“/boot/vmlinuz-3.10.0-514.el7.x86_64”

        1.5 init进程初始化

        系统的第一个正在运行的程序。

        加载硬件驱动程序,内核把init进程加载到内存中运行。

        init 系统中有多个运行模式。如果没有默认的运行模式,那么用户将进入系统控制台,手动决定进入何种运行模式。

        二、Systemd

        2.1 systemd概述

        systemd是Linux操作系统的一种init软件

        centos7中采用采用全新的启动方式,取代传统的sysvinit

        centos7中运行的第一个init进程是:/lib/systemd/systemd

        2.2 systemd单元类型

单元类型扩展名说明
service.service描述一个系统服务
socket.socket一个进程间的套接字
device.device内核识别的设备文件
mount.mount文件系统的挂载点
automount.automount文件系统的解挂载点
swap.swap内存交换设备或交换文件
path.path文件中的目录
timer.timer定时器
snapshot.snapshotSystemd 运行状态
scope.scope描述一些系统服务的分组信息
slice.slice在Cgroup的一组通过层次组织的管理系统过程
target.target描述一组systemd的单元

        2.3 运行级别所对应的systemd目标

运行级别systemd的target解释
0target关机状态,使用此级别会关机
1rescue.target单用户模式
2、4multi-user.target用户自定义运行级别,通常识别为级别3。
3multi-user.target字符界面的完整多用户的模式,大多数服务器主机运行在这个级别
5graphical.target多用户,图形界面。继承级别3的服务,并启动图形界面服务。
6reboot.target重启
emergencyemergency.target急救模式(Emergency shell)

        三、模拟实验

        3.1 模拟备份修复扇区实验

        配置一块硬盘并做好分区

[root@localhost ~]# lsblk                      查看硬盘
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   30G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   29G  0 part 
  ├─centos-root 253:0    0   27G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0   10G  0 part 
└─sdb2            8:18   0    5G  0 part /mnt
sdc               8:32   0   20G  0 disk                添加的硬盘
sr0              11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]#
[root@localhost ~]# fdisk /dev/sdc           开始分区默认配置
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xc6063539 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]#
[root@localhost ~]# mkdir /data     创建目录
[root@localhost ~]# mkfs.xfs /dev/sdc1    格式化分区
meta-data=/dev/sdc1              isize=512    agcount=4, agsize=1310656 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242624, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mount /dev/sdc1 /data     将分区挂载到创建的目录下

        备份MBR扇区数据到备份磁盘( /dev/sdc1)

[root@localhost ~]# dd if=/dev/sda of=/data/mbr.bak bs=512 count=1

        由于实验需要需要模拟破坏分区

[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1

       首先确保系统光盘正常加载 reboot重启设备,此时设备进入系统安装导向界面,选择"Rescue a CentOS Linux system"选项,进入急救模式

         进入输入1选择Continue并按Enter 键继续

         按Enter 键继续进入下一步

        (创建一个目录将备份磁盘的分区挂载到新建的目录下,并恢复数据,重启设备。)        

         设备配置完成

        3.2 更改root用户密码

         假设交接员工忘记超级管理密码时如何配置更改密码

        (配置前提光盘启动运行正常)

        首先进入更改系统的启动项选择CD-ROM Drive(虚拟机ESC键)

         进入急救模式

 

         进入急救模式后选择1,并回车更改密码

        (sh-4.2# chroot /mnt/sysimage     重设root密码bash-4.2# passwd root)

          此时再次修改启动项为硬盘启动(Hard Drive)

         查看连接xshell是否需要输入密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值