linux操作系统的系统排错

                                         系统排错

一.grub磁盘引导阶段

1.mbr的作用是为了记录/boot目录所在分区位置磁盘的0磁道1扇区的前446字节。

如果446个字节丢失,怎样动系统启:

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

reboot

2.根据系统版本添加光驱选择镜像

打开虚拟机管理器:

3.从光驱启动,开机选择修复:

选择镜像

选择从光驱启动

开机启动选择修复


进入系统


进入系统后,打开shell执行:     chroot   /mnt/sysimage     

df查看boot程序所在分区,安装主引导分区程序:grub2-install    /dev/vda

安装完成后,以硬盘驱动开机即可


二.grub文件引导阶段

1.boot分区的引导文件:/boot/grub2/grub.cfg,这个引导文件指定了boot分区的位置;加载内核;启动系统初始化程序,如果引导文件缺失系统不能启动。


2.如将引导文件删除,可通过命令恢复:grub2-mkconfig   >  /boot/grub2/grub.cfg

3.如果系统没有该文件,启动时需手动引导:

set  root='hd0,msdos1'

linux16  /boot/vmlinz-3.10.0-123.e17.x86_64   ro  root=/dev/vda1

initrd16  /boot/initramfs-3.10.0-123.e17.x86_64.img

boot

进入系统后需生成grub.cfg引导文件:grub2-mkconfig   >  /boot/grub2/grub.cfg


三.内核引导软件损坏:vmlinuz

1.内核引导文件:vmlinuz。检测硬件设备,设备驱动初始化;将/只读挂载,载入初始化进程systemd中。

2.内核文件损坏,无法开机,需重新安装内核软件。

启动失败:

3.开机中时从光驱启动,选择镜像,选择修复。

选择镜像:

从光驱启动:

选择修复进入修复模式:

点击:Continue

确认

再次确认

进入系统:


4.进入系统后:

chroot  /mnt/sysimage

mount  /dev/sr0    /mnt/       挂载

mkdir  /kernel                        建立目录

cp  /mnt/Packages/kernel-3.10.0-327.e17.x86_64.rpm    /kernel/     复制文件

cd  /kernel                            进入到目录

ls                                           查看

5.打开kernel,获得内核引导软件:

rpm2ccpio kernel-3.10.0-327.e17.x86_64.rpm  | cpio -id

cp  ./boot/vmlinuz-3.10.0-327.e17.x86_64  /boot   复制内核软件到boot下

6.查看boot分区文件完整,之后以虚拟硬盘开机启动。

四.img文件损坏

1.如果不小心删除:initramfs-3.10.0-123.e17.x86_64.img

可通过命令mkinitrd  /boot/initramfs-`uname  -r`.img  `uname  -r`

2.img文件损坏后,无法正常开机,需重新建立img文件。

3.从光驱启动,开机中选择修复,建立img文件:

mkinitrd  /boot/initramfs-`uname  -r`.img  `uname  -r`,

查看boot分区自恋完整,从硬盘启动即可。

五.systemd初始化

1.systemd初始化目录:/etc/systemd/system/multi-user.target.wants/。

开启selinux和systemd-tools;加载内核参数;加系统时钟,键盘,主机名称。

读写挂载/文件系统;激活raid,lvm设备;激活系统配额。

启动/etc/systemd/system/multi-user.target.wants/中的所有脚本;启动图形。


2.若系统故障,开机后自动关机


设置后会开机后自动关机。

3.重启时按上下键,停止在系统引导,按e进入设置手动引导,输入 5设置图形化界面开启,ctrl  +  x启动。

开启后,修改systemd初始化默认参数,进行修复。如不修改,下次开机后会自动关机。

systemctl set-default  graphical.target

六.root用户修改密码

1.重启时按上下键,停止在系统引导,按e进入设置手动引导。

2.在内核引导时找到linux16这行,从最后UTF-8删到ro,把ro改为rw  rd.break

ctrl  +  x启动。

3.进入后切换到真实系统环境,修改密码:

chroot   /sysroot

passwd  (root)

4.建立文件/.autorelabel

注意:当selinux关闭时,可不建立该文件;当selinux开启时,必须建立该文件。


5.输入exit两次即可,重新启动密码修改成功。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值