查看單個文章
舊 2006-06-25, 12:31 AM   #3 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

Linux 故障恢復技巧

Linux 故障恢復技巧



不論你在執行什麼操作系統,在很多情況下,你會面對災難恢復操作。你的主啟始區被覆蓋,你的硬碟不能啟動,或者一個重要的文件被刪除,或者你的顯示卡啟動時閃爍一下就黑屏了。本文會就這些問題作一些技巧性的討論,幫助你在遇到這些問題時,不致於手足無措。
首先需要的是一張應急啟動軟碟,在安裝 Linux 時,一般會要求建立一張的,所以,你應該有這張磁碟的,如果還沒有建立的話,趕緊去建立一張吧,什麼?不知道怎麼做?很簡單的,一般的 Linux 系統下使用 mkbootdisk 命令就可以了。後面的那些參數,只要看看幫助,應該就明白了。

首先使用

# uname -a

系統提示:
Linux albertxu 2.2.16-2.0 #1 Sun May 20 16:53:41 EST 2001 i586 unknown

來看看系統的內核版本。我們就知道系統的內核版本是 2.2.16-2.0。

然後使用
# mkbootdisk --device /dev/fd0 2.2.16-2.0

系統提示:

Insert a disk in /dev/fd0. Any information on the disk will be lost.
Press to continue or ^C to abort:

插入磁碟,等待一會,直到磁碟建立。這樣,緊急啟動軟碟就這樣建立了。

除了採用以上的辦法以外,另外一個辦法就是使用 tomsrtbt來建立啟動軟碟。先介紹 這個程式的安裝步驟:

# gunzip tomsrtbt-1.7.218.tar.gz
# tar -xvf tomsrtbt-1.7.218.tar
# rm tomsrtbt-1.7.218.tar
# cd tomsrtbt-1.7.218/
# ./install.s

按照螢幕的說明,這個軟件採用高密度的壓縮方法把多種 Linux 工具壓縮到單張 1.7 Mb 的軟碟上。

預設的磁碟包含下面的程式,驅動和內核:

2.0.37 3c589_cs BusLogic DEC_ELCP EEXPRESS EEXPRESS_PRO EL2 EL3 EXT2 FAT FAT32 FD IDE IDECD IDEFLOPPY IDEPCMCIA IDETAPE ISO9660 JOLIET LOOP MATH_EMULATION MINIX MSDOS NE2000 NFS PROC RAM SD SERIAL SLIP SMC SR ST TR ULTRA VFAT VORTEX WD80x3 ah152x_cs aha152x aha1542 aic7xxx ash awk badblocks bdflush bzip2 cardbus cardmgr cat ce ce.help chattr chgrp chmod chown chroot clear cmp cp cpio cut date dd ddate debugfs df dirname dmesg ds du dumpe2fs e2fsck eata echo egrep elvis emacs extend false fdflush fdformat fdisk fdomain filesize find findsuper fmt fsck.ext2 fsck.msdos fstab grep gzip halt head hexedit hostname i82365 ifconfig ifport ile init inittab insmod kill killall5 ksyms length less libc.so.5.4.13 lilo lilo.conf ln loadkeys login losetup ls lsattr mawk md5sum memtest mingetty miterm mkdir mkdosfs mke2fs mkfifo mkfs.minix mklost+found mknod mkswap mnsed more mount mt mv nc ncr53c8xx nmclan_cs ntfs pax pcmcia pcmcia_core pcnet_cs ping plip ppa printf ps pwd qlogic_cs qlogicfas reboot rescuept reset rm rmdir rmmod route rsh rshd script scsi_info seagate sed serial_cs setserial sh slattach sleep slip snarf sort split stty swapoff swapon sync tail tar tcic tee telnet test touch tune2fs umount undeb update vi vi.help wc

最讓人放心的是,tomsrtbt 是一個和發行版本無關的程式,甚至你可以把它用來恢復 Windows 9x 。

丟失了主啟始記錄後, Linux 就不能啟動了。使用 Red Hat 的啟動軟碟十分簡單,只要在啟動以後,用 root 登入,然後執行 lilo 就可以了。

使用 tomsrtbt 的方法是,啟動後用 root 登入,然後拿走軟碟。

# mount -t ext2 /dev/hda4 /mnt
# chroot /mnt
# /sbin/lilo
Added linux *
Added dos
# exit
# cd /
# umount mnt

在 Red Hat 6.2 之前的版本提供了一個 rescue.img 文件,能用來建立一個單獨的緊急磁碟,和啟動軟碟一起使用。在 LILO: 提示字元下,鍵入 linux rescue 然後按照提示操作,在 6.2 版本以後,Red Hat 把緊急恢復功能做到了安裝 CD 上,使用 CD 啟動後,鍵入 "rescue" 就可以了。

現在假設你的 /etc/fstab 存在一個輸入錯誤,你把啟動磁碟 /dev/hda4 寫成了 /dev/hda44 ,這樣你的系統就不能啟動了。

用 tomsrtbt 軟碟啟動,按照以下的辦法修改 /etc/fstab 就可以了。

# mount -t ext2 /dev/hda4 /mnt
# vi /mnt/etc/fstab
# umount /mnt

另外一個常見的問題就是沒有正常關機,可以採用 tomsrtbt 來修復一個損壞的磁碟分區。

# e2fsk -f /dev/hda2

對於一個嚴重損壞的分區,這個命令需要重複好幾次。

如果一個分區不能完整修復,你可以把重要的文件寫到磁碟上,當 tomsrtbt 啟動時,把這些文件載入到記憶體,能把磁碟空間用於其他應用。

# fdformat /dev/fd0H1440
# mke2fs /dev/fd0
# mkdir /mnt/image
# mkdir /mnt/floppy
# mount -t ext2 /dev/hda4 /mnt/image
# mount -t ext2 /dev/fd0 /mnt/floppy
# cd /mnt/floppy
# cp /mnt/image/etc/*.conf .
# cp /mnt/image/etc/conf.modules .
# cp /mnt/image/var/named/* .
# cp /mnt/image/home/gwilburn/docs/myrecipes.txt .
# cd /mnt
# umount floppy
# umount image

以上步驟用到了 fdformat, mke2fs, mount, cd 和 cp 命令,這些命令都包含在 tomsrtbt 之中,在這個情形中,我們把 /etc 目錄的配置文件和 DNS 文件作了備份。

下面的例子是使用 tomsrtbt 來恢復 Windows 的例子。

# mkdir /mnt/win
# mkdir /mnt/floppy
# mount -t vfat /dev/hda1 /mnt/win
# mount -t vfat /dev/fd0 /mnt/floppy
# vi /mnt/win/autoexec.bat
# cd /mnt/floppy
# cp /mnt/win/autoexec.bat .
# cp /mnt/win/config.sys .
# cp "/mnt/win/program files/netscape/bookmarks.htm" .
# cd /mnt
# umount floppy
# umount win

災難並不會頻繁發生,但是做好災難準備的最重要事情就是備份資料。我們討論的所有技巧只是對資料可以恢復的情況下所能採取的一些措施。作為一名專業的系統管理人員,如果沒有做好資料備份,那麼這個所謂的「專業」是名不副實的。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3204 次