Use this procedure to boot a system, if you need to specify an alternate kernel or an alternate /etc/system file.
To specify an alternate /etc/system file when booting an x86 based system interactively by using the boot -a command, follow these steps:
1. Make backup copies of the /etc/system and the boot/solaris/filelist.ramdisk files.
# cp /etc/system /etc/system.bak # cp /boot/solaris/filelist.ramdisk /boot/solaris/filelist.ramdisk.orig |
2. Add the /etc/system.bak file name to the /boot/solaris/filelist.ramdisk file.
# echo "etc/system.bak" >> /boot/solaris/filelist.ramdisk |
3. Update the boot archive.
# bootadm update-archive -v |
Reboot the system.
# reboot |
If the system displays the Press any key to reboot prompt, press any key to reboot the system.
You can also use the Reset button at this prompt. If the system is shut down, turn the system on with the power switch.
When the boot sequence begins, the GRUB main menu is displayed.
To access the GRUB edit menu, type e.
Use the arrow keys to select the kernel or kernel$ line.
Type e to edit the boot entry line.
Type -a to boot the system interactively, then, press Enter to return to the previous menu.
To boot the system interactively, type b.
Type a default directory for modules, or press Enter to accept the default.
Enter default directory for modules [/platform/i86pc/kernel /kernel /usr/kernel]: |
Type an alternate system file name, alternate-file.
Name of system file [etc/system]: /etc/system.bak |
Pressing Enter without providing an alternate file accepts the default.
Repair the damaged /etc/system file.
Reboot the system to run level 3.
# reboot syncing file systems... done rebooting... GNU GRUB version 0.95 (637K lower / 2096064K upper memory) =================================================== Solaris 10 10/08 s10x_u6wos_03 X86 Solaris failsafe ===================================================== Use the and keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. ===================================================== GNU GRUB version 0.95 (637K lower / 2096064K upper memory) ===================================================== findroot (pool_rpool,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive ====================================================== Use the and keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu. [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub edit> kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS -a GNU GRUB version 0.95 (637K lower / 2096064K upper memory) =================================================== findroot (pool_rpool,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS -a module /platform/i86pc/boot_archive ==================================================== . . . Enter default directory for modules [/platform/i86pc/kernel /kernel /usr/kernel]: Name of system file [/etc/system]: /etc/system.bak SunOS Release 5.10 Version Generic_137138-04 32-bit Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Hostname: pups NIS domain name is ....sfbay.sun.com Reading ZFS config: done. Mounting ZFS filesystems: (5/5) pups console login: |