修改linux进程启动加载地址,Linux系统引导过程及修复排错

1.通电

通电原因与系统本身无关。

2.bios初始化:

BIOS:Basic Input Output System,在IBM PC兼容系统上,是一种业界标准的固件接口。bios是个人电脑启动时加载的第一个软件,是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制,BIOS是连接软件程序与硬件设备的一座"桥梁只有在开机时才可以进行设置。

bios的自检功能: 微机接通电源后,系统将有一个对内部各个设备进行检查的过程,这是由一个通常称之为POST(Power On Self Test,上电自检)的程序来完成的。完整的POST自检将包括CPU、640K基本内存、1M以上的扩展内存、ROM、主板、 CMOS存贮器、串并口、显示卡、软硬盘子系统及键盘测试。。自检中若发现问题,系统将给出提示信息或鸣笛警告。

bios的初始化功能: 对硬件进行检测,初始化硬件时钟,当电脑启动时会读取硬件设置的参数,并和实际硬件设置进行比较,如果不符合,会影响系统的启动。

bios的引导程序: 引导DOS或其他操作系统。BIOS先从软盘或硬盘的开始扇区读取引导记录,如果没有找到,则会在显示器上显示没有引导设备,如果找到引导记录会把电脑的控制权转给引导记录,由引导记录把操作系统装入电脑,在电脑启动成功后,BIOS的这部分任务就完成了。

3.磁盘引导

磁道: 当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。

主引导记录(MBR,Master Boot Record):是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。 当mbr数据丢失系统会因为找不到启动分区而停止启动。

mbr(主引导记录):0磁道1扇区446 作用: 记录grub2引导文件的位置

问题模拟方式:清空系统磁盘dev/nvme0n1上的mbr引导数据

dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1

问题解决方式: 用光盘进入系统挽救模式 ,重新安装grub2到系统硬盘上

chroot /mnt/sysimage grub2-install /dev/xxxxxx

实验:

在rhel8中

问题模拟:

73f933f2766d1bd5e79d1095ada8d89b.png

3f26badde8278af64ca3e93d1efbbf56.png5117f06951db1bd2484527900cb76754.png

e3154e8f56b4c1f122ab9c6a125ab672.png

3d10eb971724104bf8b0450ed3ad972a.png

解决方式:

1.使光盘在启动时自动连接,从固件bios里设置从光盘启动

b01c7d980bcabd0ff6d9083882d24f66.png

8adc88b1042e0367b72bc86ad319cd3f.png

2.选择排错系统,进入挽救模式

50318a926c3c9f02e7b0fb9dd62e949e.png

df8065d4b1c031453663d6863b87308e.png

35f7ba31275fd3c84e05f36da7a18aae.png

5b891ecdb984f54f408132a337c9e4f3.png

a53568fbbf092f20390236a006c5ae6c.png

3.再次更改为硬盘启动,可以正常启动

d8620c4a7405970de99c531995a2f688.png

在rhel7中

问题模拟:

117c9596929ea0835ab8a91536e8c59f.png

e7a23e6908c27ca4bd0ae6a586626d4a.png

57624809e912dba2d2dc2f5114baae7e.png

6664a669aaa903cc028a1146d3ffc4da.png

f7c79b5c118a14360a190041d0bbceed.png

解决方式:

186a4d16bfdba357d46d674ba697b537.png

25f06428c00ac5ba4149e0fbc835eb5e.png

81efb2d48f2472ab241691e41fb5e3ae.png

b1b1c6b9764fb3f874ac6619e2fbe84b.png

1796b1afc9e7cc533b090f28b8b1fd06.png

da0a687bfb20a93112f7fab1acae1678.png

9eae6e19775301c32bda0c7891382735.png

5a37cb9cfff9bcff3a44f14ef748b60d.png

cc173db77ed13ccf3b919791225e7b21.png

4.grub2文件引导

GRUB(GRand Unified Bootloade):是一个来自GNU项目的多操作系统启动程序。GRUB允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

0f04b0ec2087860080b24ddc32c588f3.png

rhel7中的文件位置: /boot/grub2/grub.cfg

指定/boot位置 指定系统启动时加载文件名称

4a075e916615412db6f3e9726de4d3db.png

5f087df7a0b1a95efa5398c5bab07157.png

rhel8中的grub2文件位置:

/boot/grub2/grub.cfg 指定/boot位置

