Linux系统排错

1.当主引导记录被清除时(本次实验不建议在win10进行)

(1)mbr主引导记录为446字节,千万别多删

Linux系统排错

当reboot后:

Linux系统排错Linux系统排错Linux系统排错

进入挽救模式:(把cdrom1放在第一个位置)

Linux系统排错

Linux系统排错

Linux系统排错

Linux系统排错

Linux系统排错

Linux系统排错

Linux系统排错

显示安装完成后,没有报错,

输入:

exit
exit

退出挽救模式

(2)关闭虚拟机后调换Boot Options:(硬盘进入,虚拟机恢复正常)

Linux系统排错

2.引导文件丢失
##错误形成
##rm -fr /boot/grub2/grub.cfg

Linux系统排错

##解决
(1)系统没有重新启动时
grub2-mkconfig > /boot/grub2/grub.cfg

Linux系统排错

(2)当系统被重新启动时
grub > set root='hd0,msdos1'  ##位置不固定,位置指定/boot所在分区
grub > linux16 /boot/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda1  ##根分区的设备名称
grub > initrd16 /boot/initramfs-3.10.0-123.e17.x86_64.img
grub > boot

系统开机之后读取的是 /boot/grub2/grub.cfg

Linux系统排错

以上操作都是临时的,还要进行下面的操作把引导文件再重新导回来,否则重启之后又要,再次编写配置信息
grub2-mkconfig > /boot/grub2/grub.cfg

(3)也可以加上一些指定的功能,修改配置文件就可以实现,Linux的可定制性非常高

vim /boot/grub2/grub.cfg
:
set timeout=10                     ##可以修改时间
menuentry ' asgdfads   '      ##修改系统名称
{   set root='hd0,msdos1'
    chainloader +1
}
grub2-set-default 1           ##默认开机进入系统的顺序,0表示第一个系统,以此类推

Linux系统排错

3.内核文件丢失
##错误形成
rm -fr /boot/vmlinuz-3.10.0-123.e17.x86_64
##解决
进入到挽救模式     ##导入光驱,在Boot Options下把CDROM1调到第一个位置,即可进入挽救模式
chroot /mnt/sysimage
mkdir /rhel7
mount /dev/sr0 /rhel7   /rhel7是只读文件
cd /rhel7/Packages
cp kernel-3.10.0-123.e17.x86_64.rpm /mnt
cd /mnt
rpm2cpio  kernel-3.10.0-123.e17.x86_64.rpm | cpio -id    ##分解压缩包到当前目录
cd boot              ##进入到当前目录的boot目录下,/mnt里面就有boot目录
cp vmlinuz-3.10.0-123.e17.x86_64  /boot
exit
exit

Linux系统排错

4.系统初始化镜像文件丢失
##错误形成
rm -fr initramfs-3.10.0-123.el7.x86_64.img

Linux系统排错

(1)当系统没有重启时
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)  ##可以重新生成初始化镜像文件

(2)当系统重启时
进入挽救模式
chroot /mnt/sysimage
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
exit
exit

Linux系统排错

4.当/boot分区被删掉之后
##错误形成
rm -fr /boot    (重启后无法读取硬盘信息)

Linux系统排错

进入挽救模式
chroot /mnt/sysimage
mkdir /boot
grub2-install /dev/vda
mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-123.e17.x86_64.rpm --force  ##强制安装
grub2-mkconfig > /boot/grub2/grub.cfg
exit
exit

Linux系统排错

6.当开机启动级别被篡改
##错误形成
systemctl set-default reboot.target        ###系统无限重启关闭

Linux系统排错

##解决
1.开机按上下键停止读秒
2.按“E”进入编辑模式
3.选择内核启动行
linux16 /vmlinuz-xxxxxx ro xxxxxxxxxx 改变为:
linux16 /vmlinuz-xxxxxx rw rd.break
4.ctrl+x
5.chroot /sysroot
6.rm -fr /etc/systemd/system/default.target
7.ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target    ###建立链接
8.exit
9.exit

Linux系统排错

开机自启的设置都是些链接,服务开启情况在/etc/systemd/system/multi-user.target.wants这个文件里


当关闭sshd服务,在/etc/systemd/system/multi-user.target.wants里就会删除服务对应的文件

Linux系统排错

当开启服务,/etc/systemd/system/multi-user.target.wants就会建立链接,服务文件也就自动建立

Linux系统排错

7.密码忘记(物理安全是前提)
##解决
1.开机按上下键停止读秒
2.按“E”进入编辑模式
3.选择内核启动行
linux16 /vmlinuz-xxxxxx ro xxxxxxxxxx 改变为:
linux16 /vmlinuz-xxxxxx rw rd.break

ctrl+x            

chroot /sysroot
passwd
touch /.autorelabel
exit
exit

Linux系统排错

8.当进入挽救模式后,chroot没有/bin/bash这个命令,没有什么就给什么,复制/bin/bash到/mnt/sysimage/bin添加上这个命令后,正常运行。

Linux系统排错