歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix資訊

Unix操作系統感染病毒的解決方法

很多的朋友的Unix操作系統都可能不小心染上了引導型病毒,用最新的殺毒軟件殺完後還是不能啟動,無奈之下只好重新安裝整個系統:包括操作系統、數據庫系統、應用程序,再從備份磁帶恢復數據,花了半天多的時間。筆者聽了不由扼腕歎息,因為筆者也曾經遇到過類似的事情,但只花不到十分鐘就解決了。還是先從原理 上說起吧。

Unix操作系統分區結構,這裡假設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

重啟:
 

  1. # umount /mnt  
  2. # reboot 

至此故障解決。順便說一下,如果其它原因造成Unix操作系統不能啟動,除了上面兩個步驟外,還可能要恢復引導1和boot文件。因為引導1在Unix操作系統分區的1KB偏移處,所以不能直接拷貝,必須用dd命令:
# dd if=/mnt/etc/hdboot1 of=/dev/hd0a seek=1 bs=1k

最後恢復boot,將根文件軟盤取出,插入應急引導盤,執行:
 

  1. # umount /mnt  
  2. # mount -r /dev/fd0135ds18 /mnt  
  3. # cp /mnt/boot /tmp  
  4. # umount /mnt  
  5. # mount /dev/hd0root /mnt  
  6. # cp /tmp/boot /mnt 

對於SCO Unix操作系統,boot已經不存放在根文件系統下,而是存放在/boot下,上面的步驟第5行應改為:
# mount /dev/boot /mnt

恢復後執行reboot重啟計算機即可。這樣,我們就解決了Unix操作系統中的病毒問題。

Copyright © Linux教程網 All Rights Reserved