专栏首页云技术+云运维linux rc.sysinit修复

linux rc.sysinit修复

一 删除boot目录下的所有文件

  #删除/boot,然后重启 [root@serv01 boot]# rm -rf * [root@serv01 boot]# ls [root@serv01 boot]# reboot #会发现出现错误 Error 15 #我们关闭虚拟机,然后使用光盘进行驱动,注意把内存调整为800M;重启计算机,在启动的一瞬间,按ESC键,进入Boot Menu,选择CD-ROM Drive #进入引导界面,选择Rescueinstalled system,Choose a language,选择English,Keyboad Type选择us,Rescue method选择Local CD/DVD,Setup networking选择no,Rescue选择Contiune,Rescue选择ok,下一个界面再次选择ok,shell start shell,启动shell。 #发现进入的是bash,此时cd /boot是不行的 #输入chroot/mnt/sysp_w_picpath进入/,然后进入/boot,发现bash变为sh #配置yum源, ls ls /iso mount /dev/cdrom /iso #重装内核 yum reinstall kernerl -y #也可以使用rpm安装 rpm -ivhkenerl-xxx --force --replacefiles #安装grub grub-install /dev/sda #退出sh exit #进入bash,然后重启 reboot #进入grub,依次执行以下内容(按Tab键) root (hd0,0) kernel /vmlinuz-2.6.32-131.0.15.el6.x86_64 initrd /initramfs-2.6.32-131.0.15.el6.x86_64.img boot #再次进入grub,依次执行以下内容 root (hd0,0) kernel /vmlinuz-2.6.32-131.0.15.el6.x86_64 initrd/initramfs-2.6.32-131.0.15.el6.x86_64.img boot #修复成功,可以编辑nf文件,下次就不重新引导,nf文件如下 [root@serv01 opt]# cd /boot/grub/ [root@serv01 grub]# vim nf [root@serv01 grub]# cat nf default=0 timeout=5 title RedHat Server 6.1       root(hd0,0)       kernel/vmlinuz-2.6.32-131.0.15.el6.x86_64 ro root=/dev/sda2       initrd/initramfs-2.6.32-131.0.15.el6.x86_64.img [root@larrywen /]# ssh 192.168.1.11 root@192.168.1.11's password: Last login: Wed Jul 31 18:05:19 2013 from192.168.1.1 #建议把/boot分区放在第一个位置

二 rc.sysinit文件丢失

  #rc.sysinit文件丢失,进入修复模式,方法同上,只需重新安装(拷贝)这个文件即可 [root@serv01 grub]# ls /etc/rc.d/rc.sysinit /etc/rc.d/rc.sysinit #安装出错 [root@serv01 grub]#yum install /etc/rc.d/rc.sysinit #重新安装 [root@serv01 grub]#yum reinstall /etc/rc.d/rc.sysinit [root@serv01 ~]# rpm -qf /etc/rc.d/rc.sysinit initscripts-9.03.23-1.el6.x86_6 #其他的系统文件丢失,类似操作

三 grub.conf文件被删除

[plain] 

#可以看到/etc/grub.conf/boot/grub/grub.conf是同一个文件  

[root@serv01 ~]# ls /etc/grub.conf/boot/grub/grub.conf -l  

-rw-------. 1 root root 817 Jul 30 23:47 /boot/grub/grub.conf  

lrwxrwxrwx. 1 root root  22 Jul 23 00:57 /etc/grub.conf ->../boot/grub/grub.conf  

#删除grub.conf文件后不能引导解决  

#第一步,查看磁盘分区  

[root@serv01 ~]# df -h  

Filesystem            Size  Used Avail Use% Mounted on  

/dev/sda2             9.7G  1.1G 8.1G  12% /  

tmpfs                 188M     0 188M   0% /dev/shm  

/dev/sda1             194M   25M 160M  14% /boot  

/dev/sda5             4.0G  137M 3.7G   4% /opt  

/dev/sr0              3.4G  3.4G    0 100% /iso  

#进入目录删除grub.conf文件  

[root@serv01 ~]# cd /boot/grub/  

[root@serv01 grub]# rm -rf grub.conf  

[root@serv01 grub]# reboot  

#依次输入这些命令  

root (hd0,0)  

#这一步按住tab键会自动补齐的  

kernel /  

#然后在后面加上root=/dev/sda2,注意,您的机器不一定是/dev/sda2,您要通过df -h查看根分区是属于哪个分区  

kernel /vmlinuz-2.6.32-131.0.15.el6.x86_64ro root=/dev/sda2  

#这一步按住tab键也会自动补齐的  

