[rescue] Solaris 10 x86 repair

Patrick Giagnocavo patrick at zill.net
Sun Sep 5 20:12:48 CDT 2010


On 9/5/2010 3:09 PM, Phil Stracchino wrote:
> Something Bad happened on my main server at about 0500 last night, and
> it went down hard.  After temporarily swapping in a DVD drive from my
> workstation so that I can boot from a Solaris 10 DVD (babylon4 has only
> a CD drive), it appears all the hardware is intact, and all the disks
> are good (though the boot archive on the boot pool was corrupt, though
> the install CD repaired that); but the system won't boot, and appears to
> be failing to start grub.  It looks as though whatever happened blew
> away the grub stage1 bootloader, which is easy enough to repair with
> installgrub, IF I knew what device to tell it to reinstall the
> bootloader *on*.  Normally, this would be /dev/rdsk/[boot disk]s3; but
> I'm using a mirrored ZFS boot, and I don't know what's the correct
> device to use in this case.
> 
> Does anyone else know?  STFW has been ... unhelpful so far.
> 
> 

You want to check /boot/grub/menu.lst and read the man page for bootadm.

Probably what you want to do, is to test by firing up grub from CD, DVD,
or floppy and then manually editing the command line to boot into the
failsafe recovery mode.  From there, using bootadm to update the
archive, and then running grub inside there to install on the boot blocks.

I am pretty sure grub is smart enough to figure it out if you give it
e.g /dev/rdsk/c0t0d0 (without a slice) ; as I understand it, grub
installs the boot loader in the MBR which is not something used by any
part of a regular filesystem.

Beware, grub for Solaris has been changed slightly from Linux grub,
mainly customized to add the ability to understand ZFS, and to add the
findroot directive.

My entries from a stock Solaris 10 U8 install:

#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title s10x_u8wos_08a
bootfs rpool/ROOT/s10x_u8wos_08a
findroot (pool_rpool,0,a)
kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS
module /platform/i86pc/boot_archive
#---------------------END BOOTADM--------------------
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title s10x_u8wos_08a failsafe
bootfs rpool/ROOT/s10x_u8wos_08a
findroot (pool_rpool,0,a)
kernel /boot/multiboot -s
module /boot/amd64/x86.miniroot-safe
#---------------------END BOOTADM--------------------

--Patrick



More information about the rescue mailing list