|
摘要:
本文旨在通过一个具体的事例来说明,由于某些原因(如非正常关机)导致系统无法启动且无法用救援模式(rescue)来修复的情况下,如何运用fdisk工具来挽救硬盘上的有用数据。由于本人认识有限,文档中难免有描述不清甚至错误的地方,欢迎指正:hudsying@gmail.com
平台描述:
硬件平台:IBM Xseries 336
单cpu xeon 2.6G
内存1024M
scsi硬盘73.4G
DVD驱动器
操作系统:Great Turbo Enterprise Server 10
内核:2.6.9
硬盘分区情况:
设备 大小 mount point 类型
/dev/sda1 120M /boot EXT3
/dev/sda2 20000M / EXT3
/dev/sda3 2048M SWAP
/dev/sda4 49000M EXTENED
/dev/sda5 49000M /u EXT3
故障描述:
由于未知原因,导致机器死机。无法ping通主机,终端无反应,无法输入任何指令。CTRL+ALT+F1~F7也不起作用。只好冷关机。开机自检后,进入操作系统选择界面,确定进入。在操作系统检查磁盘后提示,系统异常关机,需要检查文件系统。确认后fsck,并修复(切记,fsck相当危险,慎用)。最终进入操作系统,但系统有些异常。于是再次重启。当进入操作系统文件系统检测时,便无法继续。最终屏显为:switch to new root
修复过程:
用IBM XSeries 336自带的硬盘检测工具扫描硬盘,并未发现硬件上有任何故障。
试图用操作系统的rescue模式恢复系统,但进行至:搜索已安装的操作系统时死机。
将硬盘插入另一台正常的336机器,试图mount。但系统启动异常(很多模块加载失败),且mount失败(可能是因为操作系统检测到硬件有较大改动的缘故)。
由于用户数据在单独的一个分区(/u,dev/sda5),所以试着重装操作系统并保留分区/u不格式化。但同样当进行到:搜索已安装的操作系统这一步时死机。
咨询turbo linux工程师,对方告知可以在死机之前,ALT+F2进入控制台,再用fdisk删除用户数据以外的其他分区:
准备:
1. 插入Server 10安装盘重启系统
2. 在安装提示下输入text,进入文本安装模式
3. 安装程序初始化完毕后,选择语言,键盘等。直道导致死机的搜索已安装的操作系统那一步之前
4. ALT+F2进入控制台
5. dmesg|grep scsi查看scsi硬盘信息,发现并无报错。再次验证硬盘无硬件故障
fdisk:
1. fdisk /dev/sda
屏幕提示:Command (m for help):
这时候如果键入m可以查看帮助
2. 键入p查看分区情况:
/dev/sda1 120M /boot EXT3
/dev/sda2 20000M / EXT3
/dev/sda3 2048M SWAP
/dev/sda4 49000M EXTENED
/dev/sda5 49000M /u EXT3
屏幕提示:Command (m for help):
3. 键入d删除/boot分区
屏幕提示:Command (m for help):
4. 键入w确认删除并回到提示:
Command (m for help):
5. 键入p查看分区情况:
这时发现少了一个分区。分区情况可能有所改变,我们需要记住新的分区情况
6. 用第3和4步的方法依次删除除了用户数据区(/u)之外的其他分区
退出控制台(大概是quit或者其他什么命令,记不清了)继续安装。当进入搜索已安装的操作系统时,并没有死机。于是按照正常步骤进行重新分区,并配置安装过程中的其他参数(记住一定保留/u分区)。系统安装完成后,便可通过mount挂载/u分区(mount -t ext3 /dev/sda5 /mnt),里面的数据都完好无损。
修复过程到此结束!
要点总结:
1. 尽量避免冷关机的情况
2. 慎重使用fsck
3. Turbo Linux在引导过程中,可以通过ALT+F2进入控制台
4. 在涉及到分区问题时,可以试试fdisk
5. 有关fdisk的其它详细介绍,请参阅:
http://www.linux8.net/html/xxjc/2005-10/26/18_49_47_617.html
http://www.linuxmine.com/37388.html
欢迎交流:hudsying@gmail.com
By DooB
Oct 22,2006 |
|