博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux系统当出现一些问题的时候的引导过程及修复的办法
阅读量:3962 次
发布时间:2019-05-24

本文共 5056 字,大约阅读时间需要 16 分钟。

Linux系统当出现一些问题的时候的引导过程及修复的办法

不正确的操作会导致系统出现各种问题,在实际情况中,重装服务器显然是不现实的,因此我们需要了解系统启动原理并据此找到修复的方法。

1.通电

如果电脑打不开首先检查下是否通电了,有时候很有可能是没电了

2.bios 初始化

对硬件检测初始化硬件时钟

3.磁盘引导

在启动程序时,磁头经过mbr程序的指引跳转到boot分区,开启系统启动程序,读取相应的配置文件,系统正常启动,因此当 mbr 数据丢失时,系统会因为找不到启动分区而停止启动。

mbr=主引导记录=0 磁道 1 扇区 446 存储字节作用:记录 grub2 引导文件的位置当 mbr 数据丢失系统会因为找不到启动分区而停止启动问题模拟方式系统磁盘/dev/sdadd if=/dev/zero of=/dev/sda bs=446 count=1   ##清空系统/dev/sda 上的 mbr 数据恢复方式:用光盘进入系统挽救模式chroot /mnt/sysimagegrub2-install    /dev/xxxxxx    ##重新安装 grub2 到系统硬盘上
[root@node4 Desktop]# fdisk -l/dev/vda1  *       2048  1026047  1024000  500M 83 Linux[root@node4 Desktop]# dd if=/dev/zero of=/dev/vda bs=446 count=1[root@node4 Desktop]# dd if=/dev/sda  of=/dmnt/mbrfile bs=446 count=1 检查[root@node4 Desktop]# hexdump -C /mnt/vmbrfile[root@node4 Desktop]# reboot## 光盘挽救模式chroot /mnt/sysimagegrub2-install  /dev/vdaexitexit## 硬盘启动

4.grub2 文件引导

/boot/grub2/grub.cfg                    #总引导文件/boot/loader/entries/xxxxxxxxx.conf     #子引导文件删除上述任意一个文件都会导致系统无法正常启动指定/boot 位置指定系统启动时加载文件成名模拟问题:rhel8:rm -fr /boot/loader/entries/xxxxxxxxx.conf修复:rhel8:kernel-install add   内核版本号 内核镜像kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz手动引导set root='hd0,msdos1'linux16 /vmlinuz-3.10.0-957.el7.x86_64 ro root=/dev/nvme0n1p2initrd16 /initramfs-4.18.0-80.el8.x86_64.imgboot

模拟问题1:

[root@node4 grub2]# df/dev/vda3        7353344 4754276   2599068  65% /[root@localhost entries]# kernel-install --helpUsage:        /usr/bin/kernel-install add KERNEL-VERSION KERNEL-IMAGE        /usr/bin/kernel-install remove KERNEL-VERSION[root@node4 Desktop]# rm -fr /boot/loader/entries/*

----不重启修复:

[root@localhost entries]# kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64   ##不重启修复cp: cannot stat '/boot/bls.conf': No such file or directorysed: can't read /boot/loader/entries/fadbd3697c8d46e58d6fe5d850b2a381-0-rescue.conf: No such file or directory[root@localhost module]# cd /usr/lib/modules[root@localhost modules]# ls4.18.0-187.el8.x86_64  4.18.0-193.el8.x86_64[root@localhost modules]# cd 4.18.0-193.el8.x86_64[root@localhost 4.18.0-193.el8.x86_64]# lsbls.conf  [root@localhost 4.18.0-193.el8.x86_64]# cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf  /boot/[root@localhost 4.18.0-193.el8.x86_64]# cd /boot/[root@localhost boot]# lsbls.conf[root@localhost boot]# kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64

----重启修复:

## 开机界面操作set root='hd0,msdos1'linux16 /vmlinuz-4.18.0-193.e18.x86_64 ro root=/dev/vda3initrd /initramfs-4.18.0-193.e18.x86_64.imgboot## 开机后操作[root@node4 Desktop]# cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf /boot/[root@node4 grub2]# cd /boot[root@node4 grub2]# ls[root@node4 Desktop]# kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64[root@node4 grub2]# cd /boot/loader/entries/[root@localhost entries]# lsfadbd3697c8d46e58d6fe5d850b2a381-0-rescue.conffadbd3697c8d46e58d6fe5d850b2a381-4.18.0-193.el8.x86_64.conf

模拟问题2:

[root@node4 Desktop]# rm -fr /boot/grub2/grub.cfg  ## 删除总引导文件[root@node4 Desktop]# reboot