initrd /  

initrd/initramfs-2.6.32-131.0.15.el6.x86_64.img  

#注意,如果有多个内核,需要自行选择  

#最后输入boot重启  

#重启后,进入boot目录,发现没有生成这个文件  

[root@serv01 ~]# cd /boot/grub/  

[root@serv01 grub]# ls grub.conf  

ls: cannot access grub.conf: No such fileor directory  

#下次启动时我们发现还需要重新引导,此时我们重新创建这个文件,输入以下内容即可  

#这里有个小技巧,我们在使用vim编辑文件时,在命令模式,可以读入命令,就可以很方便地读取和拷贝(!表示执行命令)  

r !ls/boot/initramfs-2.6.32-131.0.15.el6.x86_64.img  

[root@serv01 grub]# vim grub.conf  

[root@serv01 grub]# cat grub.conf  

default=0  

timeout=5  

title RedHat Server 6.1  

       root(hd0,0)  

       kernel/vmlinuz-2.6.32-131.0.15.el6.x86_64 ro root=/dev/sda2  

       initrd/initramfs-2.6.32-131.0.15.el6.x86_64.img  

[root@larrywen grub]# ls  

device.map splash.xpm.gz  

[root@serv01 grub]# find . -name"*stage*"  

./minix_stage1_5  

./stage1  

./xfs_stage1_5  

./ufs2_stage1_5  

./ffs_stage1_5  

./e2fs_stage1_5  

./stage2  

./jfs_stage1_5  

./iso9660_stage1_5  

./vstafs_stage1_5  

./fat_stage1_5  

./reiserfs_stage1_5  

#把带有stage的文件全部删除也不影响,重启仍然正常  

[root@serv01 grub]# find . -name"*stage*" |xargs rm -rf {}\;  

[root@serv01 grub]# ll  

total 8  

-rw-r--r--. 1 root root   63 Jul 23 00:57 device.map  

-rw-r--r--. 1 root root  170 Jul 31 00:30 grub.conf  

lrwxrwxrwx. 1 root root   11 Jul 23 00:57 menu.lst -> ./grub.conf  

-rw-r--r--. 1 root root 1341 May  7  2010splash.xpm.gz  

四 进入boot目录,删除所有的文件,在不断开连接的情况下恢复

[plain] 

[root@serv01 ~]# cd /boot  

[root@serv01 boot]# ls  

config-2.6.32-131.0.15.el6.x86_64  initramfs-2.6.32-131.0.15.el6.x86_64.img  System.map-2.6.32-131.0.15.el6.x86_64  

efi                                lost+found                               vmlinuz-2.6.32-131.0.15.el6.x86_64  

grub                              symvers-2.6.32-131.0.15.el6.x86_64.gz  

[root@serv01 boot]# rm -rf *  

[root@serv01 boot]# ll  

total 0  

#第一步,安装grub  

[root@serv01 boot]# grub-install /dev/sda  

Probing devices to guess BIOS drives. Thismay take a long time.  

Installation finished. No error reported.  

This is the contents of the device map /boot/grub/device.map.  

Check if this is correct or not. If any ofthe lines is incorrect,  

