The bootadm command fails to construct a properly formatted GRUB menu entry when you boot a system in the 32-bit mode by using the following commands:
reboot -- -r
As a result, the system boots in the 64-bit mode. The faulty menu.lst file might appear as follows:
findroot rootfs0 kernel /platform/i86pc/kernel/unix module /platform/i86pc/boot_archive
In the previous example, the kernel line does not contain the multiboot information and is therefore incorrect. No error message is displayed.
Workaround: Edit the /boot/grub/menu.lst file manually and add the following information:
title Solaris 10 10/08 findroot rootfs0 kernel /platform/i86pc/multiboot kernel/unix module /platform/i86pc/boot_archive
After making these changes, the system boots in the 32-bit mode.
The changes you make to the menu.lst file persist over system reboots.
Alternately, you can edit the GRUB menu at boot time, adding the kernel/unix boot argument, as shown in the following example:
grub edit> kernel /platform/i86pc/multiboot kernel/unix
Changes made by editing the GRUB menu at boot time do not persist over system reboots.
For more information, see Modifying Boot Behavior on x86 Based Systems in System Administration Guide: Basic Administration.