normal.modが見つかりません(途中)

標記のトラブルは対策を1ヶ月余りを費やしても終了せず
  時間を置いて改めて出直すことにする

1.概要

 ライブUDBからインストール途中で下記のエラーメッセージが表示される
    GRUB loading
    Welcome to GRUB!
    error :File ‘/boot/grub/i386-pc/normal.mod’ not found
    Entering rescue mode…
    grub rescue>

エラーメッセージ

 日本語に訳すると
   エラー:ファイル ‘/boot/grub/i386-pc/normal.mod’ が見つかりません。
   レスキューモードに入ります。。。

2.GRUBとは

 コンピュータの起動時にOSを読み込んで起動する「ブートローダー」の一種
   Linuxディストリビューションで広く使われている
 
   システムの電源を入れた後に最初に実行されるプログラム
   複数のOSをインストールしている場合に、
     起動時にどのOSを立ち上げるかを選択できる

 多数のファイルシステムに対応している
   対応ファイルシステム上に格納されている
   GRUB設定ファイルや、OSカーネルを直接参照できる

   ファイルシステムを解釈しない「LILO」などのブートローダでは、
     OSカーネルなどのディスク上の記録位置(セクタ位置)がずれると
     起動不能になる問題がある

   GRUBはファイルシステム上の位置が変わらなければ問題なく起動できる
     ファイル位置やディスク構成が変わっても、
     シェルコマンドを使って新しいファイルを指定して起動できる

3.エラーの原因

 GRUBが必要なモジュール(normal.mod)を見つけられず、
   最低限のコマンドしか使えない「rescueモード」で停止した

 原因はディスク構成が変更された、GRUBファイル破損、誤ったインストール
   先ずは、ディスクの現状確認 

******************

 考えられること
   パーティションをいじってGrubが壊れた状態
     パーティションテーブルに設定されている
     起動フラグがたったパーティションの先頭レコードに
     IPL(Initial Program Loader)を探しにいく

     パーティションを消したり、強制的にサイズをいじったりして
     先頭レコードが変わったりすると
     ブートストラップローダが順番にチェックしていく途中で
     起動フラグが立ってるはずのパーティションを見に行って
     「no such partition」になってしまう

4.normal.modとは

 GRUBのモジュールファイル
   GRUBを「通常モード」に移行させるために必要なコンポーネント

   これが見つからない・壊れていると、
     システムは「grub rescueモード」に入り、OSが起動できなくなる

 復旧方法
   パーティションを確認する
     ls コマンドでどのパーティションに /boot/grub があるか調べる

   prefixを設定し、normal.modを読み込む

set prefix=(hd0,msdos5)/boot/grub

insmod (hd0,msdos5)/boot/grub/i386-pc/normal.mod
normal

    これでGRUBが通常モードに戻り、OS起動が可能になる

5.恒久的修復

 Live USBで起動し、grub-installupdate-grub を実行して再構築する
   破損している場合は再インストールが必要

 復旧にはprefix設定 → insmod → norma の流れで一時的に起動し、
   最終的にはGRUB再インストールが必要

 一時的な修復はrescueモードから可能だが、
   恒久的にはGRUBを再インストールするのが安全

6.一旦、休憩する

 11月初旬に自宅サーバー候補のPCを入手し
   1ヶ月余りUbuntuのインストールに取り組む

 12月中旬になり、作業を中断させる
   解決の見通しが立たない上、他の作業が手付かずの状態
   一旦中断し、収集した資料は全て破棄した
   春には最初からやり直す