- Community Home
- >
- HPE Community, China
- >
- 服务器
- >
- Unix工作站
- >
- 分享我的技巧 : UNIX系统感染病毒的解决
Unix工作站
1753470
成员
5289
在线
108794
解答
论坛
类别
Company
Local Language
返回
论坛
讨论平台
返回
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
博客
信息
社区语言
语言
论坛
博客
- 将帖子标记为未读
- 加注书签
- 订阅
- 禁止
- 订阅此主题的 RSS 提要
- 高亮显示此帖
- 打印此帖
- 报告不当内容
修改时间 01-24-2004 08:25 PM
修改时间 01-24-2004 08:25 PM
一个朋友的UNIX系统不小心染上了引导型病毒,用最新的杀毒软件杀完后还是不能启动,无奈之下只好重新安装整个系统:包括操作系统、数据库系统、应用程序,再从备份磁带恢复数据,花了半天多的时间。笔者听了不由扼腕叹息,因为笔者也曾经遇到过类似的事情,但只花不到十分钟就解决了。还是先从原理上说起吧。
UNIX分区结构如图1,这里假设UNIX装在活动的第一分区。UNIX中把硬件全部当做文件来管理,第一个物理硬盘是/dev/hd00,第二个物理硬盘是/dev/hd10,依此类推;第一个物理硬盘的逻辑分区从/dev/hd01到/dev/hd04,/dev/hd0a特指活动分区。主引导程序、引导0和引导1在UNIX系统中都有备份,它们分别为/etc/masterboot、/etc/hdboot0和/etc/hdboot1。
安装UNIX系统的机器启动过程大概是这样的:上电→BIOS检查硬件→从硬盘物理0扇区加载主引导程序→从活动分区,即UNIX分区加载boot0→加载boot1→检查divvy表,找到根文件系统→装入/boot,显示引导提示boot: →装入并执行内核/UNIX→启动完毕
了解启动过程后,对本文开始提出的问题就很好处理了。首先准备应急引导盘,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重启计算机即可。
UNIX分区结构如图1,这里假设UNIX装在活动的第一分区。UNIX中把硬件全部当做文件来管理,第一个物理硬盘是/dev/hd00,第二个物理硬盘是/dev/hd10,依此类推;第一个物理硬盘的逻辑分区从/dev/hd01到/dev/hd04,/dev/hd0a特指活动分区。主引导程序、引导0和引导1在UNIX系统中都有备份,它们分别为/etc/masterboot、/etc/hdboot0和/etc/hdboot1。
安装UNIX系统的机器启动过程大概是这样的:上电→BIOS检查硬件→从硬盘物理0扇区加载主引导程序→从活动分区,即UNIX分区加载boot0→加载boot1→检查divvy表,找到根文件系统→装入/boot,显示引导提示boot: →装入并执行内核/UNIX→启动完毕
了解启动过程后,对本文开始提出的问题就很好处理了。首先准备应急引导盘,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重启计算机即可。
已解决! 转到解答。
2 条回复2
以上表述为作者个人观点,不代表惠普公司,使用本网站,请遵守网站使用规则和条款
© 版权所有 2024 慧与发展有限责任合伙企业