
Ubuntu日本語フォーラム

ログインしていません。
. :D :D :D :D
下の最近の投稿記事に書かれているように、この方法は不要となりました。
Ubuntuインストール時にブートローダgrubをHDDのMBRに書き込むことに失敗し、Ubuntuが
起動できなくなっても、「Ubuntu 日本語ローカライズ版 Desktop CD」を使って起動できることが
分かったからです。インストール時に「ブートフロッピー」を作成する必要がなくなったわけです。
詳しくは、 Ubuntu Tips / その他 / の
「起動しなくなったシステムを復旧するには」
を御覧下さい。
:D :D :D :D
このフォーラムでは、デュアル・ブートで失敗しOSが起動できなくなるという悲劇が
度々報告されていますが、Linuxに不慣れな方が、全く保険を掛けずにブートローダを
HDDのMBRに書き込むのは、やはり危険です。
「ブートフロッピー」という保険を掛けた上で、ブートローダgrubをMBRに書き込む
「極めて簡単で極めて安全なデュアル・ブートの方法」を以下に示します。
----------------------------------------------------------------------
WindowsとLinuxのdual-bootでは、boot-loaderのinstallミスから、どちらかのOSが起動
できないという事件が起こります。(ここでは、boot-loaderをgrubとします。)
HDDのMBRの「OSによる奪い合い」が問題の本質です。
grubがRed-Hat-Linuxに採用されてから、「MBRをWindowsに譲り、フロッピーディスクに
grubをinstallする」 ことが広く行われるようになりました。
これは簡単で極めて安全な方法です。
Ubuntuをインストールする時、「インストール準備完了」の画面で、右下の「Advanced...」
をクリック、「ブートローダ」 で (hd0) を (fd0) に変えてOKを押します。
この時忘れずに、書き込み可能なフロッピーディスクをドライブに挿入しておきます。
予めフロッピーディスクをフォーマットしておく必要はなく、自動的にフォーマットされ、
grubが書き込まれます。
こうして作成された「ブートフロッピー」をドライブに挿入してPCを起動すればUbuntuが
起動され、取り外してPCを起動すればWindowsが起動されます。
UbuntuをWindowsより後でインストールすると、挿入して起動してもgrubのメニューで
両方のOSが「選択起動」できます。
MBRにgrubをインストールしたければ、上の「ブートフロッピー」という保険を掛けた上で、
ubuntuを再起動して、grub-install コマンドで MBRにインストールすればいいのです。
その結果OSの起動に失敗しても、2つのOSはいつでも「ブートフロッピー」で起動できます
から、安心して何度でもtryできます。
また、Windowsの起動ディスクや回復コンソールを使って、fdisk /mbr や fixmbr のコマンド
でMBRを修復することも、時間を掛けて行うことができます。
-------------------------------------------------------------------------
では、「ブートフロッピー」 を作成せずMBRにgrubをインストールして、先にインストール
したWindowsが起動できなくなったら、どうすればいいのでしょう。
MBRをgrubで上書きしても、多くの場合はWindowsの入っているパーティションの最初に
あるブートセクタを上書きする訳ではありませんから、Windowsはintactです。
従って、Ubuntuを再インストールして、「ブートフロッピー」を作成すれば、両方のOSが
起動でき、上と同じ状況になります。
--------------------------------------------------------------------------
この方法はtriple以上のmultiple-bootでも有効で、特にUbuntuやKubuntuを最後にイン
ストールして 「ブートフロッピー」 を作成すると、HDD上のパーティションの位置に拘らず、
それまでにインストールされた全てのOSが認識され、そのフロッピーで全てのOSを
「選択起動」することができます。
最後の編集者: moz (2007-12-29 14:50:47)
オフライン
OSのインストール時にHDDのMBRにgrubをインストールするより、一旦フロッピー
ディスクにインストールして、それで再起動したOSからMBRにgrubをインストール
する方が問題が少ないという印象を、私は約6年の経験から持っています。
デュアル・ブートを始めた2年間は前者の方法で何度も失敗し、やがて後者の方法
に切り替えてから約4年間1度も失敗していないからです。
前者では、CD-ROMデバイスから離れたHDDのMBRにgrubをインストールするのに、
後者では、OSのインストールされた同じHDDのMBRにgrubをインストールするので、
明確には説明できませんが、Grubをどこからインストールするのかによって違い
が生まれるのではないかと考えられます。
「インストール先であるMBRを、grubはインストール元からどう認識するか」、イン
ストール元が異なれば、その認識に微妙な違いがあるのかもしれません。
さらに、MBRだけではなく、システム全体に対する認識にも違いがあり、それが不具
合に反映するのではないのでしょうか。
20回にも満たない経験からですが、「grubはやはり同一のstorageデバイスの中に
インストールするのがベストかな」と密かに信じているわけです。
具体的で科学的な説明ではなく、上のように極めて抽象的で曖昧な表現になって
しまいました。単なる偶然・事実誤認・無知の産物かもしれません。
皆様の御経験・御批判・御説明など、お教え頂ければ幸いです。
最後の編集者: moz (2007-08-09 13:38:47)
オフライン
すでに延べ5,000回を越えるアクセスを頂き、ありがとうございました。
しかし、ここに記載した方法は、Ubuntuには不要であることがわかりました。
この方法の根底にあるのは、Ubuntuインストール時にブートローダgrubをHDDのMBRに書き込むことに失敗し、Ubuntuが
起動できなくなってしまうことです。
すると、「ブートフロッピー」も作成できませんから、Ubuntuの再インストールが不可避となるわけです。
そうした事態を避けるべく、インストール時に「ブートフロッピー」を作成すること、即ち保険を掛けることを提案したのです。
しかし、この起動できなくなったはずのUbuntuを、「Ubuntu 日本語ローカライズ版 Desktop CD」を使って起動する方法が
見つかりましたので、インストール時にはgrubをHDDのMBRに書き込むことにし、失敗したらこの方法でUbuntuを起動して
「ブートフロッピー」か「ブートUSBフラッシュ」を作成することができます。
詳しくは、 Ubuntu Tips / その他 / の 「起動しなくなったシステムを復旧するには」 をご覧下さい。
.
最後の編集者: moz (2007-12-29 14:50:15)
オフライン
mozさん
正常に起動できるUbuntu7.10で試してみましたが、initramfs_とでて起動できませんでした。
そこで、MBRのバックアップをとり、以下のコマンドでMBRを壊してから、710LiveCDより同じように
起動を試してみましたが、やはり、同じ結果になり起動できませんでした。
sudo dd if=/dev/sda of=mbr.img bs=512 count=1 (MBRのバックアップ)
sudo dd if=/dev/zero of=/dev/sda bs=446 count=1 (MBRをゼロで上書き)
>「boot=casper」を「root=/dev/sda*」と書き換えて[Enter]を押し、Ubuntuを起動する。/dev/sda*は > Ubuntuのrootパーティション(またはbootパーティション)の接続デバイスであり、インストール時 > に分かっているはず。
私の場合は、/bootが/dev/sda1になっていますので、root=/dev/sda1と書き換えましたけど、この辺が
間違っているのでしょうか。
復旧は以前作成していたGRUB起動CDで起動して、以下のコマンドでMBRを戻しています。
sudo dd if=mbr.img of=/dev/sda bs=446 count=1
ちなみに私はGRUBは、MBRと/bootのPBR、2箇所にインストールしています。
オフライン
先の#4の後、次のように書き換え、実行しましたら起動できました。
boot=casper ------> root=/dev/sda2
私の場合は、/と/bootが別パーティションになっていますので、ここで間違ったようです。
>/dev/sda*はUbuntuのrootパーティション(またはbootパーティション)の接続デバイスであり、インストール時に分かっているはず。
この文章の”(またはbootパーティション)”にはやとちりしたようです。
大変失礼しました。
オフライン
Marinさん、早速この方法をご検討頂きありがとうございます。
「(またはbootパーティション)」を付けたのは当方の誤りです。お詫びして削除させて頂きます。
この方法はすでに、Ubuntu Tips / インストール / の「USB-HDD上のUbuntuに対する『ブートCD』を作るには」 と
「UsbHdd上の2つのUbuntuを『いいとこ取り』で使うには」 で使っており、そのシェルスクリプトの中では
sed ............ -e s/boot=casper/root=UUID=$hid/ .........................
と、rootパーティションをUUIDで指定しています。
.
最後の編集者: moz (2008-02-01 11:45:58)
オフライン