Androidビルド環境を構築していたUbuntu 11.04(64bit) on VMware(R) Player が, 以下のようなメッセージを表示して起動しなくなった.

 GRUB Loading, please wait...
 Error 21

原因は, 少し前にUSB起動のUbuntuを作成してしていて, 誤ってMBR(Master Boot Record)を破損したためのようだ.

Ubuntu 11.04(64bit) on VMware(R) Player のMBRを修復した際のメモをまとめておく.

1. LiveCDの起動[1]
ブートで失敗しているので, 以下の手順でVMPlayer上でLiveCDからUbuntu 11.04を起動する.
1) Ubuntu 11.04をインストールしている xxx.vmxファイル内の以下の項目を修正する.
 (a) 起動時にbios設定を有効にする.
  bios.forceSetupOnce = "TRUE"
 (b) cdromにUbuntu11.04のLiveCDイメージを設定する.
  ide1:0.present = "TRUE"
  ide1:0.fileName = "D:\OSImage\ubuntu-11.04-desktop-amd64.iso"
  ide1:0.deviceType = "cdrom-image"
 (c) cdromを起動時に有効にする.
  ide1:0.startConnected = "TRUE"
2) VMPlayerを起動するとBIOS設定画面が表示されるので, "Boot"タブで"CD-ROM Drive"を一番上にして, "Exit"タブで"Exit Saving Changes"で設定を保存する.
  起動デバイスの順位は, "+"/"-"キーで変えられる.
vmplayer02
3) LiveCDが起動したら, "Try Ubuntu"を選択する.
Ubunt

2. grubの再インストール[2]
Terminalを開き, grubをインストールする.
1) root権限になる.
 $ sudo -s
2) Ubuntu 11.04がインストールされているパーティションを確認する.
 # fdisk -l
以下では, /dev/sda1にインストールされているとする.
3) Ubuntu 11.04がインストールされているパーティションをマウントする.
 # mount /dev/sda1 /mnt
4) grubをインストールする.
 # grub-install --root-directory=/mnt /dev/sda
5) 再起動する.
 # reboot
無事, Ubuntu 11.04を起動することができた.
6) grubをupdateする.
 $ sudo -s update-grub
7) Ubuntu 11.04をShutdownし, 1.で修正したxxx.vmxファイル内の修正を元に戻す.

OSのインストール, マルチブートなどを試していると, MBRを破損して起動できなくなることはよくあることである.
たいていの場合は, grubなどを再インストールし正しく設定することで復旧できるので, 慌てないで対処しましょう!!

----
参照URL:
 [1] Ubuntu10.10にアップグレードしたが...
 [2] Ubuntu10.10とWindows 7のデュアルブート