起動用ディスクイメージを使った起動

見出しの「起動」が冗長ですが、いよいよ起動用ディスクイメージの作成のファイルをVPS上に持っていって作業を行います。

ディスクイメージの転送

さくらのVPS 512に標準で載っているCentOSは以下のようなパーティション構成となっています。

  • /boot
  • /
  • swap

イメージのファイルは通常のユーザーのホームディレクトリ、つまり / のファイルシステムに disk.img を転送します。

シングルユーザーモードでの起動

通常ユーザーのホームディレクトリに転送が済んだら、シングルユーザーモードで再起動します。

% su
Password: (rootのパスワード)
# shutdown -r now

カーネルが起動する前の段階で、

  1. 何かキーを入力してLinuxの起動画面(grub)のところで止めます。
  2. 矢印キーで2行目にカーソルを移動します。
  3. e を入力して編集モードに移行します。
  4. 矢印キーで行末にスペースと single という単語を追加します。
  5. その後、(確か)改行を入力すると、元の起動画面に戻ります。
  6. b を入力すると起動します。

これでシングルユーザーモードで起動します。余談ですが、シングルユーザーモードと言っても、サーバー関係のプロセスが動いていないだけで、ファイルシステムはマウントされているは、ログファイルもガシガシ書き込まれているので、古くからのUNIX使いとしては大変違和感を感じます。

イメージの書き込み

いよいよ転送したファイルをディスクに書き込みます。より安全に行うには、tmpfsでマウントした /tmp に一旦イメージのファイルをコピーしてから行うと良いかもしれません。

# mount /tmp
# cd /home/user
# cp disk.img /tmp

そして、dd(1)を使ってディスクにイメージのファイルを書き込みます。これを行うと、VPSの再インストールをしないと戻れない状態になります。

# dd if=/tmp/disk.img of=/dev/hda bs=8k

dd(1)で指定しているブロックサイズには、あまり大きな意味はありません。

再起動

dd(1)による書き込みが終わったら、とっとと再起動します。ここでreboot(8)に-qオプションを指定することが大変重要です。これを忘れると、せっかく書き込んだディスクイメージの内容が壊れてしまいます。

# reboot -q

さて、これでうまくいっていてればNetBSDのインストールカーネルが立ち上がってきますが、さくらのVPSのリモートコンソールではなく、VNCコンソールを使用して接続する必要があります。VNCコンソールに切り替えるまでには時間が掛かりますが、ここで起動用ディスクイメージの作成/boot.cfg でタイムアウトを長めの20秒としたのが役立って来ます。

NetBSD Boot loader