使用急救盘组进行维护
急救盘组(也称为boot/root盘组)是系统管理员必不可少的工具用它可以独立地启动和运行一个完整的Linux系统实际上急救盘组中的第张盘上就有一个完整的Linux系统包括root文件系统而第张盘则存放了可启动的内核使用急救盘组维护系统很简单只需用这两张盘启动系统后进入急救模式这时使用的是root账户为了能访问硬盘上的文件需要手工安装硬盘文件系统例如用下面的命令可在/mnt目录中安装/dev/hda盘上的extfs类型的Linux文件系统#monuttext/dev/hda/mnt
注现在根目录是急救盘上的根目录为了访问硬盘文件系统中的文件必须先把它安装到某个目录下这样如果将硬盘上文件系统安装在/mmt目录下则硬盘上原来的/etc/passwd文件的路径就是/mnt/etc/passwd
文件系统被破坏时的处理方法
当文件系统被破坏时如果使用的是extfs类型的文件系统就可从软盘运efsck命令来修正文件系统中被损坏的数据对于其他类型的文件系统可以使用相应的fsck命令当从软盘上检查文件系统时最好不要mount安装
注文件系统被破坏的常见原因是超级块被损坏超级块是文件系统的头部它包含文件系统的状态尺寸和空闲磁盘块等信息如果损坏了一个文件系统的超级块(例如不小心直接将数据写到了文件系统的超级块分区中)那么系统可能会完全不识别该文件系统这样也就不能安装它了即使采用efsck命令也不能处理这个问题不过extfs类型的文件系统将超级块的内容进行了备份并存放于驱动程序的块组(blockgroup)边界可以用如下的命令通知efsck使用超级块的备份#efsckb
它是指文件系统所在的分区b选项用于显示使用存放在文件系统中的块的超级块的备份数据
恢复丢失的文件
如果不小心删除了重要的文件那么没有办法直接恢复但是还可以将相应的文件从急救盘复制到硬盘上例如如果删除了文件/bin/login此时系统无法正常进到登录界面可以用急救盘组启动系统将硬盘文件系统安装到/mnt目录下然后使用下述命令#cpa/bin/login/mnt/bin
a选项用于告诉cp在拷贝时保持文件的访问权限当然如果被删除的基本文件不在急救盘组中也就不能用这种方法了如果以前做过系统备份的话那么也可以用以前的备份来恢复
函数库破坏时的处理方法
如果不小心将系统函数库文件破坏了或者破坏了/lib目录下符号链接那么将导致依赖这些库的命令无法执行最简单的解决办法是用急救盘组启动系统在/mnt目录中安装硬盘文件系统然后修复/mnt/lib目录下的库
无法用root账号登录系统
由于系统管理员的疏忽或者由于系统受到黑客的入侵系统管理员可能无法用root帐号登录系统对于第种情况可能是系统管理员忘记了root密码用急救盘组就可以解决问题对于第种情况由于很可能是密码被黑客修改了因此系统管理员无法进入系统也就是说Linux系统完全失去了控制因此应尽快重新获得系统的控制权在取得root权限后还应检查系统被破坏的情况以防被黑客再次入侵需要做的最主要的工作就是重新设置root的密码获得Linux操作系统的控制权首先用急救盘组启动系统然后将硬盘的文件系统安装到/mnt目录下编辑/mnt/etc/passwd文件将其对应于root账户的一行加密口令域置空如下所示root::::root:/root:bin/bash
注如果系统使用shadow工具就需要对文件/etc/shadow进行上述的操作使root登录系统不需要口令这样root账户就没有口令了当重新从硬盘启动Linux系统时就可以用root账户登录(系统不会要求输入密码)进入系统后再用命令passwd设置新的口令
Linux系统不能启动
一般来说如果系统管理员不能正常进入系统就需要考虑使用急救盘组进入急救模式排除系统的故障但在没有制作急救盘组的情况下Linux系统不能启动该怎么办?
在个人计算机使用Linux系统时通常都是Linux和MSWindowsx或MSWindowsNT并存的
由于重新安装其他的操作系统经常会导致原有的Linux不能启动这主要是因为这些操作系统默认为计算机中没有其他的操作系统因而改写了硬盘的主引导记录(MBR)沖掉了Linux的LILO系统引导程序
如果有急救盘组那么很简单用第一张启动盘启动硬盘的Linux系统重新运行LILO命令就可以将LILO系统引导程序写回硬盘的主引导记录再次开机即可
如果没有系统启动盘怎样恢复硬盘上的Linux呢?在这种情况下如果知道Linux在硬盘上的确切安装分区且有loadlin程序就可以重新返回Linuxloadlin程序是DOS下的程序运行它可以从DOS下直接启动Linux快速进入Linux环境在RedHatLinux光盘的dosutil/目录下就有这个程序除此之外还需要一个Linux启动内核的映像文件在RedHatlinux光盘的images/目录下有这个文件??vmlinuz
例如在Windows系统下面进入DOS的单用户模式然后运行下述的loadlin命令即可重新进入Linux系统
loadlinvmlinuzroot=/dev/hda
/dev/hda是Linux的root文件系统所在的硬盘分区位置命令执行后就引导Linux系统用root登录后运行LILO命令则重新将LILO装入MBR回到以前多操作系统并存使用的状态