UNIX 系统感染病毒的解决方法(转)

UNIX 系统感染病毒的解决方法(转)[@more@]  一个朋友的UNIX系统不小心染上了引导型病毒,用最新的杀毒软件杀完后还是不能启动,无奈之下只好重新安装整个系统:包括操作系统、数据库系统、应用程序,再从备份磁带恢复数据,花了半天多的时间。笔者听了不由扼腕叹息,因为笔者也曾经遇到过类似的事情,但只花不到十分钟就解决了。还是先从原理 上说起吧。

  UNIX分区结构如图1,这里假设UNIX装在活动的第一分区。UNIX中把硬件全部当做文件来管理,第一个物理硬盘是/dev/hd00,第二个物理硬盘是/dev/hd10,依此类推;第一个物理硬盘的逻辑分区从/dev/hd01到/dev/hd04,/dev/hd0a特指活动分区。主引导程序、引导0和引导1在UNIX系统中都有备份,它们分别为/etc/masterboot、/etc/hdboot0和/etc/hdboot1。



77354.jpg400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" border=0>

  安装UNIX系统的机器启动过程大概是这样的:上电→BIOS检查硬件→从硬盘物理0扇区加载主引导程序→从活动分区,即UNIX分区加载boot0→加载boot1→检查divvy表,找到根文件系统→装入/boot,显示引导提示boot: →装入并执行内核/UNIX→启动完毕(图2)。



77355.jpg400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" border=0>

  了解启动过程后,对本文开始提出的问题就很好处理了。首先准备应急引导盘,UNIX系统维护人员应该是常备的,即使没有也可以立即到其它机器用mkdev fd命令做一张。用应急引导盘启动,进入软盘根文件系统,连接硬盘根文件系统:

  # mount /dev/hd0root /mnt

  如果提示出错,检查一下根文件系统:

  # fsck /dev/hd0root

  再次连接,接着先恢复硬盘主引导程序:

  # cp /mnt/etc/masterboot /dev/hd00

  然后恢复引导0:

  # cp /mnt/etc/hdboot0 /dev/hd0a

  重启:

  # umount /mnt
  # reboot

  至此故障解决。顺便说一下,如果其它原因造成UNIX系统不能启动,除了上面两个步骤外,还可能要恢复引导1和boot文件。因为引导1在UNIX分区的1KB偏移处,所以不能直接拷贝,必须用dd命令:

  # dd if=/mnt/etc/hdboot1 of=/dev/hd0a seek=1 bs=1k

  最后恢复boot,将根文件软盘取出,插入应急引导盘,执行:

  # umount /mnt
  # mount -r /dev/fd0135ds18 /mnt
  # cp /mnt/boot /tmp
  # umount /mnt
  # mount /dev/hd0root /mnt
  # cp /tmp/boot /mnt

  对于SCO UNIX,boot已经不存放在根文件系统下,而是存放在/boot下,上面的步骤第5行应改为:

  # mount /dev/boot /mnt

  恢复后执行reboot重启计算机即可。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10617731/viewspace-947686/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10617731/viewspace-947686/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值