在这里抱怨一下,工资怎么还不发给我呀!!没钱添饱肚子怎么学Linux,不求小康,只求温饱。
   今天的实验环境是一台RHEL6.0的机子
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
然后做如下的简单破坏:
##############################################
> #!/bin/sh                                                                          #
> dd if=/dev/zero of=/dev/sda bs=446 count=1                 #
> reboot                                                                              #
> EOF                                                                                   #
加可执行位。                                                                         #
[root@localhost ~]# chmod +x grub.sh                              #
[root@localhost ~]# ./grub.sh                                             #
##############################################
kikupotter:执行完以后,你就彻底进不去咯。
   现在我们要怎么办呢?你可能会想到进急救嘛,这很简单。对呀,因为我做的破坏很简单,如果在生产环境出现的问题会非常多,而且复杂那又要怎么办?靠经验!没经验咋办?所以,我一直觉要知道其中的为什么才真理啊,才能判断出是那里出了问题。
   翻译部分:
   如果发现系统出现故障,这里有几种方法进行修复。但是一定记住这些方法一定要在你很了解系统的基础上才能进行。这里我们就讨论怎么样进入急救模式,单用户模式,emergency模式,然后运用你的所了解的系统情况进行修复。  
   从文档的翻译部分我们可以看出要修复系统至少要三方面:
    1:了解系统的启动过程。
    2:判断系统在那个阶段出现问题了。
    3:根据1,跟2选择模式。
   第一步:那么按照这个顺序的话,我们先来了解一下开机是如何启动的,都用了哪些文件,启动了什么。
    url:
   第二步:我们快速的在脑海里有个Linux的开机过程之后,你发现机器卡在是bios这里,就说明grub压根就没有进去。没能进grub那是不是grub没了呢?
   第三步:根据前两步,得出可能是grub坏了或者是没了。那么我们就进急救模式进行修复。
修复步骤:
###############################################

//从光盘或者FTP,HTTP,NFS进入rescue模式


//我选择从NFS进入:填写服务器名字,对应的文件夹子


进来以后会有这样的四个选项:
continue:读写挂载根文件系统。
read-only:只读挂载根文件系统。什么都做不了。
skip:跳过这一步直接进入.
advanced:扩展选项


上一步我选了continue:然后告诉我已经挂载了/mnt/sysp_w_picpath上面了。然后,用chroot /mnt/sysp_w_picpath来转变身份。

Starting shell...
bash-4.1#
//挂载root 分区
bash-4.1#chroot /mnt/sysp_w_picpath
//安装grub
sh-4.1#grub-install --no-floppy --recheck "(hd0)"
//重启
sh-4.1#exit
bash-4.1#exit
再选择重启选项。
################################################
系统就这样正常启动了。


   刚才可能有点简单咯,那么我们现在再修好的机子上来做一下破坏。
##############################################
#!/bin/sh                                                                               #
dd if=/dev/zero of=/dev/sda bs=446 count=1                     #
rm -rf /bin/bash                                                                     #
rm -rf /bin/mount                                                                  #
cp /etc/fstab /etc/fstab.bak                                                   #
dd if=/dev/zero of=/etc/fstab count=1bs=64                       #
reboot                                                                                  #
##############################################
加可执行位。                                                                         #
[root@localhost ~]# chmod +x grub.sh                              #
[root@localhost ~]# ./grub.sh                                             #
##############################################
之后机子就OMG,卡在reboot界面,死也进不去了。
    现在我们来修:
    第一步:回顾一下开机过程,启动了什么,用了什么文件。
    第二步:开机没有进入grub。可能grub坏了哦。
    第三步:安装grub

修复步骤:
###############################################
//从光盘或者FTP,HTTP,NFS进入rescue模式

就在这是光盘说:你没有任何的分区哦,所以你将直接启动shell!
先不管先修grub
Starting shell...
bash-4.1#
//挂载root 分区
bash-4.1#chroot /mnt/sysp_w_picpath

//这有是什么情况?
说找不到/bin/sh,没有那个文件。 现在不能挂载安装grub。咋办?
cd 到/bin下看 sh 好好的躺在那里。那为什么会提示没有呢,我们看看那个chroot是什么命令。/bin 下面没有chroot。
到这里为止,我手贱就下不去了,哪位大哥可以解释一下,为什么会出现这样的报错,我逆向分析,本机上的/bin/bash 被删除了这个命令怎么就不可用了?

做实验手抖了,呜呜。出现的问题希望大家能帮帮我,救救我的Linux。
################################################