Unbootable solaris 10 x86

Hi all,
I have unbootable Solaris 10 x86 installed on ZFS root file system. on an IDE HDD

The bios keep showing the msg

DISK BOOT FAILURE , PLEASE INSERT SYSTEM BOOT DISK
please note : the HDD is connected properly and recognized by the system
is there any guide to recover the system , or detail procedure to boot system again
Thanks,,,

boot from dvd... and check the filesystem...

1- please note root file system is installed on ZFS file system
and as far as i know you cant' use fsck on zfs file systems

2- boot from dvd in single user or in failsafe mode
if applicable please i need detailed steps or detailed guide

please note the following :
1- The HDD is connected properly and recognized by the system
2- The bios keep showing the msg DISK BOOT FAILURE , PLEASE INSERT SYSTEM BOOT DISK
3- GRUB don't even show any message or even the splash screen

you CAN check a zpool. you can import the pool after booting from dvd and do a resilver if possible and necessary. but the error looks like your bootblk is gone... if this is the case you can use:

sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0 

to reinstall the bootblk.

i booted from the dvd in single user shell, but it didn't find the previous os installtion
i do see the hdd when i ran

#echo | format

any further idea

you won't find the installation because it is on an zpool... did you try to import the rpool and have a look if the data is still there? if you see the hd, have you tried to restore the bootblk?

@DukeNuke2

what is the exact command to recover the pool in single user shell , do i need to mount anything
I ran

# zpool list
no pools available

with no luck i cannot see any pools
help please i'm lost

try:

# zpool import

i tried

#zpool import
#

it returns no output it seems exiting with exit code

so i ran

#zpool import rpool

also with no luck

i ran it again
and as what i guessed its exiting with exit status

#zpool import
#echo $?
1

any further idea

i still think the bootblk is missing...

Just because the disk appears in format and other commands doesn't mean it works. Try this after booting from DVD:

dd if=/dev/rdsk/c1t0d0s0 of=/dev/null bs=1024k

Replace "/dev/rdsk/c1t0d0s0" with the device name of your disk. Be very careful to name the disk as the input file (if=...) and /dev/null as the output file (of=...), or you will overwrite your disk.

That will at least tell you if you can read from your disk. If that command fails, your disk is probably dead.

It seems that your MBR has been corrupted.

Please run the same installation CD in the rescue mode and mount the HDD somewhere (say /mnt itself). Or any other CD (even Linux would do but with a slightly different trick).

Now change the root using sudo chroot and fire the grub-install command with the same GRUB configuration, you earlier had, which you should be able to get inside the /boot directyory.

Now comming to the use of a Linux CD in the absance of your original solaris CD; what you need to make sure here is that the same GRUB configuration is installed to reboot to get that GRUB menu. I think, here you don't need to do the chroot (else you'd get a lot of floating point error or other host of errors even seg-11 :slight_smile: ); instead copy that grub.conf file from your solaris partition's /boot (ofcourse you need to mount the HDD somewhere to get the copy of grub.conf). Put the configuration file under either /etc/grub/grub.cong or /boot/grub/grub.conf and fire the command grub-install . Once you see this command returning to give you the root prompt after the run; please reboot your system by removing this Linux CD.

You should be get going, untill you have a really hard luck today.

Beat of the Luck.

Cheers!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

@praveen_218

as far as i understand your last post, nothing of the above will work... you can't mount a ZFS filesystem if you can't get "zpool import" to work. and of course not with a linux cd... but maybe i just don't understand what you are trying to do...

@Duke2Nuke
I tried to install bootblk
with no luck

i ran

#installgrub /boot/grub/satge1 /boot/grub/stage2 /dev/rdsk/c0d0s0
connot open/stat device /dev/rdsk/c0d0s2

i got the following

connot open/stat device /dev/rdsk/c0d0s

@achenle i will try you command snippet
and post here again
thanks guys

can you post the output from "format" after boot from dvd?

1- i booted from dvd in single user shell
here is the output

Single user shell.
Searching for OS instances ...
No installed OS instance found.
Starting shell.

#echo|format
 Searching for disks ... done
 AVAILABLE DISK SELECTIONS:
 0. c0d0 < drive type unknown >
     /pci@0,0/pci-ide@1f,1/ide@0/cmdk@0,0
 Specify disk ( enter its number ) :  
#

---------- Post updated at 05:46 AM ---------- Previous update was at 05:18 AM ----------

I tried achenle command snippet

#dd if=/dev/rdsk/c0d0s0 of=/dev/null bs=1024k
dd: /dev/rdsk/c0d0s0 : open : No such device or address

but i'm sure the disk is not dead

  /pci@0,0/pci-ide@1f,1/ide@0/cmdk@0,0

This appears to be primary IDE disk on X86/x64 platform.

What do you get if you invoke the format utility,enter 0 when asked the specify the disk, and select the fdisk option (which should list the disk partitions)?

this c0d0 < drive type unknown > indicates that the drive has serious problems... i would also have a look at the fdisk output...

@fpmurphy
When i enter 0 it asks me several questions regarding the disk geometry like num of clyinders , num of heads , num of sectors and so on
but i didn't supply any parameters to format , i cannot invoke fdisk from within format utility .

@DukeNuke2
What switches and arguments should i pass to fdisk to get output

just post the output of

# fdisk c0d0p0