記事一覧

Vine Linux パーティションサイズの変更後に起動しなくなった(シリーズ その14)

【使用パソコン】・・・・・実験機として職場で使用しているパソコン
IBM NetVista-M41-Slim(2002年製?)
Celeron 950MHz/チップセットIntel 810E2/RAM:512MB/DVI-D接続 液晶15インチモニタ/マウス・キーボード PS2
CD-ROMドライブ/FDドライブ/USB2.0 PCIカード

ファイル 167-4.jpg Windows XP pro→Cドライブ=システム、Eドライブ=ページングファイル、Fドライブ=パブリックファイル
 Vine Linux 4.2→/bootパーティション、/パーティション、linux swapパーティション

【症状】
Win XPとVineのデュアルブート環境においてパーティションサイズの変更(リサイズ)後、Vine Linuxの起動に失敗しました。

【デュアルブート環境】
Windowsデフォルトのntldr(NTローダー)でXPとLinuxの起動を選択→(Linuxの場合は)→GRUB(linuxのブートローダー)が
起動してOSの選択画面(Linux起動の為だけにある)→Linuxの起動

*このntldr→GRUBへの(設定)橋渡しは、Vineをインストールした直後に「bootpart」で設定しています。
 (bootpart.exeを実行するとCドライブ直下にbootfile.lnxが作られ、boot.iniをデュアルブート用に書き換えてくれる )
 参考記事です→ http://duran.jp/vine/index.cgi?no=139

【原因】
内蔵ハードディスクを80GBから30GBドライブに変更した際、「Acronis True Image 10 Homeアクロニス トゥルーイメージ」でバックアップしてあった、
ハードディスク全体のバックアップイメージファイルを復元(リカバリー)しました。
「80GB→30GBに変更する」というダウンサイジング(データ類が全体で約20GBしかないので復元は可能)した為に
6区画ある各パーティションの容量が自動的に縮小(リサイズ)されました。Win XPは正常に起動します。

【備考・ハードディスクユーティリティ】
Acronis True Image 10 Home(アクロニス トゥルーイメージ HDD全体をイメージ化してバックアップができる)
Acronis Disk Director Suite 10(アクロニス ディスクディレクター スィート  パーティションの作成・削除・サイズ、ファイルシステムの変更ができる)

【究明】
起動しなくなったVine Linux 4.2が、まだ御存命なのか他界したのか調査しました。

[1] ブートローダー(GRUB)の起動FDを作成。(このパソコンはUSBメモリからのブート不可)

ftp://alpha.gnu.org/gnu/grub/ から「grub-0.97-i386-pc.ext2fs」をダウンロード

http://www.geocities.jp/jet_land_web/Parted/ から「rawwritewin.exe」をダウンロード

ファイル 167-1.jpgrawwritewin.exeを使ってgrub-0.97-i386-pc.ext2fsをフロッピーディスクに書き込みます。
画像はgrub-0.97-i386-pc.ext2fsをCドライブ直下に置いた場合です。Writeボタンを押せば実行。
(この作業はDELL SX260で実施しました)

[2] GRUB(グラブあるいはジーラブ)の起動フロッピーディスクからハードディスク内でまだ生存していると思われるVine Linuxの起動を試みる。

