chengyc 发表于 2012-09-19 08:16

python 手册

一 、Grub配置文件丢失的故障恢复
Grub配置文件一般指/boot/grub/grub.conf文件,该文件指示了系统引导时要从哪个分区去加载;内核及内存镜像(RAMDISK)文件,该文件的丢失将使电脑启动时在grub配置界面中卡住。解决该文件丢失需要管理员记住grub.conf的基本配置信息,比如:
# cat /etc/grub.conf
default=0 #默认加载第几个系统,从0起算
timeout=5 #启动时停留在Grub配置界面中的时间
splashimage=(hd0,0)/grub/splash.xpm.gz #Grub的背景图片
hiddenmenu #是否隐藏菜单
title Red Hat Enterprise Linux Server (2.6.18-8.el5) #操作系统的标题
root (hd0,0) #操作系统的引导分区
kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet #设置加载的内核
initrd/initrd-2.6.18-8.el5.img #设置加载的内存磁盘文件
解决方法:
1.在系统启动的grub配置环境中敲入如下几条语句;
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-8.el5.img
2.再敲入boot 启动;
3.去/boot/grub/中做一个grub.conf文件(文件内容就是刚才显示的内容),或者把备份的grub文件恢复一份为grub.conf;此后系统重启后即可正常引导;

二 、fstab分区挂载表丢失的故障恢复
fstab文件位于/etc/fstab,该文件指示了系统在启动后要怎么装载系统分区,像系统的几个重要系统分区如:/,/boot,/home,swap分区都要通过fstab让系统去挂载,该文件丢失的话系统挂载过程会出错,虽然在RedhatLinux Enterprise 5中fstab丢失系统仍可启动至图形界面(如果有安装的话),但是在切入到命令行界面即会出错,我们先看一下fstab的内容:
# vi /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
LABEL=/home /home ext3 defaults 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
我们来看一下这一行:
LABEL=/ / ext3 defaults 1 1
这行说明了标签(label)等于/的分区挂载在根(/)目录下,分区是ext3格式,第五列的1指明访分区是否要备份 (0 为不备份,1 为要备份, 一般根分区要备份),第六列的1指明该分区要自检 (0 为不自检,1 或者 2 为要自检, 如果是根分区要设为1,其他分区只能是2)。
我们设置标签是因为分区名(如/dev/sda1)很难记忆,所以系统自动会把要挂载到/目录的分区标签设为/,把挂载到/home目录的分区标签设为/home,设置标签的命令如下:
将/dev/sda1分区命名为abc:
#e2label /dev/sda1 abc
查询/dev/sda1分区:
#e2label /dev/sda1 abc
查找标签为abc的分区:
#findfs LABEL=abc
解决方法:
A:如有系统可以启动并可以使用命令的话,手工做一份fstab放入/etc即可,但由于fstab比较难记,管理员先前最好要有备份,将备份文件拷贝为/etc/fstab即可。

B:如果系统不能启动,要依靠系统光盘的救援模式,按照如下步骤解决:
1.放入Redhat系统光盘,设置从光盘引导,并且进入救援模式(敲入linux rescue);
2.findfs LABEL=/ 来查找原来/目录所挂载的分区名;
3.如第2步找到的分区为/dev/sda9,先用mkdir /mnt/sysimage建立一个目录,再用
mount /dev/sda9 /mnt/sysimage来挂载;
4.进入/mnt/sysimage/etc目录,如果fstab有备份的话将其恢复(如mv fstab.bak fstab),如果没有,请自己做一个fstab;
用chroot /mnt/sysimage将当前根目录设定为磁盘中的根目录(否则当前根目录在光盘中),此时进入/etc目录,如果fstab有备份的话将其恢复(如mv fstab.bak fstab),如果没有,请自己做一个fstab;
5.敲入reboot或敲入两次exit并命出光盘重启即可.

三 、/boot系统引导目录被删除的故障恢复
/boot目录中存放有grub.conf及系统引导用的内核及内存磁盘文件,该目录被删除一般会导致grub配置界面都没有使用,并有提示 error15,解决方法还只能依靠系统光盘的救援模式。
我们来考查最糟糕的一种情况,就是/boot目录被删除的同时,fstab也被删除了,此时要怎么恢复?
系统先前环境:
系统假设安装有linux与winxp
其中/dev/sda8挂载在/boot目录下
/dev/sda9挂载在/目录下
/dev/sda12挂载于/home目录下
且/home目录中备份有kernel-2.6.18-8.el5.i686.rpm(该文件用于安装系统内核,极为重要,建议管理员备份一个,在系统光盘中也有),fstab,grub.conf文件以下是系统grub.conf的配置:
default=1
timeout=5
splashimage=(hd0,7)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-8.el5)
root (hd0,7)
kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-8.el5.img
title Other
rootnoverify (hd0,0)
chainloader +1

