- 论坛徽章:
- 1
|
boot文件丢失
1. 用unix.old引导起来系统
2. 备份unix.old,比如拷贝到unix.ok,切记,否则做下一步unix.old会被覆盖
3. 重新连接内核生成新内核(还有新的unix.old)
4. 重起系统
详细文档参考:
Assuming that your /stand/unix.old is good, you can always boot from this.
Either proactively or reactively check the following to reduce the possibility of seeing this sort of error;
- Check what is your current boot hba.
#echo "resdump\nq\n" | ndcfg | pg
Search for the word "BOOT", you'll see something like the following.
23 BOOTHBA 0 0 0 a4ff
23 .INSTNUM 0 0 0 a4ff
23 MODNAME 0 1651729505 62736461 a400 adsb
Note the hba name at end of the MODNAME entry. This tells you that the boot hba is "adsb". Check to see that you have the correct hba for your system.
- Check that the (adsb) boot hba is statically linked.
#grep "\$static" /etc/conf/sdevice.d/adsb
You would see the following if the driver is statically linked;
$static
** See procedure below for adding this line if it is missing. The $static entry is required for a sane bootable system
- Manually update the /etc/conf/sdevice.d directory with entries from resmgr database.
#/etc/conf/bin/idconfupdate -f
- Manually relink your kernel to ensure that there are no compile errors.
*ALWAYS* back up your unix.old file before proceeding.
#/etc/conf/bin/idbuild -B
(**) If the "$static" entry is missing, please follow the procedure below to add it to your hba configuration.
Edit the file:
/etc/conf/sdevice.d/adsb
and add the line:
$static
to the file below the line that reads:
$version 2
The resulting file should have contents similar to the following:
$version 2
$static
adsb Y 0 5 4 16 A400 A4FF DC800000 DC800FFF -1
You must then rebuild the kernel using the command:
idbuild -B
Reboot your system for the changes to take effect. |
|