/boot/loader/entries/xxxxxxxxx.conf 指定系统启动时加载文件名称

5e4772ed41e2cd20c43befb29d5f7c57.png

458d33ba83870ae1660a7e2e047bd4ac.png

e068c0155b189acd185b5eb0378458ad.png

31768c0ee04f84190d6adb21cda9fb42.png

rhel7中模拟问题:

rm  -fr  /boot/grub2/grub.cfg

解决问题:

1.grub2-mkconifg  >  /boot/grub2/grub.cfg

2.永久记录引导过程:

kerne-install   add    内核版本号    内核镜像

kernel-install  add   $ (uname -r)   /lib/modules/$(uname -r)/vmlinuz

rhel8中模拟问题:

rm  -fr  /boot/loader/entries/xxxxxxxxx.conf

解决问题:

1.手动对设备进行引导(不能够永久记录引导过程)

1> set  root=‘hd0,msdos1’ (设置分区:第一块硬盘的第一个分区,/boot分区)

2> linux16   /vmlinuz-4.18.0-80.el8.x86_64 ro root=/dev/nvme0n1p3 (内核镜像只读挂载在根/分区,可用df查看)

3> initrd16  /initramfs-4.18.0-80.el8.x86_64.img boot(系统初始化镜像)

2.永久记录引导过程:

kerne-install  add  内核版本号  内核镜像

kernel-install  add   $ (uname -r)   /lib/modules/$(uname -r)/vmlinuz

实验:

在rhel8中

问题模拟:

1620e50f0dc8a041daad6c3cf1da1a10.png

eb7835442a8936cf7db1a308df0c509e.png

解决问题:

1.手动对设备进行引导

87953a810978966c709b389efcafbf0b.png

fe663f3238a6774b8ed8cb6751ffda0a.png

27b1d92c6c264e4ed0ad1c696d618600.pngefafcf81c4f70d2e82cc25d7f06f4c59.png

手动对设备进行引导不能够永久记录引导过程7f23e3b4742dd97ea600ff5e83a5114f.png

144aaa96b076cc761d2c7b52e4a54965.png

在rhel7中

问题模拟:

93b6922575f3ce81969a77b3b220bc1c.png

3c67b373ea32eb17ecef2e37495e85f4.png

解决问题:

e6942c4320a066339ad41d8f7ad47a70.png

8b534530e745059be6f035de3c583d0c.png

f24c18ff270a08388a6c6ce249738c28.png

7483969db596b6ad0bd31b0a76656eda.png

5.内核加载

/boot/vmlinuz-$ (uname -r)

内核镜像:/boot/vmlinuz-3.10.0-957.el7.x86_64

加载内核作用: 系统初始化硬件设备,只读挂载根/设备,为下一步系统初始化做准备。

模拟问题: rm -fr /boot/vmlinuz-$(uname -r)

解决问题:重装内核

1>进入到挽救模式

2>chroot /mnt/sysimage 得到真实的跟/挂载

3>mount /dev/cdrom /mnt 内核镜像在光盘中,挂载光盘

4>cd /mnt/BaseOS/Packages

rhel8中: rpm -ivh kernel-core-4.18.0-80.el8.x86_64.rpm --force 重新安装,因为已经安装过所以要强制安装

rhel7中: rpm -ivh kernel-3.10.0-957.el7.x86_64.rpm --force 重新安装,因为已经安装过所以要强制安装

实验:

在rhel8中

问题模拟:

f754f04768470b4fd90f195283c7beae.png

864180e3b77073724f081bbb503f5c78.png

解决问题:

87e5981cebd8afbe20ca3ecd41f42692.png

ea7a32a4293f2372635639fbcb3247ab.png

6e3f3dd2086594a9af1b0c049917c93f.png

a89bfae61c9267a8c759f3d7cb50d4ef.png

60b3e912f18abca0e705c969c61fca98.png

dd6c7dcc01af57fa6582c8da0c4892dd.png

1ae74331df502cfe47628670977a35bc.png

8483154bc969082a68f5de6c1ff6989b.png

bbefd5d0d75809486acf1cdbb1ccb566.png

在rhel7中

问题模拟:

27da5d66bb8fbf22b287acee760473ef.png

7e155fb9863f4c183b7b79eb2e689080.png

解决问题:

2886a51686ef22c393e5c1d172b923f8.png

ff242ef3ff3a7f2dc273e524a668185d.png

