シングルユーザモードで立ち上げる方法
(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