免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 689 | 回复: 0
打印 上一主题 下一主题

linux rescue使用经历 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-17 21:47 |只看该作者 |倒序浏览

先看一般情况,弄明白了原理再看我的情况。
一般来说,按下面的指示即可恢复linux。
启动linux rescue模式,进入后,硬盘上的系统已经被找到并挂载在/mnt/sysimage 下
按提示chroot /mnt/sysimage ,就是把/mnt/sysimage设为root的根,即/
chroot 之后你就可以已经在你的要被拯救的系统下了。
grub挂了的,grub-install /dev/hdxx
配置文件改错的,vi /etc/fstab  vi /etc/inittab ..................
软件包被毁的 rpm  -F xxx.rpm
完成修复工作后,exit命令退出chroot,exit退出rescue shell 系统重启。
备注:

果你硬盘上的系统是非rhel系统如debian的,那么在第4步时,rescue
程序会找步不到硬盘上的系统,所以我们这是选择"跳过",直接进入shell。假设现在硬盘上的有一个debian 系统 /dev/hda1
为/boot 分区 /dev/hda5 为 / 分区 /dev/hda6 为swap。那么我们现在这么做。
[code:1:7a2a86c1c2]
# fdisk -l (查看分区情况)
# mkdir /mnt/linux
# mkdir /mnt/linux/boot  (根据fdisk -l 得到的信息创建目录)
# mount -t ext3 /dev/hda5 /mnt/linux
# mount -t ext3 /dev/hda1 /mnt/linux/boot (挂载硬盘上的文件系统)
# chroot /mnt/linux (chroot 改变工作系统)
#[/code:1:7a2a86c1c2]
自此我们顺利进入硬盘上的debian系统,剩下来到就和先前一样了,有冤的报冤有仇的报仇。
另:
如果你的系统是文件系统损坏那么就不用挂载,chroot 系统了。
直接 fsck /dev/hdxx 即可。
其实我们仔细想想这个rescue会发现,所谓rescue 模式只是一个带shell 的linux 运行环境而已,然后通过mount 和 chroot进入要修复的系统的。
所以在没有rescue 盘的情况下我可以利用 Linux livecd 或 软盘版的linux 进入shell 环境然后重做
[code:1:7a2a86c1c2]
# fdisk -l (查看分区情况)
# mkdir /mnt/linux
# mkdir /mnt/linux/boot  (根据fdisk -l 得到的信息创建目录)
# mount -t ext3 /dev/hda5 /mnt/linux
# mount -t ext3 /dev/hda1 /mnt/linux/boot (挂载硬盘上的文件系统)
# chroot /mnt/linux (chroot 改变工作系统)
#[/code:1:7a2a86c1c2]
就可以简单的进入一个rescue 环境了.:em02:
但是很不幸,今天我遇到的情况很不常规。

了能在windows下访问ext3分区,安装了个mount everything的demo版本,一大堆问题就来了。安装好后,使mount
everything的初始设置,我设置要访问的linux分区在windows下的label为O。mount的时候,才发现demo只能mount
1G以下的分区。扫兴,干脆不用。
卸载以后,重新启动,进入linux的时候,却发现kerenl panic。同因为后来安装windows导致不能进入linux的症状又不一样。

管了,先死马当活马医,按因为重新安装windows而不能访问linux分区的情况医治。用第一张安装光盘,进入linux
rescue模式,更糟,连linux分区都无法挂载。/mnt/sysimage目录下只有3个文件夹E,F,G,对应windows下3个分区。
怎么办? 根据上面的文章,应该是找不到硬盘上的系统。只好手动mount了。
# mkdir /mnt/linux
# mount -t ext3 /dev/hda3 /mnt/linux (根据fdisk -l 得到的信息创建目录)
#chroot /mnt/linux
顺利进入系统。好激动。
初步怀疑可能是那个软件导致出错。执行fsck命令,发现没有错误 。
还是先备份要紧。进入/root和/home目录,用cp -r 命令把重要文件拷贝到 /mnt/sysimage/E 下面。再进入/opt目录下,把好不容易设置好的 eclipse也拷贝出来。lumaqq也要拷贝出来,防止聊天记录丢失。
为什么出错呢?不得其解。重新进入windows,执行mount everything,突然想起来设置的时候把 linux分区的卷标由  / 改为 O 了,好像毛病就出在这里,再把卷标由 O 改为 /,重新启动。
再次试图进入linux的时候,顺利加载 kernel。还没来得及高兴,马上又出现另一个问题,无法装载  root filesystem, 不对呀,既然能启动kernel,也应该能挂在root呀。不过还好,进入了命令行模式,能查看 linux分区中的文件了。
沉思良久,想通了,既然在rescue模式下能用mount /dev/hda3来挂载/,如果编辑/etc/fstab文件,把其中的
LABEL=/ / ext3 defaults 1 1
改为
/dev/hda3 / ext3 defaults 1 1

应该能行了。
运行命令
#vi /etc/fstab
要保存的时候才发现文件是 readonly模式,即使是使用!q, !wq, !w 都不能保存该文件。
没办法,重新进入linux rescue模式,编辑/etc/fstab文件,用!q保存后退出。
重新启动,顺利进入linux。
不容易啊。差一点就忍不住要重新安装了。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/27493/showart_362522.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP