打造完美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
【打造完美Linux系统:疑难杂症的解决】找到
...
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 下我这样解决这个问题呢 。

推荐阅读