1、作成したGRUBの起動ディスクを挿入してパソコンの電源を投入します。ブートが成功すれば
  grub> と表示されるので root (hd0, と入力してtabキーを押します。
  grub> root (hd0,
  
  そうするとハードディスクのパーティション一覧が表示されます(画像では既に2つのパーティションを削除・吸収した後です)
  実は30GBの容量で6パーティションは多すぎなので「パブリックファイル」と「ページングファイル」はCドライブに吸収しました。
  特にページングファイルドライブは使用領域が満タンの為にWindowsから「不要なファイルを削除せよ」と叱られたのです^^
  それで手っ取り早くDisk Directorを使ってEとFドライブを削除後、Cドライブに吸収しました。
  Linuxの/bootパーティションの位置は変更ありません。

  *注意する事は、日本語用キーボードには対応していないのでキーがずれています。
    『 ( 』を入力する場合は「Shiftキーと9」、   『 ) 』を入力する時は「Shiftキーと0」です。『 = 』も1つ右にずれています。
  *「tabキー」は入力を補完してくれる機能です。

2、私の環境では「/bootパーティション」のパーティションナンバーは「4」なので
  grub> root (hd0,4) と入力してEnterキーを叩きます。

  gurb> Filesystem type is ext2fs, partition type 0x83 と表示されました。

3、次は gurb> kernel /vmlinuz-2.6.16-0v176.27 root=/dev/hda6 と入力します。

  *‘hda6’は「/パーティション」で、パーティションナンバーでは「5」ですが、hdaの番号では「1」をプラスした数値です。
  *入力を補完してくれる「tabキー」は便利です。
ファイル 167-2.jpgちなみに画像では「gurb> kernel /vmlinuz」で1回tabキーを押した結果が下側に表示されまして、それを見ながら
後半部分の「-2.6.16-0v176.27 root=/dev/hda6」を入力しています。
  
 gurb> [Linux-bzImage, setup=0x1e00, size=0x1a5901] と表示されて gurb> のところで「boot」と入力しEnterキー待ちの状態です。

 gurb> boot でEnterキーを叩くと、ロードが始まり、Vine Linuxが起動しました。

無事にログイン画面が表示されました。これでVine Linux 4.2が御存命であることが確認されました、良かったですね~♪
*もし、ブートに失敗して「kernel panic」と表示されて画面が固まった(ロードが止る)ならば再起動して、やり直します。

grub> root (hd0,
grub> root (hd0,*) ←ここのパーティションナンバー「*」が正解だと判っていれば上の入力は必要ないです。
gurb> kernel /vmlinuz-*.*.*-*** root=/dev/hda* ←ここのhda「*」の数値が間違え易いかもしれません。vmlinuzの「*印」はバージョンによって異なります。
gurb> boot

ファイル 167-3.jpg 4、Linuxが無事に起動すればコマンドライン(シェル)で /boot(自分の場合はhda5=パーティションナンバー4)に
  GRUB(グラブあるいはジーラブ)を書き込みます。

  /usr/sbin/grub-install /dev/hda5
 (rootでログインしています。)

【復旧】
Linuxが生きている事を確認しましたので、XPを起動してBootPartを使い、デュアルブートの再設定作業を行います。

ファイル 167-5.jpg Linuxからパソコンを再起動してWin XPを起動します。必要無いですが「bootfile.lnx」を退避しました。
 (もしかして、bootfileはショートカットに化けているかもしれません。私の場合は前環境で‘いつのまにか’ショートカットに化けていました)
 「boot.ini」はテキストエディタで開いて、Vine Linuxの記述を消しておきます。

 その後の作業はこちらを(画像つき)参照して下さい→ http://duran.jp/vine/index.cgi?no=139

これでメデタシメデタシ デュアルブート環境が復旧しました。♪(簡単そうに書いていますが、結構苦労しましたよ^^)

●参考になった主なサイト  感謝申し上げます。

「Penguin's campus note」様の「GRUB 起動ディスク」
http://www14.plala.or.jp/campus-note/vine_linux/install/grub_disk.html

「@IT - アットマーク・アイティ」様の「GRUBの起動ディスクを作成するには」
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/800grubbootfd.html

「JET_LAND」様の「partboot-1.4.21.img を使ったパーティション縮小」・・・・・(rawwritewin.exeのダウンロード)
http://www.geocities.jp/jet_land_web/Parted/

「阿萬のページ」様の「GRUB (GRand Unified Bootloader) メモ」
http://www.hpc.cs.ehime-u.ac.jp/~aman/linux/index.php?GRUB

▲ Page top