アプリ版:「スタンプのみでお礼する」機能のリリースについて

ふとgrubでなくgrub2が必要になりインストールした後、メッセージに表示されていたupgrade-from-grub-lagacyというコマンドを打ちこんでしまい、恐らくMBRが書きかえられたようで起動不可能になりました。
私はこのコマンドがgrubの設定をgrub2でも使えるようにしてくれるコマンドかと思っていたのですが、違ったようです。(よく英語のメッセージを読んでなかった。。。)

今の所起動すると「Error 15」と表示されるのみでgrubの選択画面に行きません。
UbuntuのLive CDでマウントしてみた所、ファイルシステム自体は壊れていないようです。
とりあえず色んなファイルをバックアップしている途中なのですが、できればMBRの書き変えのみで済むととてもうれしいです。


パーティションテーブルは、fdisk -lした所

Disk /dev/sda: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd39fe876

デバイス Boot Start End Blocks Id System
/dev/sda1 1 192 1536000 27 不明
Partition 1 does not end on cylinder boundary.
/dev/sda2 * 192 13246 104857600 7 HPFS/NTFS
/dev/sda3 13247 24321 88959937+ 5 拡張領域
/dev/sda5 13247 13743 3992121 82 Linux swap / Solaris
/dev/sda6 13744 21710 63994896 83 Linux
/dev/sda7 21711 24321 20972826 b W95 FAT32

と出ました。(手打ちなのでちょっと違う所があるかもしれませんが。。。)
/dev/sda[23]はWindows Vistaを入れています。
/dev/sda1はそれのリカバリ領域だったと思います。
メーカー製だったので変な領域がついてますが。。。
/dev/sda7はWindowsとLinux両用のための領域です。

それで/dev/sda5がswap領域で/dev/sda6が肝心のUbuntuをインストールしている領域です。
この領域をブートするようにしたいのです。
ブートできればgrub2をアンインストールしてgrubを入れなおすなど何かできるかもしれません。。。


ググってみたところ、一番自分の症状と似てるのは↓の最初のページです。
http://74.125.153.132/search?q=cache:vNLpbmOaCKw …
http://groups.google.co.jp/group/linux.debian.us …
http://www.google.co.jp/search?hl=ja&safe=off&q= …


今このページの通りに
grub> root (hd0, 5)
grub> kernel /boot/vmlinuz-2.6.28-15-generic root=/dev/sda5
と打った所、Segmentation faultしてしまいました。やはりUbuntuのLiveCDでは無理なのでしょうか。
また、grubの知識は「色んなコマンドで設定を変更し、setupで実際にMBRの書き変えを行う」というような曖昧な知識のみです。。。


今日もこのノートPCを使うのでかなり困ってます。。。誰かご教授願えないでしょうか。
ちょっと焦っているので乱文乱筆すいませんm(_ _)m

A 回答 (5件)

/とswapパーティションだけでしょうか、どのようなデバッグ方法でしようか。


UbuntuのLiveCDでのデバッグで、下記のコマンドは、有効でしようか。
試したことがないので。
update-grub2
で、MBRと/boot/grub/grub.cfgを書き換えてみるといったことで、
だめでしようか。
/boot/grub/grub.cfgがあるか、ないか、中身はどうなっているかで状況判断ですね。
ご自分で判断できなければ、再インストールです。
その前にいろいろ試すのも勉強になるのではないでしようか。
基本は、MBRを、その都度保存して、いつでも、元に戻せるようにしておくことでしよう。
dd if=/dev/sda of=/media/fd0/mbr-u01.img bs=512 count=1
とかのコマンドを使って。

この回答への補足

すみませんいくつかのことを書き忘れました。

とりあえず無駄と思いながらも現在のMBRはUSBメモリに退避させてあります。
grub2のインストール前はしてませんでした。。。

/mnt/boot/grub/grub.cfg
はありましたが、見てもよくわかりません。すいません。

あとgrub-install /dev/sda
は試しました。
が、Could not find device for /boot: Not found or not a block device.と表示されて終わります。

補足日時:2009/12/17 14:00
    • good
    • 0
この回答へのお礼

