
Ubuntu日本語フォーラム

ログインしていません。
初めにMBRをファイルに退避してありました。環境は、windowsXPにubuntuをデュアルブートでインストールしています。ちょっと興味があって、usbメモリーの8Gに、ubuntu9.04をインストールしました。パーティションナーの画面で、usbを指定して、8Gすべてを使う設定でインストールしたのですが、その後CDをはずして起動すると、
GRUB Loading stage1.5
GRUB loading, please wait...
Error 21
とメッセージがでます。インストールCDで中身を見ても、XP, ubuntuともファイルが存在します。ハードディスクを消した可能性はないと思います。
念のため保存してあったMBRを /dev/sda に書き戻しましたが、結果は同じでした。
/media/disk/boot/grub/stage1 及びstage2も存在します。
grubを起動して、find するのですが、ファイルは見つかりませんというエラーがでます。
頼みの綱はこのフォーラムだけです。よろしくお願いします。
オフライン
念のため、まず状況を整理しましょう。
LiveCDで起動して、端末を立ち上げ、sudo fdisk -lを実行して、結果を教えて下さい。
最初のMBRのバックアップをとったときに打ち込んだコマンドを教えて下さい。
その後、MBRを書き戻したときに打ち込んだコマンドを教えて下さい。
USBメモリへのインストール時に、最後の確認のとき、「拡張」を押してGrubのインストール先を変えましたか?
もし変えていれば、どこにインストールしたか教えて下さい。
オフライン
hmatsueさん
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 3881 31174101 7 HPFS/NTFS
/dev/sda2 3882 4864 7895947+ 5 拡張領域
/dev/sda5 3882 4815 7502323+ 83 Linux
/dev/sda6 4816 4864 393561 82 Linux スワップ / Solaris
mbrのバックアップ
sudo dd if=/dev/sda of=MBR bs=512 count=1
戻すとき
sudo dd if=MBR of=/dev/sda bs=446 count=1
>USBメモリへのインストール時に、最後の確認のとき、「拡張」を押してGrubのインストール先を変えましたか?
このことに関しては、記憶がありませんが、どの最後の時点で「拡張」がでますか。
オフライン
grubのインストール先の設定は、
https://wiki.ubuntulinux.jp/UbuntuTips/UsbInstall/InstalltoUSBStorage
の項目でいうところの10~11あたりになります。
ここでインストール先を変更しないとデフォルトでは/dev/sdaのMBRにインストールされたと記憶しています。
このあたりを変更した記憶が無いようであれば、/dev/sdaのMBRにインストールしていまったのかも知れません。
判らないのが、MBRのバックアップと、リストアの手順です。仮にgrubを/dev/sdaにインストールしてしまっていてもこの手順で復旧できるものと思っていたのですが、私のgrubの動作に関する理解が足りないのかうまくいかなかったようですね。
https://wiki.ubuntulinux.jp/UbuntuTips/Others/RepairMbrWithGrub?highlight=(MBR)
の手順にそってgrub-installを走らせれば直るように思うのですが、自信が無くなってしまいました。
実行は少し待って下さい。
宛 Forums参加者各位
上記の記事を
記事:「boot=casper」を「root=/dev/sda1」などと書き換えて
今回:「boot=casper」を「root=/dev/sda5」に書き換えて
に読み替えて実行すればよいのではないかと思うのですが、正しいでしょうか。
アドバイス頂ければ幸いです。
オフライン
違いました。grubを/dev/sdaにインストールしてしまっていたらstage1.5の領域も書き換えられているので、MBRだけ書き戻しても治りませんね。
最近、この話題を散々読んでいたはずなのに。。
ということで、上記の推定が正しいか、まずは思い出してみて下さい。
オフライン
横からすみません、
もとからと言うかデュアルブート時点でMBRはgrubを使用してchainloader でWindowsを呼び出していた可能性は?
だからMBRを書き戻してもgrubエラーが出るかと。
grubコマンドでも良いですが
$ sudo grub-install /dev/sda
はどうでしょうか?
オフライン
やっぱり実行するならライブCDからだと思うので確実性を求めると
USBメモリを外して端末から
$ sudo grub
grub> find /boot/grub/menu.list
(hd0,4) #←と表示される予想
grub> root (hd0,4)
grub> setup (hd0)
オフライン
> hir0さん
ありがとうございます。首を突っ込んだはいいものの、対処法に自信が無くて困っていました。。
> shingo9さん
#7のhir0さんのご提案で試してみて下さい。
オフライン
#4の手順の通り 【「boot=casper」を「root=/dev/sda5」に書き換えて】 起動し、端末から
sudo grub-install /dev/sda
で大丈夫でしょう。
MBRの書き戻しは何が失敗しているのだと思います。bs=446 なのが影響したとか?(この辺不勉強)
あと MBR のバックアップファイルが、どこに保存されていたのかなど、不明な点も多いです。
保存しておいた MBR を戻した手順を正確に記述すれば、手順に間違いがあった場合は指摘してもらえるでしょう。
オフライン
> GHOさん
フォロー多謝です。
#4の手順の通り 【「boot=casper」を「root=/dev/sda5」に書き換えて】 起動し、端末から
コード:
sudo grub-install /dev/sdaで大丈夫でしょう。
ですよね。
バックアップの書き戻しの件は、/dev/sdaのMBRの後ろが、USBメモリ用のStage1.5に書き換えられてしまったことが原因となっている可能性があるなのかな、と思っています。
未だStage1.5がよく理解できていないので、自信は無いのですが。。
オフライン
hmatsueさん
>#4の手順の通り 【「boot=casper」を「root=/dev/sda5」に書き換えて】 起動
これはその通りに書き換えてエンターを押したのですが、なぜか起動できませんでした。
hir0さん
grub> root (hd0,4)
grub> setup (hd0)
を実行した結果、正常に起動しました。
GHOさん
sudo grub-install /dev/sdaは、【「boot=casper」を「root=/dev/sda5」に書き換えて】で、 起動ができなかったので、残念ながら試していません。
みなさん、有難うございました。
オフライン
MBRを再度確認しましたが、以前のものと全く同じでした。
完全な形で保存するには、/dev/sdaの最初の63セクターを取っておく必要があるのですか。
それを戻せば、不慮の事故に対応できますか?
すいません、今頃また質問しました。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
> shingo9さん
当初の問題は解決されたようでよかったです。
私はなにもできませんでしたが。。
shingo9さん による投稿:
>#4の手順の通り 【「boot=casper」を「root=/dev/sda5」に書き換えて】 起動
これはその通りに書き換えてエンターを押したのですが、なぜか起動できませんでした。
ここからは個人的な興味の話になってしまうのですが、エラーメッセージや症状など覚えている範囲で構わないですので教えていただけますでしょうか。後学のため。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
hmatsueさんへ
おそらくHDDの9.04とライブCDの9.04のカーネルバージョンが合っていない為に起動しなかったのかも。
(起動ディスクの問題で「バージョンアップ後に起動しなくなった」と同じ理屈ですが)
緊急時にはスタートアップUSBのmenu.lstからHDDのUbuntuを呼び出すと言う手もアリかも。
オフライン
> hir0さん
なるほど。それが原因であれば、自分の環境でも再現させられそうです。
後日、試してみます。
ご教示ありがとうございました。
オフライン
hmatsueさん
hir0さんの言われるとおりだと思います。うっかり言い忘れましたが、ハードディスクはubuntu8.04で、CDは、ubuntu9.04です。
実行の過程は、メッセージは何も出ず、ハングアップしてしまいます。電源の長押しで電源を切るより、他の操作はできなくなります。
kiyoshiさん、
丁寧な説明を、有難うございます。参考にさせていただきます。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
追記
インストールした元のubuntu8.04のCDでハードディスクのOSが立ち上がるか、試して見ました。てっきり立ち上がると思ったら、これもハングアップしました。まったく理由が分かりません。これで、立ち上がった経験ある人いますか?
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
kiyoshiさん
やってみましたが、両方とも同じカーネルでした。もう一台のパソコンには、ubunut9.04がインストールされているのですが、boot=/dev/sda4(こちらはsda4にubuntuがあります。)にして、試したときは、ハングアップしたうえ、電源長押しでも電源が切れなくなりました。仕方なく、バッテリーを外して電源を切りました。この設定で皆さんのパソコンは立ち上がるのですか?
オフライン
おかしいですね。vboxで、試してみたのですが、こちらでは起動するようです。
確認環境は以下です。
VBox: v2.2.4
Host OS: Jaunty
Guest OS: Karmic
普通にKarmicを立ち上げたときのuname -rの結果: 2.6.31-5-generic(最近更新してませんでした)
Jaunty日本語RemixのLiveCDでroot=/dev/sda1で起動したときのuname -rの結果: 2.6.28-11-generic
で、uname -rの結果はことなります。インストールしたままアップデートしていないとかいう事情でもない限り、ビルド番号?ぐらいは変わるはずなのですが。
今回の検証では、さすがにKernelVersion等々が異なるためか、JauntyのLiveCDで起動したときに、マウスが動かなくなりました。キーボードは正常であったため、ログインして、端末を呼び出し、最低限の操作ができることを確認しただけで終了しました。
インストール元のCDということは、最初にインストールするときは正常にH/Wを認識できていたということだと思うので、acpi回りの設定を書き加えてもあまり効果があるようには思えないですし。。
なんなんでしょうね。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン