linux rc.sysinit修复

2020-07-10 14:54:57 浏览数 (1)

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

代码语言:javascript复制
  #删除/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 人点赞