歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 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://www.freelamp.com


Copyright © Linux教程網 All Rights Reserved