ありがとうございます。
現在/dev/sda6を/mntにマウントしております。
update-grub2が/mnt/usr/sbin/にあったので、起動してみた所、/boot/grubがないと言われたので、cp -R /mnt/boot/* /boot/してみたら起動しました。
起動したら「パッケージの設定」と左上に書かれた、下のような選択しが現れたのですが、どうすればよいのでしょう?インストールは怖いのでまだ行っていません。
- パッケージメンテナのバージョンをインストール
- 現在インストールされているローカルバージョンを保持
- バージョン間の差異を表示
- バージョン間の差異を並行表示
- 利用可能なバージョン間の3種類の差異を表示
- 利用可能なバージョン間での3種類マージを行う (実験的)
- 状況を検討するための新しいシェルを起動

お礼日時:2009/12/17 13:59

個人的には、単なる設定異常でいちいちOS再インストールは素人すぎだと思ってる。



MBRに異常なコードが入っているならともかく
GRUB自体は入っていて、GRUB自体は起動するならば
それは"MBRが壊れた"うちに入らない。
単なる設定ミス。

GRUBコンソールからの手動起動は
決して難しい作業では無いし
習得する価値の無いスキルでもない。

Windowsではユーザースキルの平均が低いし
必要なツールが、事前に用意していなければ入手できなかったり
システム解析による復旧手段確立が難しかったりして
再インストールを推奨する場面は多いかもしれないけど…

LinuxやFreeBSDでは、再インストールは解決方法じゃなくて
単なる逃げ道でしか無いと思っています。
「再インストールすればいい」はWindows特有の常識で
パソコンの常識としては、MS-DOSもOS/2もLinuxもFreeBSDも
トラブル解決方法として再インストールを奨める人は非常に少ない。
雑誌記事としての再インストールのススメなんかWindowsでしか見たことないし。

GRUBの操作を理解すれば、単純な起動トラブルは5分で終わります。
5分止めることもまずいコンピューターを
再インストールのために1時間止めることができない時に
GRUBのスキルは大きな力となります。
    • good
    • 0
この回答へのお礼

締めるの忘れてました・・・

その通りだと思います。
Linuxのことをもっと理解する必要がありそうですね。。。(少なくともGRUBでのMBR復旧くらいは。。。
vaiduryaさんありがとうございました!

お礼日時:2009/12/26 23:37

どんなインストール形態かです。


仮想化されている場合の形態による種類、完全な仮想化なしの
インストールかにより、MBRの書き換えも変わるのでは。
下記のところは、どうでしようか。
http://kitayutablog.blog18.fc2.com/blog-date-200 …

MBR,grub2,チェインローダ、ブートストラップローダ、その他のこと
を理解していない場合は、再インストールが一番早いと思います。
> /mnt/boot/grub/grub.cfg
> はありましたが、見てもよくわかりません。
これを見る限り、仮想化されたもののようですので、
特に、grub.cfgが理解できなければ、壊れたものを復旧することは、
無理だと思われます。
    • good
    • 0
この回答へのお礼

yakan9さん参考リンクありがとうございます。
今回は再インストールすることにしました。
皆様丁寧に教えてくれて本当にありがとうございました。
もうちょっとLinuxについて詳しく調べます。。。

お礼日時:2009/12/17 18:01

GRUB2環境を使ったことが無いので、未確認ですが


基本的にGRUBのError15はファイルを見失った場合のエラーです。

この程度の問題であれば、別にCDなどから起動しなくても
起動HDDだけで復旧作業ができるのがLinuxです。
起動できれば、MBRへの書き込みは可能です。

たとえば/dev/sda2がWindowsの起動ドライブでしょうから
grub> root (hd0,1)
grub> chainloader +1
grub> boot
でWindowsの起動が可能ではないでしょうか?


Linuxでは設定の柔軟さの代わりに、設定項目が多いので
それぞれを理解しなければGRUBコンソールからの起動はできません。

試された起動操作は、他のPCにおける他のOS環境での例を
まる写ししただけのものですから、起動できないのはあたりまえです。

たとえば、root=/dev/sda5と指定しながら、実際にはそこはswapパーティションです。
おそらく、/boot/vmlinuz-2.6.28-15-genericというカーネル指定も
そのルートファイルシステムに存在しないのではないかと思います。


パーティション構成は普通に
リカバリー領域
Windows C:ドライブ
拡張領域に
swap
Linux /
データ共用のためのFAT32
というものだと思います。

つまり、
grub> root (hd0,5)
grub> kernel /boot/
まで入力した時点でTABキーを押してみてください。
UNIX系で常識の入力補完機能はGRUBコンソールにも備わっています。
つまり、長いカーネルファイル名も、一部を入力してTAB押せば良い。

そのなかでvmlinuzなどがあれば、それを入力し、その後にroot=/dev/sda6とつけます。
これで、bootコマンドを打てば起動処理に入れると思います。

その他のオプションが必要な場合は、既存のGRUB設定ファイルを参照しましょう。
いざと言うときのために、プリントアウトしておくといいと思います。
    • good
    • 0
この回答へのお礼

はい、その通りですね・・・
自分の知識が足りてませんでした。
お恥ずかしい限りです。
今回は再インストールすることにしました。

お礼日時:2009/12/17 17:58

ubuntuって親和性が高いと思ってましたが、インストールCDでMBRの復旧も出来ないのでしょうか?



> grub> root (hd0, 5)

LiveCDの場合、hd0はCD-ROMになってるような気がします。
タブ補完でHDDを見つけることが出来るかも知れません。

grub> root (hd[tab][tab] (タブは一回でも出るかも..)

hd1とか他のデバイスが見れたらもう一度tabを押してパーテションの番号まで見れると思います。

Gentooなら、LiveCDでブートして必要なパーテションをマウント、
chrootしてMBRを書き直して終わりますね。
(Fedora系列のレスキューモードはchrootまでやってくれますよ)

(参考まで、あくまで自己責任でお願いします)
# mkdir /mnt/tmp
# mount /dev/sda6 /mnt/tmp
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
# chroot /mnt/tmp
# grub-intall /dev/sda
    • good
    • 0
この回答へのお礼

ありがとうございます。
なるほど。chrootって復旧時にも使えるんですね。勉強になります。
今update-grub2を起動しているのですが、ちょっと今これ(chrootしてMBR書き変えする方法)をしていいものか分かりません。。。すいません。

あとgrubで
root (hd
の状態でTabを押すと
root (hd0,
しか現れませんでした。
その状態でもう一回押すと
Possible partitions are:
Partition num: 0 Filesystem type unknown, partition type 0x27
Partition num: 1 Filesystem type unknown, partition type 0x7
Partition num: 4 Filesystem type unknown, partition type 0x82
Partition num: 5 Filesystem type ext2fs, partition type 0x83
Partition num: 6 Filesystem type fat, partition type 0xb
と出ました。

お礼日時:2009/12/17 14:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!