HDDの接続ポートの変更に伴うfstabの修正

ハードウェアの仕様変更をしたときなどにはそのままシステムを立ち上げるとデバイス名が変更になってしまい起動出来ないということに陥ることがある。
そうなったときには"/etc/fstab"を適切に変更しないといけないのでその方法。

作成日:2008.6.2
更新日:2008.7.27

前提条件
■変更前のファイルシステム
 ad0s1a /
 ad0s1d /tmp
 ad0s1e /var
 ad0s1f /usr

■変更後のファイルシステム
 ad4s1a /
 ad4s1d /tmp
 ad4s1e /var
 ad4s1f /usr

ページのトップへ

マウント位置がずれたときには起動時にこのようなメッセージが出てきますので"/"(ルート)があるファイルシステムを指定します。
(色分け:入力値コマンドラインコメント)
Manual root filesystem specification:
  <fstype>:<device>  Mount <device> using filesystem <fstype>
                       eg. ufs:/dev/da0s1a
  ?                  List valid disk boot devices
  <empty line>       Abort manual input 

mountroot> ufs:ad4s1a
HDDのデバイス名が分からない場合は"?"を指定すると現在、認識 しているファイルシステムを表示できます。
Enter full pathname of shell or RETURN for /bin/sh: [Enter]
その後はシェルを聞かれますがデフォルトのまま使用します。 ("tcsh"にしたらエディタで正しく表示できなくなったりするので そのままにしています。)
とりあえず現時点ではルートのみマウントしたシングルユーザーモード状態で起動しているので残りの足りないファイルシステムをマウントして作業を行います。
(色分け:入力値コマンドラインコメント)
# /sbin/mount /dev/ad4s1d /tmp
# /sbin/mount /dev/ad4s1e /var
# /sbin/mount /dev/ad4s1f /usr
※マウントしたら"ls"コマンドでマウントしたディスクがあって いるか確認しておく。もし違っていたら、アンマウントして別の ファイルシステムをマウントする。
# /sbin/mount -u /
おそらくルートが書き込み禁止になっているので変更しておく。

# swapon -a
メモリに十分な容量が無い場合には実行しておくと良いみたい。

# /usr/bin/ee /etc/fstab
エディタでfstabを開いてad0となっているところをad4へ編集します。
あとは再起動して正常に起動できるようになっているか確認して終わりです。
ページのトップへ

参考にしたサイト