启动故障排错和修复

示例1

环境:centos6.10
故障:删除/sbin/init,删除系统第一个启动历程,导致无法启动
思绪:首先要明了init是由软件包安装的,其次此软件包存在于光盘中,可以将软件包中此文件导出

方式如下:
a)开机进入grub菜单,更改内核启动加载一个历程为init=/bin/bash
b)进入bash后,由于是只读文件系统需要重新以读写方式挂载,否则后续拷贝文件会失足:mount -o remount,rw /
c)挂载光盘,目的是为了找到内里的安装init的包:mount /dev/sr0 /mnt/
d)由于init是由upstart包安装的,执行如下操作拷贝其中的init文件
rpm2cpio /mnt/Packages/upstart-0.6.5-17.el6.x86_64.rpm |cpio -idv ./sbin/init
e)将系统历程文件放入根分区的sbin下即可:mv ./sbin/init /sbin/init

重启即可

示例2

环境:centos6.10
故障:删除boot分区和启动加载剧本
思绪:由于内核和指导都是在boot分区中,删除了boot分区,系统无法正常启动,无法进入grub,而且grub.conf,启动菜单也没有了。而且没有挂载执行剧本,根和swap都无法自动挂载。必须进入光盘救援模式。重新挂载,找到根分区,并安装内核,天生grub并制作启动菜单grub.conf.

方式如下:
A:挂载根分区
a)查看分区表信息:fdisk -l (可以看到各分区的容量)
b)除了swap分区外,实验挂载(通常根分区比boot分区大)
mount /dev/sda2 /mnt/sysimage
c) 实验切根:chroot /mnt/sysimage ;ls 可以查看根下目录
d)重新制作fstab开机挂载文件如下:
vi /mnt/sysimage/etc/fstab
/dev/sda1 /boot defaults 0 0
/dev/sda2 / defaults 0 0
/dev/sda3 swap swap 0 0
e)重启即可看到各个分区的挂载情形,然则boot的内核和启动菜单并没有天生,以是无法正常启动。

B:天生内核和启动菜单
a)进入光盘救援模式
b)切根:chroot /mnt/sysimage
c)挂载光盘:mount /dev/sr0 /mnt
d)安装内核:yum reinstall -y kernel (由于是删除了内核并不是卸载以是要使用reinstall)
e)修复grub:grub-install /dev/sda (历程可能有点慢)
f)天生启动菜单grub.conf:
vim /boo/grub/grub.conf
default=0
timeout=3
title centos6.10 linux
root (hd0,0)
kernel /vmlinuz-2.6.32-754.el6.x86_64 root=/dev/sda2 rhgb quiet
initrd /initramfs-2.6.32-754.el6.x86_64.img

vmlinz和initramfs可以从命令行读入,方式是vim的匹配模式

:r!ls /boot/vmlinuz****(initramfs**

,

联博统计

www.yiyauan.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。

,

C:重启即可:reboot