不论你在运行什么操作
系统,在很多情况下,你会面对灾难恢复操作。你的主引导区被覆盖,你的
硬盘不能启动,或者一个重要的文件被删除,或者你的显示卡启动时闪烁一下就黑屏了。本文会就这些问题作一些技巧性的讨论,帮助你在遇到这些问题时,不致于手足无措。
# |# ]# @2 n6 E( i 首先需要的是一张应急启动软盘,在安装
Linux时,一般会要求建立一张的,所以,你应该有这张
磁盘的,如果还没有建立的话,赶紧去建立一张吧,什么?不知道怎么做?很简单的,一般的Linux系统下使用mkbootdisk命令就可以了。后面的那些参数,只要看看帮助,应该就明白了。
1 v+ J1 ]$ u/ z m- \2 n3 G 首先使用
& [, s- |8 W/ g" {. j' F
#uname-a
( o1 H f) v, N$ a6 o; U& e" Q
系统提示:
- o- B, b. E0 `6 Z4 n
Linuxalbertxu2.2.16-2.0#1SunMay2016:53:41EST2001i586unknown
; N* G: I- c- k; J+ l
来看看系统的内核版本。我们就知道系统的内核版本是2.2.16-2.0。
$ y# P9 e# G0 l6 Y( K) b- D: | 然后使用
9 E( s0 b/ S6 n% e[color=#FFFFFF']
1 F! m4 `* l- J A# R' |& N, S: M, j" ^ w U* |
#mkbootdisk--device/dev/fd02.2.16-2.0
y- ^4 T( `3 S
[color=#FFFFFF']
6 G7 a9 ?) |' l. v1 ]6 \* d
& K6 `' J" U4 f+ B8 a* d+ _6 l 系统提示:
6 O ?: S& H2 X `) _1 H AInsertadiskin/dev/fd0.Anyinformationonthediskwillbelost.
$ g' d' |8 W' `. n0 l
Presstocontinueor^Ctoabort:
% ~& K9 _. @2 r; l; W( u 插入磁盘,等待一会,直到磁盘建立。这样,紧急启动软盘就这样建立了。
6 r7 u) @; v0 D' U7 ]+ A" G 除了采用以上的办法以外,另外一个办法就是使用tomsrtbt来建立启动软盘。先介绍这个
程序的安装步骤:
5 d2 i& D4 W/ X( O" ~#gunziptomsrtbt-1.7.218.tar.gz
6 q& _5 G. H' v#tar-xvftomsrtbt-1.7.218.tar
/ n0 g- i7 ]: y" k# M9 W#rmtomsrtbt-1.7.218.tar
8 a6 \: g! D& A( i3 m#cdtomsrtbt-1.7.218/
: X, U* A. {4 L: x* W/ `; {& V
#./install.s
) W6 y, L! g: r. x4 K* ^
按照屏幕的说明,这个
软件采用高
密度的压缩方法把多种Linux工具压缩到单张1.7Mb的软盘上。
. q4 _; h: u* p; h
缺省的磁盘包含下面的程序,
驱动和内核:
* H# D- T& ~" H* j
[color=#FFFFFF']
4 Y5 d. N! n8 I) v1 {
% d _; w' \% ^6 q {# L2 q2.0.373c589_csBusLogicDEC_ELCPEE
XPRESSEEXPRESS_PROEL2EL3EXT2FATFAT32FDIDEIDECDIDEFLOPPYIDEPCMCIAIDETAPEISO9660JOLIETLOOPMATH_EMULATIONMINIXMSDOSNE2000NFSPROCRAMSDSERIALSLIPSMCSRSTTRULTRAVFATVORTEXWD80x3ah152x_csaha152xaha1542aic7xxxashawkbadblocksbdflushbzip2cardbuscardmgrcatcece.helpchattrchgrpchmodchownchrootclearcmpcpcpiocutdateddddatedebugfsdfdirnamedmesgdsdudumpe2fse2fsckeataechoegrepelvisemacsextendfalsefdflushfdformatfdiskfdomainfilesizefindfindsuperfmtfsck.ext2fsck.msdosfstabgrepgziphaltheadhexedithostnamei82365ifconfigifportileinitinittabinsmodkillkillall5ksymslengthlesslibc.so.5.4.13lilolilo.conflnloadkeysloginlosetuplslsattrmawkmd5summemtestmingettymitermmkdirmkdosfsmke2fsmkfifomkfs.minixmklostfoundmknodmkswapmnsedmoremountmtmvncncr53c8xxnmclan_csntfspaxpcmciapcmcia_corepcnet_cspingplipppaprintfpspwdqlogic_csqlogicfasrebootrescueptresetrmrmdirrmmodroutershrshdscriptscsi_infoseagatesedserial_cssetserialshslattachsleepslipsnarfsortsplitsttyswapoffswaponsynctailtartcicteetelnettesttouchtune2fsumountundebupdatevivi.helpwc
% @ O/ w5 {( z3 |; \$ _ K$ f5 c
[color=#FFFFFF']
( v+ n4 O: u) I% X! Z' e
1 Z3 r A% \+ M 最让人放心的是,tomsrtbt是一个和发行版本无关的程序,甚至你可以把它用来恢复
Windows9x。
- h4 i( }& c( E* `
丢失了主引导记录后,Linux就不能启动了。使用RedHat的启动软盘十分简单,只要在启动以后,用root登录,然后运行lilo就可以了。
, Y0 C% P- C! u使用tomsrtbt的方法是,启动后用root登录,然后拿走软盘。
$ {+ z9 t2 B, }7 ^
; B1 n7 X8 b! @+ Z[color=#FFFFFF']
/ v3 u8 f. Z! I; `" U- f6 N$ p, t. C- P# U! L, c% x8 C1 ^. n3 x
#mount-text2/dev/hda4/mnt
! v8 @( ]3 E$ S s( c# @. b( @#chroot/mnt
! j; l$ x- F7 g4 O& a" F. u
#/sbin/lilo
) x* y8 \7 n/ e" @1 E0 Q& i
Addedlinux*
4 C! E7 Y( {4 d n: F$ u7 e0 _. wAddeddos
3 e& E9 B+ K, d, ^# P4 \2 i#exit
* T3 N7 t7 }- N$ v" u- A. l& V" c- k
#cd/
9 ~; x+ H: v; J" }#umountmnt
8 X+ u! z/ x# x) V9 ] 在RedHat6.2之前的版本提供了一个rescue.img文件,能用来建立一个单独的紧急磁盘,和启动软盘一起使用。在LILO:提示符下,键入linuxrescue然后按照提示操作,在6.2版本以后,RedHat把紧急恢复
功能做到了安装CD上,使用CD启动后,键入"rescue"就可以了。
' i3 b* }: ^2 T3 ]- D; B$ _ 现在假设你的/etc/fstab存在一个输入错误,你把启动磁盘/dev/hda4写成了/dev/hda44,这样你的系统就不能启动了。
" W; [3 Y0 w' Y7 |' d[color=#FFFFFF']
/ ?" Z& @! j- s; {) M8 p
5 @0 j& c2 z1 n. T" C4 U
用tomsrtbt软盘启动,按照以下的办法修改/etc/fstab就可以了。
% ~, U6 d6 a) k, C
[color=#FFFFFF']
7 N- r+ m0 k2 B7 O- p9 L
0 _) x; P5 e" e& E5 [
#mount-text2/dev/hda4/mnt
, Z) `: b0 c7 C, F$ j- ]#vi/mnt/etc/fstab
" [1 J* g W) k#umount/mnt
7 O8 i+ |9 e/ c3 E8 a5 _( K 另外一个常见的问题就是没有正常关机,可以采用tomsrtbt来修复一个损坏的磁盘分区。
+ E, R, X; M" j) |/ ]9 ? U
#e2fsk-f/dev/hda2
4 d$ }/ S3 U6 H
对于一个严重损坏的分区,这个命令需要重复好几次。
: F, v, k; Q/ B7 n! b! s, P 如果一个分区不能完整修复,你可以把重要的文件写到磁盘上,当tomsrtbt启动时,把这些文件加载到
内存,能把磁盘
空间用于其他应用。
; z- f8 {, t# N. v[color=#FFFFFF']
# \$ L4 k4 q0 f: }
$ T. P6 d) P' _# i
#fdformat/dev/fd0H1440
- z4 R! [5 k8 w# E/ N, O, N#mke2fs/dev/fd0
. B7 X- ~2 Z. N& p
#mkdir/mnt/image
( v1 s4 D3 D2 s& k
#mkdir/mnt/floppy
7 n! J% x: R! N7 E# K9 L#mount-text2/dev/hda4/mnt/image
4 ~, k$ X0 w5 z% j, F, A0 k#mount-text2/dev/fd0/mnt/floppy
: }0 ]7 \7 A- ?" k3 `3 P4 W
#cd/mnt/floppy
, _; ~) I9 ]5 J1 O+ } l#cp/mnt/image/etc/*.conf.
- \& K! }& s! C( `! ?! W m J
#cp/mnt/image/etc/conf.modules.
6 z7 y, c7 _9 G#cp/mnt/image/var/named/*.
' s8 T7 {: v {; R
#cp/mnt/image/home/gwilburn/docs/myrecipes.txt.
3 q; O; M4 L$ X5 W
#cd/mnt
2 e1 O ^, h7 E
#umountfloppy
- C! o* N8 T2 }2 ]' a, A+ `#umountimage
2 p2 \) X% J, c6 }1 [# Q+ n* I$ P[color=#FFFFFF']
1 G/ Z$ a! m3 `$ Z. s4 P, I1 L' Q
) _% g$ J4 R5 V0 q& O7 `
以上步骤用到了fdformat,mke2fs,mount,cd和cp命令,这些命令都包含在tomsrtbt之中,在这个情形中,我们把/etc目录的配置文件和DNS文件作了备份。
; W! P5 Q- _$ T8 ~, ]- l 下面的例子是使用tomsrtbt来恢复Windows的例子。
/ A4 U4 a7 E; F5 a }) H1 G7 u
#mkdir/mnt/win
, A/ y' |, ?1 S& ^0 O" d& O3 u
#mkdir/mnt/floppy
' d" c2 q- z) ?- L$ B3 o#mount-tvfat/dev/hda1/mnt/win
7 ]8 v) w4 S- ~#mount-tvfat/dev/fd0/mnt/floppy
! Y" U; @4 j! d: x' E* Z#vi/mnt/win/autoexec.bat
$ d# v/ o) L- Z
#cd/mnt/floppy
6 i( Y3 I: g3 f9 v9 s
#cp/mnt/win/autoexec.bat.
) H" u& H& D: \* G
#cp/mnt/win/config.sys.
+ {- x+ Y" o7 a, C#cp"/mnt/win/programfiles/netscape/bookmarks.htm".
! V U/ x) r6 ~4 f#cd/mnt
; i& H6 w" c4 V7 R j#umountfloppy
- n9 V% x, U9 R ~# t6 d* W* }
#umountwin
# p8 c4 z Y% p1 `2 Q5 ^ 灾难并不会频繁发生,但是做好灾难准备的最重要事情就是备份
数据。我们讨论的所有技巧只是对
数据可以恢复的情况下所能采取的一些措施。作为一名专业的系统
管理人员,如果没有做好数据备份,那么这个所谓的“专业”是名不副实的。
7 {3 m& |$ [% H: W% @3 x# t7 e% D
[color=#FFFFFF']