X86 Solaris引导失败

我们上个周末停电,似乎对我们的x86 Solaris机器做了一些非常糟糕的事情。 它拒绝启动,并启动时将我放到“grub>”提示符下。 我可以让它识别多引导内核和模块,它会尝试启动引导,但它几乎立即挂起。 这些是我input的命令和结果:

 grub> find / boot / grub / stage1
  (hd1,0,一)
  (hd2,0,一)
  (hd4,0,一)

 grub> root(hd1,0,a)

 grub> kernel / platform / i86pc / multiboot kernel / unix
    [Multiboot-elf,<0x1000000:0x141eb:0x128f5>,shtab = 0x1027258,entry = 0x1000000]

 grub> module / platform / i86pc / boot_archive
    [Multiboot-module @ 0x1034000,0x5ed3800 bytes]

 grub> boot

在我发出启动命令后,terminal试图清除,光标回到左上angular,我看到这个在最上面一行:

                              32位     

然后整个系统挂起。

自从我使用Solaris之后已经很长时间了,我不知道下一步该怎么做,试着让这个野兽启动 – 任何人都可以给我一些build议,告诉我下一步该怎么做?

对于ufs文件系统

1)以单用户模式从solaris介质(DVD)启动

2)将根文件系统挂载到/ a,例如:

 mount /dev/dsk/c0t0d0s0 /a 

3)安装grub并更新启动盘上的boot_archive文件:

 cd /a/boot/grub installgrub -fm stage1 stage2 /dev/rdsk/c0t0d0s0 

4)通过bootadm命令更新boot_archive:

 bootadm update-archive -fv -R /a 

如果你使用zfs文件系统

1)以单用户模式从solaris介质(DVD)启动

2)在/ a挂载点上导入ZFS根池

 zpool import -R /a rpool 

3)安装包含操作系统的数据集

 zfs mount rpool/ROOT/sol10-u10 

4)安装grub并更新启动盘上的boot_archive文件:

 cd /a/boot/grub installgrub -fm stage1 stage2 /dev/rdsk/c0t0d0s0 

5)通过bootadm命令更新boot_archive:

 bootadm update-archive -fv -R /a 

这是Solaris x86 / 64上的常见问题。 看起来像boot_archive处于不一致的状态感谢closures不正常。 由于PC硬件没有Sun / Oracle的OpenBoot,因此它是用软件模拟的。 boot_archive包含这些信息。

修复boot_archive指令可以在这里find。