シングルユーザモードで立ち上げる方法

OBPは便利だったなぁと思いながら)ちょっと、リブートに失敗することがありました。でmulti-userモードだと、画面にエラーが出力されず、かつログファイルに書き出されないので、原因解明のためシングルユーザモードで起動させてみました。

google先生に聞くと、いくつか答えは返ってくるのですが、昔の情報すぎて no-GUIで立ち上げているはずが、普通にgdmが立ち上がってしまいました。

○方法:grub のパラメータ変更する
1. kernel行に "-s" をつける。
2. splashimage行を削除する。
3. foreground行を削除する。
4. background行を削除する。

変更前


title opensolaris
findroot (pool_rpool,0,a)
splashimage /boot/solaris.xpm
foreground d25f00
background 115d93
bootfs rpool/ROOT/opensolaris
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=graphics
module$ /platform/i86pc/$ISADIR/boot_archive

変更後


title opensolaris
findroot (pool_rpool,0,a)
bootfs rpool/ROOT/opensolaris
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS -s
module$ /platform/i86pc/$ISADIR/boot_archive

当然ながら上記の変更は、起動時のgrubメニューから変更します。
(画面のメッセージ通りにやればできると思います)

これで、シングルユーザ(メンテナンス?)モードで立ち上がります。

"-s"の変わりに"-a"をつければInteractiveなbootをしてくれるようです。Solarisのbootオプションと同じにしてくれているのかなと思います。


○シングルユーザモードとはどういう状態か
milestoneが single-user に設定された状態のこと


$ svcadm milestone
Usage: svcadm milestone [-d]

-d make the specified milestone the default for system boot

Milestones can be specified using an FMRI or abbreviation.
The major milestones are as follows:

all
none
svc:/milestone/single-user:default
svc:/milestone/multi-user:default
svc:/milestone/multi-user-server:default

シングルユーザモードで立ち上げる場合は、grubのbootオプションで変更すればOK.
起動した後なら、以下でコマンドでできます。


svcadm milestone -d svc:/milestone/single-user:default

○戻す


svcadm milestone -d all

○マルチユーザモードにする(allとの違いはわからん)


svcadm milestone -d svc:/milestone/multi-user-server:default