打造完美Linux系统:疑难杂症的解决

发表于:2007-07-01来源:作者:点击数: 标签:
如果谁说他的 Linux 从来没有遇到“疑难杂症”,我觉得是不可信的,就算是操作界面最友好的Window XP 也时常遇到各种各样的问题,有的问题实在蹊跷到只有更换硬件才能解决!Linux也是这样的,而且他的自由性,更是加大出问题的频繁程度。当然也是因为Linux

  如果谁说他的Linux从来没有遇到“疑难杂症”,我觉得是不可信的,就算是操作界面最友好的Window XP也时常遇到各种各样的问题,有的问题实在蹊跷到只有更换硬件才能解决!Linux也是这样的,而且他的自由性,更是加大出问题的频繁程度。当然也是因为Linux开源的特点,不管出了什么问题,你都可以在源代码级找到症结所在,这正是Linux魅力所在。


  1、在不登录情况下,获得root权限

  如果没有设置GRUB密码,那我们可以使用最简单的方法,首先启动电脑,等待GRUB菜单,如果GRUB菜单隐藏,可以按Esc调出,选择Ubuntu, kernel 2.6.12-*-* (recovery mode),也就是“恢复模式”按Enter启动就可以了。
  
  另外一个办法是用Ubuntu安装盘获得root权限,用Ubuntu安装盘启动电脑,当显示“boot:”时,输入“rescue”

  boot: rescue

  按屏幕提示操作就可以了。

  2、通过改变内核启动参数获得根权限

  启动电脑,等待GRUB菜单,如果GRUB菜单隐藏,可以按Esc调出,如果设置了GRUB密码,按p来解锁,比如我们选择了Ubuntu, kernel 2.6.12-8-386,按e在启动前编辑启动参数,选择kernel /boot/vmlinuz-2.6.12-8-386 root=/dev/hda2 ro quiet splash,按e编辑选定的启动菜单项,在参数最后添加rw init=/bin/bash,即改为如下命令行:

  grub edit> kernel /boot/vmlinuz-2.6.12-8-386 root=/dev/hda2 ro quiet splash rw init=/bin/bash

  按b启动即可。

  3、忘记了root用户/主用户密码

  按照第一项:在不登录情况下,获得root权限后,在命令行输入:

     passwd root
  
  按照提示,输入两次密码就可以设定root用户密码了,如图一所示。


图1


  要更改主用户密码:

  passwd system_main_username

  按照提示,输入两次密码就可以了。

  4、忘记了GRUB菜单密码

  在命令行输入

  grub
  等提示符变为grub> 后,输入:
  md5crypt
  这是计算密码的md5值,也就是加密值,然后在提示Password:后,输入新密码:
  Password: ****** (ubuntu)
  系统会计算出加密值:
  Encrypted: $1$ZWnke0$1fzDBVjUcT1Mpdd4u/T961
  按quit退出,如图二所示:
  quit


图2

  然后备份并编辑文件menu.lst:
sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
sudo gedit /boot/grub/menu.lst

  找到

...
   password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
...

  替换为

password --md5 $1$ZWnke0$1fzDBVjUcT1Mpdd4u/T961 (这是我们上面计算出的加密值)

  保存文件即可。

  5、在安装Windows后恢复GRUB启动菜单

  经常出现的情况是,我们想重装一下windows系统,但是重装会把启动Linux的菜单冲掉,这是个让人头疼的问题,我们这样来解决它:
  首先按照第一项,用Ubuntu安装盘获得root权限,我们假定 /dev/hda 为 /boot 所在分区,然后在提示符输入:

# grub-install /dev/hda

  这样grub-install程序会为我们安装grub菜单。

  6、在Windows中读取Linux分区(ext2, ext3)
   
  我们用软件Ext2fs可以在Windows中读取Linux分区,软件官方首页:http://www.fs-driver.org/index.html,下载地址是:http://www.fs-driver.org/download/Ext2IFS_1_10b.exe 程序界面如图三所示:


图3


  7、 开机时,某些服务启动太慢

  比如Configuring.network interfaces...和Synchronizing clock to ntp.ubuntulinux.org...可能要长时间才能启动,对于这些服务,我们可以用Ctrl+C在启动时暂时跳过一些服务的启动

  也可以运行服务设置:系统->系统管理->服务,清除勾选“时钟同步服务(ntpdate)”等服务,然后 确定。如图四所示:


图4

  8、把系统时间从UTC (GMT)改回来

  如果你装linux系统时,设置启用UTC (GMT),那么每当重启到了我的 windws 分区,系统时间总是和本地时间有 N 小时的误差。在 Ubuntu 下我这样解决这个问题呢。

  编辑文件 /etc/default/rcS ,在命令行输入:
sudo cp /etc/default/rcS /etc/default/rcS_backup
sudo gedit /etc/default/rcS

  找到

...
UTC=yes
...

  替换为

UTC=no

  保存文件,在系统->系统管理->日期和时间中,设置为正确的日期和时间,如图五所示:


图6

  在命令行输入下面的命令重启时间:

sudo /etc/init.d/hwclock.sh restart

  9、给Flash配置声音

  如果你播放Flash是没有声音,在命令行输入这个命令:

sudo ln -fs /usr/lib/libesd.so.0 /usr/lib/libesd.so.1

  10、强制清空回收站

  如果你点了清空回收站,但还是有垃圾的话,你可以运行这个命令:

sudo rm -fr $HOME/.Trash/

  Ubuntu Linux的回收站就是一个隐藏文件夹,在主目录的.Trash/下,rm -fr命令的意思是强制、递归的删除。

  11、清除GNOME菜单中的重复项

  如果菜单中出现重复项,不能像windows里一样,直接删去,我们要启动Applications Menu Editor:应用程序->系统工具-> Applications Menu Editor,逐个删除重复项即可。如图六所示:


图6

原文转自:http://www.ltesting.net