轻松解决 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

  灾难并不会频繁发生,但是做好灾难准备的最重要事情就是备份数据。我们讨论的所有技巧只是对数据可以恢复的情况下所能采取的一些措施。作为一名专业的系统管理人员,如果没有做好数据备份,那么这个所谓的“专业”是名不副实的。

(0)

相关推荐

  • linux中误删除程序包恢复实例

    本文主要是介绍linux中误删除程序包恢复实例,小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧. 以CentOS-7.2为例: 删除kernel包,无法重启: 1.删除kernel包 2.重启,无法启动 3.再次重启,出现进度条时按下Esc键,出现如下界面,选择从光盘启动 4.进入如下界面,选择Troubleshooting 5.选择救援模式,Rescue a CentOS system 6.键入回车 7.选择Continue ,键入1,进入 8.回车进入shell

  • Windows或Linux系统中备份和恢复MongoDB数据的教程

    windows下面mongodb数据库备份和恢复 我可以讲数据备份到c:\data\dump目录下面,首先创建这个路径.然后进入到mongodb的bin目录下面 我的是: C:\Program Files\mongodb\bin 备份脚本是: //备份 mongodump -h 127.0.0.1:27017 -d test -o c:\data\dump 恢复脚本是: //恢复 mongorestore -h 127.0.0.1:27017 -d test --directoryperdb c

  • linux备份与恢复基础知识

    unix系统为每个文件都记录这三个不同的时间,第一个是mtime,即修改时间.无论何时,只要文件内容被改变,mtime的值就会被相应修改.第二个是atime,即访问时间.只要文件被访问(比如运行或读取),它就会被修改.第三个是ctime,即变更时间.当文件的属性发生变化(比如改变权限或者所有关系)时,ctime的值就会被改变.管理员用ctime来查找黑客. 备份会改变atime,tar,cpio,dd都会这样做,dump通过原始设备来读取文件系统,因此它不 会改变atime. dump的语法.

  • Linux下实现MySQL数据备份和恢复的命令使用全攻略

    为了保障数据的安全,需要定期对数据进行备份.备份的方式有很多种,效果也不一样.一旦数据库中的数据出现了错误,就需要使用备份好的数据进行还原恢复.从而将损失降到最低.下面我们来了解一下MySQL常见的有三种备份恢复方式: 1.利用Mysqldump+二进制日志实现备份 2.利用LVM快照+二进制日志实现备份 3.使用Xtrabackup备份 一:实验环境介绍: 系统介绍:CentOS6.4_X64 数据库版本:mysql-5.5.33 二:基于Mysqldump命令实现备份恢复 2.1.思路概念

  • linux VPS之间网站数据的备份与恢复(网站迁移教程)

    本文所用命令Debian和CentOS通用,文件目录默认与LNMP相同,请做相应修改. 文中www.xxx.com绑定在VPS1的wwwroot目录上为例 1.VPS1上数据打包(备份) a.VPS1上文件数据打包(Tar命令详解 http://www.jb51.net/os/RedHat/1219.html) cd /home/wwwroot/ tar zcvf xxx.tar.gz 网站目录(如/home/wwwroot/vmvps.com) b.VPS1上MySQL数据导出 mysqldu

  • linux grub的启动加密及删除恢复方法

    一.实验1:设置grub口令 1.生成一个加密运算为"nd5"的密码 2.设置grub口令 3.测试grub是否已加密 4.在虚拟机的下图的图形界面中,直接敲"Esc"或者"e"键 5.在图形的框下,提示只能敲"p"键,原因是因为grub加密的原因 6.直接敲"p"键后提示要求输入密码,将刚才编辑的密码填入 7.输入密码后,已经进入了编辑菜单界面 8.直接敲"a"键进入了"gr

  • Linux命令替换rm命令防止误删除

    推荐阅读:Linux rm 命令误删文件的恢复方法 1. 在/home/username/ 目录下新建一个目录,命名为:.trash 2.. 在/home/username/tools/目录下,新建一个shell文件,命名为: remove.sh 复制代码 代码如下: PARA_CNT=$# TRASH_DIR="/home/username/.trash" for i in $*; do STAMP=`date +%s` fileName=`basename $i` mv $i $T

  • Linux恢复删除文件的lsof命令详解

    lsof命令 lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP.UDP).找回/恢复删除的文件.是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行. 在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操

  • Linux上通过binlog文件恢复mysql数据库详细步骤

     一.binlog 介绍 服务器的二进制日志记录着该数据库的所有增删改的操作日志(前提是要在自己的服务器上开启binlog),还包括了这些操作的执行时间.为了显示这些二进制内容,我们可以使用mysqlbinlog命令来查看. 用途1:主从同步 用途2:恢复数据库(也是线上出现一次数据库文件丢失后,才对这个有所了解并学习的) mysqlbinlog命令用法:shell> mysqlbinlog [options] log_file ... <!--[if !supportLists]-->

  • 轻松解决 Linux操作系统故障恢复技巧

    不论你在运行什么操作系统,在很多情况下,你会面对灾难恢复操作.你的主引导区被覆盖,你的硬盘不能启动,或者一个重要的文件被删除,或者你的显示卡启动时闪烁一下就黑屏了.本文会就这些问题作一些技巧性的讨论,帮助你在遇到这些问题时,不致于手足无措. 首先需要的是一张应急启动软盘,在安装 Linux 时,一般会要求建立一张的,所以,你应该有这张磁盘的,如果还没有建立的话,赶紧去建立一张吧,什么?不知道怎么做?很简单的,一般的 Linux 系统下使用 mkbootdisk 命令就可以了.后面的那些参数,只要

  • 完美解决Linux操作系统下aes解密失败的问题

    现象描述:windows上加解密正常,linux上加密正常,解密时发生如下异常: 复制代码 代码如下: javax.crypto.BadPaddingException: Given final block not properly padded       at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)       at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)       at com

  • Linux操作系统12则经典应用技巧

    本文介绍了Linux操作系统应用过程中12则经典技巧,合理应用这些技巧可以更好的使用Linux系统. 1.处理特殊的文件名 假设Linux系统中有一个文件名叫"-ee",如果我们想对它进行操作,例如要删除它,按照一般的删除方法在命令行中输入rm -ee命令,界面会提示我们是"无效选项"(invalid option),原来由于文件名的第一个字符为"-",Linux把文件名当作选项了,我们可以使用"--"符号来解决这个问题,输入

  • 关于Linux操作系统下终端乱码的完美解决方法

    初入linux的程序员们,经常会受到乱码的问候.可谓"始乱终弃".因为乱码,并且最终放弃了linux的不在少数.好吧,言归正传,先看看各类乱码是怎么形成的. 中文字符乱码 这种情况一般是安装了中文控制端,但没有启用中文应用造成的.只需要启动相应软件即可,如zhcon.或者是启用了相应软件,但字符集不对,需设置相应字符集,例如export LANG=zh_CN.UTF-8 ORACLE安装界面乱码 虽说ORACLE支持多国语言,会根据环境变量自动选择字符集,但中文安装好像还有问题,不过1

  • 解决Linux系统中python matplotlib画图的中文显示问题

    最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些初步的数据挖掘和分析. 在使用matplotlib画图时,横坐标为中文,但是画出的条形图横坐标总是显示"框框",就去查资料解决.感觉这应该是个比较常见的问题,网上的中文资料也确实很多,但是没有任何一个彻底解决了我遇到的问题.零零碎碎用了快3个小时的时间,才终于搞定.特此分享,希望能帮到有同

  • 详解Linux 操作系统下安装rpm包的方法步骤

    第2代Linux操作系统在安装软件方面相当简单:第一步,搜索你要的软件,比如你要找一个游戏软件,它的名称叫myward,这个游戏软件的说明是:myown war game.Linux操作系统搜索这个软件包就只需要输入命令apt-cache searchmyward,或者输入软件名称的一部分apt-cache searchwar,或者你不知道软件名称. 下面有一张图可以清晰地表示linux软件应用的架构关系: 在Linux启动的时候.首先会启动内核(kernel),内核是一段计算机程序,这个程序直

  • linux操作系统原理 linux系统基础教程

    本篇文章系统的给大家讲述linux操作系统原理,这是一篇非常好的linux系统基础教程,我们总结了相关的全部精选内容,一起来学习下. linux操作系统原理文字版 一.计算机经历的四个时代 1.第一代: 真空管计算机,输入和输出:穿孔卡片,对计算机操作起来非常不便,做一件事可能需要十几个人去共同去完成,年份大概是:1945-1955.而且耗电量特别大,如果那个时候你家里有台计算机的话,可能你一开计算机你家的电灯泡亮度就会变暗,哈哈~ 2.第二代: 晶体管计算机,批处理(串行模式运行)系统出现.相

  • 在VMware上创建虚拟机及安装Redhat Linux操作系统(图文教程)

    在VMware上如何创建虚拟机以及安装Redhat Linux操作系统创建虚拟机(本人使用的是VMware pro 15) ( 1)点击Create a New Virtual Machine (2)选择自定义,然后点击next (3)出现以下界面,不做任何修改,点击next (4)选择稍后安装操作系统(s),点击next (5)客户机操作系统选择Linux,版本选择Red Hat Enterprise Linux 7 64-bit(可根据自己的实际镜像文件版本选择适合的版本),然后点击next

  • 解决Linux安装mysql 在/etc下没有my.cnf的问题

    今天因为想改mysql的端口,结果发现我的/etc/目录下并没有my.cnf这个文件,我就看了下网上有没有解决的方法. 看了好多关于Linux下没有my.cnf的博客,都是说将my-medium.cnf 移动到etc 并且改名为my.cnf,但是我也没有my-medium.cnf 啊,后面才知道,从5.7.18开始官方不再二进制包中提供my-default.cnf文件. 具体可参考:https://dev.mysql.com/doc/refman/5.7/en/binary-installati

  • 解决linux下openoffice word文件转PDF中文乱码的问题

    网上很多介绍是由于jdk中的没有字体导致乱码,而我遇到的是转换过程并未报错,但转换后的PDF中是乱码,尝试在jre/lib/fonts/中增加字体,还是不能解决问题,因此可以判断非jre字体问题,是linux系统字体问题. 用vim /etc/fonts/fonts.conf,可以看到系统字体文件在/usr/share/fonts,将windows系统字体文件连接到此目录下 ln -s /usr/local/fonts fonts 然后更新缓存:fc-cache 重启openoffice: /o

随机推荐