56702497a1be2920d4b72f5d1f722332.png

1955372b7c54fc83ed03303289c953df.png

51a8bd107803b529ee01fdf1ce9312d7.png

ec52cc89f5f42a6618d99b7e7043f152.png

a1e98782d3eb14d8700946c6c0b6e9a8.png

6.系统初始化镜像

rhel8系统初始化镜像: /boot/initramfs-4.18.0-80.el8.x86_64.img

rhel7系统初始化镜像: /boot/initramfs-3.10.0-957.el7.x86_64.img

系统初始化镜像的作用:加载系统时钟,加载selinux,加载系统主机信息,加载/etc/fstab文件中磁盘挂载策略,加载磁盘配额,初始化系统程序开启开机启动服务,开启虚拟控制台,开启图形等。

398f0a82839da836472cb691dc253a73.png

问题出现: rm -fr /boot/initramfs-xxxxx.img

恢复: mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

164c4daa70b571c3b28bd51e931dee6f.png

在rhel8中

问题模拟:

5f30862a5a777583ec15a43d221f2453.png

02e8dcbf332d59d5b7ec5ecd45b031e6.png

解决问题:

ffcbe5037d5a1eda1acdbab991043784.png

cf92e207f24b8658676cc122960c8eb6.png

8d6b084e691143bded6363a7e1f3e080.png

99532f650ae9502ba8d9a096ab4fb916.png

ff7496a246d13342b034951a4dc1e45c.png

9e867c2abf6ff1f42cbf4c20d209627c.png

7d1a9153ec2868ebe3c9a122c2cd6675.png

在rhel8中

问题模拟:

38acd5d80a3b895f169c66a849cfbef7.png

b57a6f71f63df701de23f5a6c2093c02.png

解决问题:

ba598172c1a83a3e2c9c73fa9140be0f.png

e9af75053b436a465544410e74ecfeda.png

9b7bb4eaba267c6a3bda230b6e7841a4.png

2c4db2167d0d29bfa0d21df654c88458.png

05a31f5ac866849792fece3694f966f9.png

77923048c3b5224a75a9a81761556434.png

96660b05a44c07234fef25561ad0b8ce.png

7.系统启动级别

系统启动级别

0 关机

1 单用户

2 无图形网络模式

3 无图形网络模式

4 无图形网络模式

5 有图形网络模式

6 重启

e9ab00c4f52636dab6b56bb8e04ac6bd.png

问题出现: systemctl set-default reboot.target

解决问题:

1>在开机选择界面按进入到引导文件编辑模式

2>在内核加载选项最后加入启动级别5 ctrl+x

3>systemctl set-default graphical.target

在rhel8中

问题模拟:

83bfed1e8217f732f5c8d32b8115810d.png

解决问题:

35d45fcbca7f38fefbdd947f6e241737.png

6039ac739236430093fcea9ebb81f272.png

561adba5a830d9fd30516b074f57831b.png

e4fd991d3eea1eb3821a59a64a5dea9a.png

在rhel7中

问题模拟:

bb2294b0db1dea4f2467384eb4c57ac8.png

解决问题:

4e4b73ac1250f3de9137010f3bd906f5.png

20362058788dc27c5904e36b8b2adab4.png

a1286ee7dc91efe8cb80c999d2ae7652.png

122d6c42dbf8661a3b5dd18bab818c32.png

8.超级用户密码忘记

问题出现:超级用户密码忘记

解决问题:

1>在开机选择界面按进入到引导文件编辑模式

2>在内核加载选项最后删除到ro选项

3>更改ro---->rw

4>加入rd.break参数终止系统启动进入单用户模式

5>ctrl+x启动

6>chroot /sysroot

7>echo lee| passwd --stdin root

8>touch /.autorelabel ##当/.autorelabel文件存在selinux会重新初始化

在rhel8中

解决问题:

5b46ec0c7d2123b978ba8ff6787b5fe5.png

57b546baf8a020618ff227ec598e993b.png

eb3673d486e87f41bdb694636c05f218.png

347e9459f69e90bc0ca81b4e34baa2a9.png

c624e3461116312d793609a7f8bd3e79.png

在rhel7中

解决问题模拟:

c7988c9972bf1d148d20258a6c9e4d3b.png

101acc021105f9285fdb33afa500a09e.png

fe6acf629bd0760c511f1c44d7e8f14a.png

b6081b7a21914e08e61c31cb8ae2773d.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值