X86 Solaris boot failure
We had a power outage last weekend that seems to have done some very bad things to one of our x86 Solaris machines. It is refusing to boot, and dropping me to the "grub>" prompt when started. I can get it to recognize the multiboot kernel and module, and it will try to start booting, but it hangs almost immediately. These are the commands I'm entering and their results:
grub> find /boot/grub/stage1 (hd1,0,a) (hd2,0,a) (hd4,0,a) 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
After I issue the boot command, the terminal tries to clear, the cursor goes back to top-left, and I see this on the top line:
eric_138889-08 32-bit
and then the whole system hangs.
It's been long enough since I've poked Solaris that I have no idea what to do next to try and get this beast booted - can anyone give me some advice on where to go / what to try next?
Solution 1:
For ufs file system
1) boot from solaris media (DVD) in single-user mode
2) Mount the root file system to /a, e.g:
mount /dev/dsk/c0t0d0s0 /a
3)Install grub and update the boot_archive file on your boot disks:
cd /a/boot/grub
installgrub -fm stage1 stage2 /dev/rdsk/c0t0d0s0
4) update the boot_archive via bootadm command:
bootadm update-archive -fv -R /a
if you using zfs file system
1) boot from solaris media (DVD) in single-user mode
2) Import the ZFS root pool on the /a mountpoint
zpool import -R /a rpool
3) Mount the data set which contains the operating system
zfs mount rpool/ROOT/sol10-u10
4)Install grub and update the boot_archive file on your boot disks:
cd /a/boot/grub
installgrub -fm stage1 stage2 /dev/rdsk/c0t0d0s0
5) update the boot_archive via bootadm command:
bootadm update-archive -fv -R /a