有关UNIX启动的一些体会

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

UNIX主机启动时,不出现boot:一行,光标不动,(主机设为光驱,软驱,硬盘启动时,软盘未取出)或者说感染了病毒.解决方案:先从UNIX原理上说起,假设UNIX装在活动的第一分区.UNIX中把硬件全部当做文件来管理,第一个物理硬盘是/dev/hd0,第二个物理硬盘是/dev/hd10,依此类推:第一个物理硬盘的逻辑分区从/dev/hd01到/dev/hd04,/dev/hd0a特指活动分区.主引导程序,引导0和引导1在UNIX系统中都有备份,它们分别为/etc/masterboot, /etc/hdboot0, /etc/hdboot1.

安装了UNIX系统的机器启动过程大概是这样的:上电----BIOS检查硬盘------从硬盘物理0扇区加载主引导程序-----从活动分区,即UNIX分区加载boot0----加载boot1-----检查divvy表,找到根文件系统-------装入/boot,显示引导提示boot::-----装入并执行内核/unix------启动完毕.

了解了启动过程后,对本文开始提出的问题就很好处理了.首先准备应急引导盘,UNIX系统维护人员应该是常备的,即使没有也可以立即到其他机器用mkdev fd命令做一张.用应急引导盘启动,进入软盘根文件系统,连接硬盘根文件系统:

# mount /dev/hd0root /mnt

如果提示出错,检查一下根文件系统:

# fask /dev/hd0root

再次连接,接着先恢复硬盘主引导程序:

# cp /mnt/etc/masterboot /dev/hd00

然后恢复引导0

# cp /mnt/etc/hdboot0 /dev/hd0a

重启:

# umount /mnt

# reboot

至此故障解决.顺便说一下,如果其它原因造成UNIX系统不能启动,除了上面两个步骤外,还可能要恢复引导1和boot文件.因为引导1在UNIX分区的1KB偏移处,所以不能直接拷贝,必须用dd命令:

# dd if=/mnt/etc/hdboot1 of=/dev/hd0a seek=1 bs=1k

最后恢复boot,将根文件软盘取出,插入应急引导盘,执行:

# umount /mnt

# mount –r /dev/fd0135ds18 /mnt

# cp /mnt/boot /tmp

# umount /mnt

# mount /dev/hd0root /mnt

# cp /tmp/boot /mnt

对于SCO UNIX ,boot已经不存放在根文件系统下,而是存放在/boot 下,上面的步骤第5 行应改为:

# mount /dev/boot /mnt

恢复后执行reboot重启计算机即可.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航