忍者ブログ
開発やらlinuxについてやったこと、ひっかかったことのメモ
[35] [34] [33] [32] [31] [30] [27] [26] [25] [24] [23]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

半日かかった.
やっと終わった!

今回の作業でOSのブートに対する基礎知識は十分についたとおもう.

まず,基本的な知識から

MBR(マスタブートレコード)
これは,BIOSがOSブートの第1段階として呼び出す領域であり,原則OSのブートローダーはここに配置されている.

PBR(プライベートブートレコード)
これは,パーティションの先頭にある領域で,WindowsやFreeBSDなどLinux以外のほとんどのOSは,ここにメインのブートローダを配置する.要するにMBRは領域が少ないので,

MBR→PBR(MBRで出来ないようなこと)→OSをブート

という感じにしているっぽい.
ちなみにこれを「2段階ブート」と一般的に呼ばれているらしい.

PBRの説明で「Linux以外」となっていたことについて.
現行のLinuxはGRUBというブートローダを使用しており,GRUBは他OSのように2段階ブートせず,MBRから直接カーネルにアクセスし,/boot/grub/menu.lstを参照したり,stage2と呼ばれる作業を実行してOSをブートするらしい.
つまり,

MBR→OSをブート

している.これは前述の2段階ブートと比較して「1段階ブート」と呼ばれているらしい.

これがどういうことかというと,マルチブート環境構築時に問題が発生しやすくなってしまう.

例えばWindowsが入っていたPCにパーティションを区切ってLinuxを追加した場合,

MBRはGRUBで上書きされてしまう.

つまりWindowsを起動するためには

MBR(GRUB stage1)→Linuxファイルシステム(GRUB stage2)上のmenu.lstを参照し,OS選択→Windows用PBR→Windowsのブート

という経路になっているみたい.

で,今回私が経験した問題がこれで説明できる.
内蔵HDDにWindowsが入っていて,新規でLinuxをUSBHDDにインストールすると,内蔵HDD上のMBRにはGRUBが上書きされてしまうため,USBを外した状態でBIOSを起動すると以下のメッセージが出力されてしまう.

GRUB Loading stage1.5.  
GRUB Loading, please wait...  
Error 21


これはGRUBのstage1.5(stage2.0を呼び出すための準備?)をロードしようとしているが,stage2.0が存在しないため,エラーが発生してOSのブートが出来ない.

さらには/boot/grub/menu.lstは,GRUBインストール時のBIOSのハードディスクのブート順などが書かれているため,GRUBをインストールしてしまったあとで,下手にBIOSのハードディスクのブート順などを変更してしまったり,新たなHDDを追加してしまうと,エラーになってしまう恐れもあるらしい.

今回私は無知の状態で上記2つの問題を同時に経験したので,この問題の対処に半日費やす羽目になりました.

さらにstage2.0がUSBHDDに存在しているために,USBが壊れたら....ということもあるらしい.

なので今回対処方法として実践したステップ↓
1.Linuxのブートローダ(GRUB stage1)をPBR領域に配置
2.MBRに強力なフリーソフトのMBM(マルチブートマネージャ)をインストール

以上を行うことで設定を終えることができました.

設定の詳細は
このあと記述する記事を参照のこと.

【参考URL】
マルチブートするなら2段階ブートに統一しよう
wikiwiki.jp/disklessfun/


PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新CM
[06/12 ziggy]
最新TB
プロフィール
HN:
poti
性別:
非公開
バーコード
ブログ内検索
P R
FX NEWS

-外国為替-