以下是df -h的结果:
Filesystem Size Used Avail Use% Mounted on
/dev/sda9 9.5G 2.7G 6.3G 30% /
/dev/sda8 99M 28M 67M 30% /boot
tmpfs 474M 0 474M 0% /dev/shm
/dev/sda12 965M 53M 863M 6% /home
/dev/sda10 965M 18M 898M 2% /zjg
/dev/sdb5 983M 628M 355M 64% /media/disk
解决方法:
1.放入系统盘,设置从光盘启动,敲入linux rescue进入救援模式;
2.此时是光盘无法自动挂载/分区到/mnt/sysimage,要手工挂载;
用findfs LABEL=/ 找到原来/分区所挂载的分区,比如为/dev/sda9,同样的找到原
来/home,/boot对应的分区/dev/sda12,/dev/sda8
mount /dev/sda9 /mnt/sysimage 挂载/
mount /dev/sda8 /mnt/sysimage/boot 挂载/ (注:也可不挂载)
mount /dev/sda12 /mnt/sysimage/home 挂载/home
3.chroot /mnt/sysimage切换到原系统的根分区,否则是光盘上的分区;
4.比如管理员在/home目录下有fstab的备份,此时要把/home下的备份fstab拷贝
到/etc/fstab,没有的话请自己配一下;重启;
5.再次进入光盘救援模式,chroot /mnt/sysimage切换到原系统的根分区;
6.去/home目录,并安装kernel-2.6.18-8.el5.i686.rpm
rpm -ivh kernel-2.6.18-8.el5.i686.rpm --root=/ --force
7.此时可以查看/boot目录,已经安装了内核文件与文件系统文件
vmlinuz-2.6.18-8.el5
initrd-2.6.18-8.el5.img
8.安装grub: grub-install /dev/sda
8.把/home下的grub.conf拷贝到/boot/grub/grub.conf,没有的话请自己配一下;
9.reboot或两次exit重启,并拿出光盘即可启动。



系统备份 (2011-10-15 14:44) 一键转载
标签:系统备份分类: Linux学习笔记



备份MBR分区
MBR :Master Boot Record 主开机扇区记录
在x86的系统中,系统硬盘位于第0号磁道:0到511KB的块区为MBR,开机管理程序使用这块区域来存储第一阶段的开机引导程序。接着位于1到62号磁道做为第1.5阶段的开机引导程序,从第63号磁道开始才是操作系统分区
MBR分为三个部分;0-445KB,是初始引导程序,也称为第一阶段的导引程序;446-509KB为磁盘分区表,内容包括分区标记、分区的起始位置、分区容量、分区类型等。最后一部分只占2KB,记录MBR标记代码。

#查看分区信息
# fdisk -l
Disk /dev/hda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   IdSystem
/dev/hda1   *         1          13      104391   83Linux
/dev/hda2            14      1318    10482412+83Linux
/dev/hda3            1319      1579   2096482+83Linux
/dev/hda4            1580      5221    29254365    5Extended
/dev/hda5            1580      1840   2096451   83Linux
/dev/hda6            1972      2213   1943833+8eLinux LVM

#MBR分区在/dev/hda1上,备份到/root/mbr下
#dd命令 可备份某个文件或者整个分区,if 指定源文件,of 指定目标文件,bs指定块大小,count指定复制的块数量
# dd if=/dev/hda1 of=/root/mbr bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000313997 seconds, 1.6 MB/s
系统无法启动时,可以采用“linux resue”模式启动,后把恢复MBR 分区
dd if=/root/mbr of=/dev/hda1bs=512 count=1

恢复分区表
dd if=/root/mbr of=/dev/hda1 bs=512 skip=446 count=66
bs=512 skip=446 count=66主要是指定分区表在备份文件中的位置

备份数据文件

MaoGeMS 发表于 2013-05-17 16:38

:mrgreen:谢谢分享。。

lastexile 发表于 2013-08-23 17:07

Grub配置文件丢失的故障恢复? 晕:-L

ly602549803 发表于 2013-09-20 09:24

python学习学习

cricode 发表于 2014-03-28 10:29

cool{:2_168:}

sinodragon 发表于 2014-05-07 01:09

学习一下,谢谢分享

cliffordbear_cu 发表于 2014-06-27 20:15

blueboy307 发表于 2014-07-28 14:32

正是我所需要的,非常感谢。

yanggq 发表于 2016-07-07 19:35

thanksa lot

hiyachen 发表于 2017-01-01 22:47

xuexi,xuexi
页: [1] 2
查看完整版本: python 手册