修复:

手动引导set root='hd0,msdos1'linux16 /vmlinuz-4.18.0-193.e18.x86_64 ro root=/dev/vda3initrd /initramfs-4.18.0-193.e18.x86_64.imgboot[root@node4 grub2]# cd /boot/grub2/[root@node4 grub2]# lsdevice.map  fonts  grubenv  i386-pc[root@node4 grub2]# grub2-mkconfig > /boot/grub2/grub.cfg[root@node4 grub2]# lsdevice.map  fonts  grub.cfg  grubenv  i386-pc

5.内核加载

加载内核作用:系统初始化硬件设备,只读挂在根目录下的设备

加载内核作用:/boot/vmlinuz-$(uname -r)系统初始化硬件设备只读挂在/设备问题出现:rm -fr /boot/vmlinuz-$(uname -r)恢复:拆解内核文安装包并复制内核压缩镜像到/boot进入到挽救模式chroot /mnt/sysimagemount /dev/cdrom /mediacd /media/BaseOS/Packagescp kernel-core-4.18.0-80.el8.x86_64.rpm /mnt/cd /mntrpm2cpio kernel-core-4.18.0-80.el8.x86_64.rpm | cpio -idcp /mnt/lib/modules/4.18.0-80.el8.x86_64/vmlinuz  /boot/vmlinuz-$(uname -r)exitexit
模拟问题:rm -fr /boot/vmlinuz-$(uname -r)恢复∶复制系统中usr下的内核文件到/boot中即可在关闭模式下选择光盘为第一启动项,启动系统,进入到挽救模式,执行以下命令:chroot /mnt/sysimagecp /usr/lib/modules/$(uname -r)/vmlinuz /boot/vmlinuz-$(uname -r)exitexit

6.系统初始化镜像

/boot/initramfs-4.18.0-80.el8.x86_64.img加载系统时钟加载 selinux加载系统主机信息加载/etc/fstab 文件中磁盘挂在策略加载磁盘配额初始化系统程序开启开机启动服务开启虚拟控制台开启图形问题出现:rm -fr /boot/initramfs-xxxxx.img恢复:mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
[root@node4 boot]# rm -fr initramfs-4.18.0-193.el8.x86_64.img[root@node4 boot]# reboot## 不重启修复[root@localhost boot]# mkinitrd --help  [root@localhost boot]# mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-193.el8.x86_64## 光盘启动 进入挽救模式mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ## 硬盘启动

7.系统启动级别

0 关机

1 单用户
2 无图形网络模式
3 无图形网络模式
4 无图形网络模式
5 有图形网络模式
6 重启

问题出现:systemctl set-default reboot.target恢复:在开机选择界面按
进入到引导文件编辑模式在内核加载选项最后加入启动级别 5ctrl+xsystemctl set-default graphical.target

8.超级用户密码忘记

安全问题首先要保证物理安全。

开机重启rw rd.break 1.在开机选择界面按
进入到引导文件编辑模式2.在内核加载选项最后删除到 ro 选项3.更改 ro---->rw4.加入 rd.break 参数终止系统启动进入单用户模式5.ctrl+x 启动恢复方法:1.在开机选择界面按
进入到引导文件编辑模式2.在内核加载选项最后删除到 ro 选项3.更改 ro---->rw4.加入 rd.break 参数终止系统启动进入单用户模式5.ctrl+x 启动6.chroot /sysroot7.echo lee| passwd --stdin root8.touch /.autorelabel ##当/.autorelabel 文件存在 selinux 会重新初始化

转载地址:http://ljhzi.baihongyu.com/

你可能感兴趣的文章
计算几何
查看>>
求解方程
查看>>
太弱了。。水题
查看>>
位运算(含应用)
查看>>
野指针与空指针
查看>>
图文混排效果
查看>>
urllib2.urlopen超时问题
查看>>
魏兴国:深入浅出DDoS攻击防御
查看>>
使连续的参考文献能够中间用破折号连起来
查看>>
Discover Feature Engineering, How to Engineer Features and How to Get Good at It
查看>>
36辆车,6条跑道,无计时器,最少几次比赛可以选出前三
查看>>
matlab2012b与matlab7.1执行set(gca,'Yscale','log')之后画到的直方图结果居然不同
查看>>
回文题
查看>>
AJAX应用之注册用户即时检测
查看>>
File 类小结
查看>>
java除去字符串空格
查看>>
jsp 2.0标记文件
查看>>
Hibernate中Criteria的完整用法
查看>>
sql jsp
查看>>
spring beans beanfactory applicationcontext
查看>>