北街在做 UNIX 操作系统维护的时候经常会遇到这样的烦恼:UNIX 系统崩溃后,使用应急引导盘等方法仍然不能修复引导区,系统不能正常启动,或者即使用应急盘启动系统,面对大量的资料数据也不能用软盘备份出来。
如果我们面对这种情况没有解决办法,那就只好重装系统,但是这样会导致大量的资料数据丢失。为了解决这个问题,北街和同事们经过一段时间的摸索,总结出一种能够处理各种系统崩溃后将硬盘上任何内容拷贝出来的方法。
现在将挽救文件系统的技巧介绍如下:(假定系统为 SCO UNIX OpenServer 5.0.5)
一、准备一台能够正常启动 UNIX 系统的机器(以下简称主硬盘)
目前大部分电脑主板都有两个硬盘接口,能够连接两个硬盘,可以通过进入 CMOS 查看?然后用“df -v”命令检查主硬盘的剩余空间,要留有足够大的自由空间。主硬盘接在主板的 IDE0 口,将崩溃的硬盘(以下简称目标盘)接到主板的 IDE1 口。两个硬盘的跳线都设为 MASTER,修改 CMOS 参数的 Primary IDE Master 和 Secondary IDE Master 设为自动或硬盘参数;如果主板只有一个 IDE 口,将主硬盘接到电缆线的 Master 接口,目标盘接在 Slave 接口上,同时将目标盘的 DIP 跳线开关拨到 Slave 位置上,修改 CMOS 参数 Primary IDE Master 和 Primary IDE Slave 设为自动或硬盘参数。
二、配置主硬盘,增加对第二个硬盘的识别
1 | # mkdev hd |
显示:
1.Add a hard disk to IDE controller
2.Add a hard disk to SCSI controller
3.Add a hard disk to IDA controller(EISA)
根据硬盘类型,选择相应数字后,系统会自动增加一些设备类型。
1 | # divvy |
假定目标盘为4.2G硬盘。显示主硬盘分区情况,
对各分区 name 栏没有命名的要重新命名,选择 n[ame] Name or rename a division
对分区0、1、2、6、7分别给一个名字,再选择 I[nstall] Install the division set-up shown
三、启动机器,引导系统进入单用户状态
四、修改目标盘各分区 name 栏
1 | # divvy/dev/hd10 |
进入 divvy 的交互界面,显示目标硬盘分区情况,假定目标盘为2.5G。对0、1、2、6、7分区 name 栏没有命名的要重新命名,方法同第2步。
上述工作完成后,就可以拷贝目标盘上任何分区的文件到主硬盘上,注意不要把主硬盘上相同的文件覆盖和破坏。
例一:将主硬盘的 /stand/unix 拷贝到目标盘相应位置
# mount /dev/boot1 /mnt;安装目标盘的 boot 区到 /mnt 目录
# cp -r /stand/! /mnt;拷贝主硬盘上的 boot 文件系统到目标盘的 boot 区
# umount /mnt;拆卸文件系统
例二:将目标盘上 /home/cxqt 目录拷贝到主硬盘上相应目标
1 | # mount /dev/root1 /mnt; |
安装目标盘的root区到/mnt目录
1 | # cp -r /home/cxqt/ home; |
拷贝目标盘的根文件系统 /home/cxqt 目录到主硬盘的相应目录
1 | # umount /mnt |
例三:将目标盘上 /home/kjqt 打包拷贝下来
# mount/dev/root1/mnt
# cd/mnt/home
# tar cvf/tmp/kjqt.pkg kjqt
# umount/mnt
# haltsys
将目标盘拆下,把硬盘跳线和 CMOS 参数改回原样,这样整个恢复过程完成。


顶,不错,今天来顶顶
很好,博主天天更新文章,不错
这不是一般的给力啊。非常顶!
谢谢楼主分享,真的很管用啊
有段时间没看了。这段时间有点忙
这样可以恢复就好。来我家走走吧,放松一下。
@广州SEO 有空一定光顾!
unix,高端货啊