since2012/04/23

     
 
最近升级日期:2009/08/17

大标题的图示启动过程的问题排解

事实上,Linux主机是很稳定的,除非是硬件问题与系统管理员不小心的动作,否则, 很难会造成一些无法挽回的错误的。但是,毕竟我们目前使用的可能是练习机,会常常开开关关的, 所以确实可能会有一些小问题发生。好了,我们先来简单的谈一谈,如果无法顺利启动时, 你应该如何解决。要注意的是,底下说到的内容很多都还没有开始介绍, 因此,看不懂也不要太紧张~在本书全部都读完且看第二遍时,你自然就会有感觉了! ^_^


小标题的图示文件系统错误的问题

在启动的过程中最容易遇到的问题就是硬盘可能有坏轨或文件系统发生错误(数据损毁)的情况, 这种情况虽然不容易发生在稳定的Linux系统下,不过由于不当的开关机行为, 还是可能会造成的,常见的发生原因可能有:

  • 最可能发生的原因是因为断电或不正常关机所导致的文件系统发生错误, 鸟哥的主机就曾经发生过多次因为跳电,家里的主机又没有安装不断电系统, 结果就导致硬盘内的文件系统错误!文件系统错误并非硬件错误,而是软件数据的问题喔!

  • 硬盘使用率过高或主机所在环境不良也是一个可能的原因, 例如你开放了一个FTP服务,里面有些数据很有用, 所以一堆人抢着下载,如果你又不是使用较稳定的SCSI接口硬盘,仅使用一般PC使用的硬盘, 虽然机率真的不高,但还是有可能造成硬盘坏轨的。此外,如果主机所在环境没有散热的设备, 或者是相对湿度比较高的环境,也很容易造成硬盘的损坏喔!

解决的方法其实很简单,不过因为出错扇区所挂载的目录不同,处理的流程困难度就有差异了。 举例来说,如果你的根目录『/』并没有损毁,那就很容易解决,如果根目录已经损毁了,那就比较麻烦!


  • 如果根目录没有损毁:

假设你发生错误的partition是在/dev/sda7这一块,那么在启动的时候,屏幕应该会告诉你:press root password or ctrl+D : 这时候请输入root的密码登陆系统,然后进行如下动作:

  • 在光标处输入root密码登陆系统,进行单人单机的维护工作;
  • 输入『 fsck /dev/sda7 』(fsck 为文件系统检查的命令,/dev/sda7为错误的partition,请依你的情况下达参数), 这时屏幕会显示开始修理硬盘的信息,如果有发现任何的错误时,屏幕会显示: clear [Y/N]? 的询问信息,就直接输入 Y 吧!
  • 修理完成之后,以 reboot 重新启动啰!


  • 如果根目录损毁了

一般初学者喜欢将自己的硬盘只划分为一个大partition,亦即只有根目录, 那文件系统错误一定是根目录的问题啰!这时你可以将硬盘拔掉,接到另一台Linux系统的计算机上, 并且不要挂载(mount)该硬盘,然后以root的身份运行『 fsck /dev/sdb1 』(/dev/sdb1 指的是你的硬盘装置文件名,你要依你的实际状况来配置),这样就 OK 啰!

另外,也可以使用近年来很热门的Live CD,也就是利用光盘启动就能够进入Linux操作系统的特性, 你可以前往:『http://knoppix.tnc.edu.tw/』 这个网站来下载,并且刻录成为CD,这个时候先用Live CD光盘启动,然后使用fsck去修复原本的根目录, 例如: fsck /dev/sda1 ,就能够救回来了!


  • 如果硬盘整个坏掉:

如果硬盘实在坏的离谱时,那就先将旧硬盘内的数据,能救出来的救出来,然后换一颗硬盘来重新安装Linux吧! 不要不愿意换硬盘啊!啥时候硬盘会坏掉谁也说不准的!

那么硬盘该如何预防发生文件系统错误的问题呢?可以参考底下说明:

  • 妥善保养硬盘
    例如:主机通电之后不要搬动,避免移动或震动硬盘;尽量降低硬盘的温度,可以加装风扇来冷却硬盘; 或者可以换装 SCSI 硬盘。

  • 划分不同的partition
    为什么磁盘分区这么重要!因为Linux每个目录被读写的频率不同,妥善的块分配将会让我们的Linux更安全! 通常我们会建议划分下列的磁盘区块:
    • /
    • /boot
    • /usr
    • /home
    • /var
    这样划分有些好处,例如/var是系统默认的一些数据缓存或者是cache数据的储存目录, 像 e-mail 就含在这里面。如果还有使用proxy时,因为常常存取,所以有可能会造成磁盘损坏, 而当这部份的磁盘损坏时,由于其他的地方是没问题的,因此数据得以保存,而且在处理时也比较容易!

小标题的图示忘记 root 密码:

常常有些朋友在配置好了Linux之后,结果root密码给他忘记去!要重新安装吗?不需要的, 你只要以单人维护模式登陆即可更改你的root密码喔!由于lilo这个启动管理程序已经很少见了, 这里鸟哥使用grub启动管理程序作为范例来介绍啰!

先将系统重新启动,在读秒的时候按下任意键就会出现如同第四章图3.2的菜单画面,仔细看菜单底下的说明, 按下『e』就能够进入grub的编辑模式了。此时你看到的画面有点像底下这样:

root (hd0,0) 
kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quiet 
initrd /initrd-2.6.18-128.el5.img 

此时,请将光标移动到kernel那一行,再按一次『 e 』进入kernel该行的编辑画面中, 然后在出现的画面当中,最后方输入 single :

kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quiet single 

再按下『 Enter 』确定之后,按下 b 就可以启动进入单人维护模式了! 在这个模式底下,你会在tty1的地方不需要输入密码即可取得终端机的控制权(而且是使用root的身份喔!)。 之后就能够修改root的密码了!请使用底下的命令来修改root的密码喔!

[root@www ~]# passwd 
# 接下来系统会要求你输入两次新的密码,然后再来reboot即可顺利修订root密码了! 

这里仅是介绍一个简单的处理方法而已,更多的原理与说明将会在后续的各相关章节介绍的喔!


 
     
http://linux.vbird.org is designed by VBird during 2001-2011. ksu.edu 

本网页主要以Firefox配合解析度 1024x768 作为设计依据     鸟哥自由软件整合应用研究室