linux022系统排错与恢复

版权声明:皆为本人原创,复制必究 https://blog.csdn.net/m493096871/article/details/83961335


bios 初始化   基本输入输出系统  将硬件置于已知状态并准备好系统以加载操作系统
一般 f12

磁盘引导阶段grub2

grub2 文件引导阶段
指定boot分区

修改root密码
进入选择界面后按e

然后修改一些文件取消他的认证
rw rd.break
删除.img 后面的内容

ctrl+x

输入命令
chroot  /sysroot/
passwd
再建立
touch /.anturelabel

exit reboot


1磁盘引导阶段出问题  mbr 主引导记录的恢复
模拟问题 dd if=/dev/zero  of=/dev/vda  bs=446 count=1
要确保你修改的硬盘是启动硬盘

修改完光盘启动后进入挽救模式
然后
chroot  /mnt/sysimage
grub2-install /dev/vda
exit
exit

去掉光盘就可以了


2 删除了 /boot/grub2/grub.cfg磁盘引导
当系统没有重新启动时
grub2-mkconfig  > /boot/grub2/grub.cfg
当系统重启后
会有grub操作命令
set root='hd0,msdos1'
linux16 /boot/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda1(boot所在分区)
initrd16 /boot/initramfs-3.10.0-123.e17.x86_64.img
boot
开机后以上操作只是自己手动引导输入 如果要以后自动引导输入就需要
grub2-mkconfig  > /boot/grub2/grub.cfg

这里解释下 root的位置,如果你的boot没有单独挂载出来,那么就在根目录中,就直接用上面的操作就可以,但是前提是确保你的分区在第一块当中,如果你的boot单独分了出来,那么就需要,你把root='hd0,msdosX'  X为你boot的区  这时候上面的命令中就去掉/boot就可以  比如直接
initrd16 /initramfs-3.10.0-123.e17.x86_64.img
因为这个时候是直接在boot目录下的,所以不需要重复进入boot,本身也是错误的操作。


3内核丢了怎么做

rm -fr /boot/vmlinuz....
仍然是进入光盘的挽救模式
chroot /mnt/sysimage/
mkdir /westos
mount /dev/sr0 /westos
cp /westos/Packages/kernel-3....   /mnt
chmod 777 /mnt
rpm2cpio /mnt/kernel...   |cpio -id
cd /mnt/boot
cp  vmlinuz-3...   /boot/
exit
exit

就可以了  说白了就是将光盘中的内核文件恢复你你删除的内核文件


4初始化镜像文件  
/boot/initramfs-3......img
这个文件是自己生成的

生成的命令是
mkinitrd  /boot/initramfs-内核版本号  内核版本号
用 uname -r 查看内核版本号

mkinitrd  /boot/initramfs-$(uname -r).img  $(uname -r)
自动填充内核版本号


在挽救模式下
chroot /mnt/sysimage/
mkinitrd /boot/initramfs-$(uname -r).img  $(uname -r)
exit exit
注意不要忘记.img


5如果删掉 /boot/*

将上面的操作做一遍就好


6系统启动级别出错
systemctl set-default graphical.target


7如果 chroot 时 发生错误  就将 /bin/bash  
复制到/mnt/sysimage/bin/

猜你喜欢

转载自blog.csdn.net/m493096871/article/details/83961335