fix it and re-run the script`grub-install'.  

(fd0)      /dev/fd0  

(hd0)      /dev/sda  

#第二步,安装kernel  

[root@serv01 boot]# yum reinstall kernel -y  

Loaded plugins: product-id, subscription-manager  

Updating Red Hat repositories.  

Setting up Reinstall Process  

rhel-iso                                                                                                      | 4.0 kB     00:00 ...  

Resolving Dependencies  

--> Running transaction check  

---> Package kernel.x86_640:2.6.32-131.0.15.el6 will be installed  

--> Finished Dependency Resolution  

Dependencies Resolved  

======================================================================================================================================  

 Package                     Arch                        Version                                  Repository                     Size  

======================================================================================================================================  

Reinstalling:  

 kernel                      x86_64                      2.6.32-131.0.15.el6                      rhel-iso                       23 M  

Transaction Summary  

======================================================================================================================================  

Reinstall     1 Package(s)  

Total download size: 23 M  

Installed size: 108 M  

Downloading Packages:  

Running rpm_check_debug  

Running Transaction Test  

Transaction Test Succeeded  

Running Transaction  

Installing :kernel-2.6.32-131.0.15.el6.x86_64                                                                                 1/1  

duration: 263(ms)  

Installed products updated.  

Installed:  

 kernel.x86_64 0:2.6.32-131.0.15.el6                                                                                                   

Complete!  

[root@serv01 boot]# ls  

config-2.6.32-131.0.15.el6.x86_64  initramfs-2.6.32-131.0.15.el6.x86_64.img  System.map-2.6.32-131.0.15.el6.x86_64  

grub                               symvers-2.6.32-131.0.15.el6.x86_64.gz     vmlinuz-2.6.32-131.0.15.el6.x86_64  

#进入grub目录,然后新建grub.conf文件  

[root@serv01 boot]# cd grub/  

[root@serv01 grub]# ll  

total 268  

-rw-r--r--. 1 root root     30 Jul 31 00:44 device.map  

-rw-r--r--. 1 root root  13396 Jul 31 00:44 e2fs_stage1_5  

-rw-r--r--. 1 root root  12620 Jul 31 00:44 fat_stage1_5  

-rw-r--r--. 1 root root  11764 Jul 31 00:44 ffs_stage1_5  

-rw-r--r--. 1 root root  11772 Jul 31 00:44 iso9660_stage1_5  

-rw-r--r--. 1 root root  13300 Jul 31 00:44 jfs_stage1_5  

-rw-r--r--. 1 root root  11956 Jul 31 00:44 minix_stage1_5  

-rw-r--r--. 1 root root  14444 Jul 31 00:44 reiserfs_stage1_5  

-rw-r--r--. 1 root root    512 Jul 31 00:44 stage1  

-rw-r--r--. 1 root root 126040 Jul 31 00:44stage2  

-rw-r--r--. 1 root root  12040 Jul 31 00:44 ufs2_stage1_5  

-rw-r--r--. 1 root root  11396 Jul 31 00:44 vstafs_stage1_5  

-rw-r--r--. 1 root root  13980 Jul 31 00:44 xfs_stage1_5  

[root@serv01 grub]# vim grub.conf  

#文件内容如下  

[root@serv01 grub]# cat grub.conf  

default=0  

timeout=5  

title Redhat Server 6.1  

       root(hd0,0)  

       kernel/vmlinuz-2.6.32-131.0.15.el6.x86_64 ro root=/dev/sda2 quiet  

       initrd/initramfs-2.6.32-131.0.15.el6.x86_64.img  

[root@serv01 grub]# reboot  

Broadcast message from root@serv01.host.com  

       (/dev/pts/0)at 0:47 ...  

The system is going down for reboot NOW!  

[root@serv01 grub]# Connection to192.168.1.11 closed by remote host.  

Connection to 192.168.1.11 closed.  

#重启后然后重新连接,成功,OK!  

[root@larrywen Desktop]# ssh 192.168.1.11  

root@192.168.1.11's password:  

Last login: Wed Jul 31 00:43:50 2013 from192.168.1.1  

[root@serv01 ~]#  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CentOS6.5升级自带glibc-2.12到glibc-2.15的过程解析(无需重启)

    在开发时项目所依赖的包需要更高版本的glibc库支持, 而Centos6.5 中glibc默认版本为2.12, 这样调试时可能会遇到报错。但如果不小心把动态库中...

    孙杰
  • workstation12虚机导入vcenter6.0的兼容性处理

    现象:使用vmware workstation pro 12建立的虚机,在ovf导入vcenter6.0时报兼容性错误。

    孙杰
  • Redhat openstack6.0的安装

    packstack –gen-answer-file=/root/answer.txt

    孙杰
  • linux每日命令(29):chown命令

    chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管...

    用户1214487
  • 附012.Kubeadm部署高可用Kubernetes

    Kubernetes的高可用主要指的是控制平面的高可用,即指多套Master节点组件和Etcd组件,工作节点通过负载均衡连接到各Master。HA有通常有如下两...

    木二
  • PHP二叉树(一):平衡二叉树(AVL)

    平衡二叉树 <?php /** * description: 平衡二叉树 */ //结点 class Node { public $key; ...

    琯琯
  • 利用Sqoop实现HDFS的数据与MySQL数据的互导

    注意: 查询语句必须包含where条件,即使不需要where条件,也需要写上"where $CONDITIONS"来表示没有select语句没有where条件

    CoderJed
  • Linux基础(day56)

    14.1 NFS介绍 NFS介绍 NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步 NFS最早...

    运维小白
  • Centos7下python2.x 和p

    用户2398817
  • 远程Ubuntu系统时获取Root权限

    在日常使用云服务器时,经常会遇到服务器无法获取root权限,特别是Ubuntu系统,系统在开始时,会让你采用你自定义的一个名称,类似windows10让你自己创...

    Debug客栈

扫码关注云+社区

领取腾讯云代金券