- PR -

MBRにブートローダをインストールする

1
投稿者投稿内容
あのことこのこ
会議室デビュー日: 2003/06/08
投稿数: 10
投稿日時: 2006-05-12 23:28
事象:
Windows2003ServerStandardで2台のディスクでミラーリングを行っていました
disk0が壊れ、disk1のみで片系運転をしています
残ったdisk1のみ接続してブートしてみましたが、ブート出来ません
(もちろんコネクタは元disk0と入れ替えて、disk1をdisk0として認識させたうえでブート)

環境:
DELL PowerEdge700
Windows2003ServerStandard
ハードディスク SATA

ミラーリング仕様
・ソフトウェアRAID
 ・「C:」パーティション(partition1)ミラーリング
 ・disk0 ブート可(であった)
 ・disk1 ブート不可
 ※質問しやすいよう、disk0を「A」disk1を「B」とします

暫定対処:
ブートFDを作成し、ディスク「B」からのWindows起動には成功
ディスク「B」のみで運転を再開しました
後に、新しいディスク(ディスクC)を購入し、ディスク「B」とミラーリング設定を行いました
ブートFDからは、ディスク「B」ディスク「C」共にWindowsの起動が可能です
http://www.atmarkit.co.jp/fwin2k/win2ktips/708bootfdd/bootfdd.html

#GRUB起動FDからは起動できませんでした。XPはブートしたんですけど・・・。

問題:
ブートFDからの起動には成功しますが、HDDからの起動には失敗します
おそらくBIOSがディスク上のNTLDRを呼ぶ時点で失敗していると思われます
Linuxとかですと、MBRにブートローダをインストールしますが、きっとWindows
も同じ感じなのでしょう
そこで、MBRにブートローダを仕込みたいのですが、どのような方法がありますでしょうか?

やってみたこと
「ms-sys」というツールがあったので、「ms-sys /dev/hd*」とやってみましたがHDDからのブートには失敗しました
http://ms-sys.sourceforge.net/

#「C:」パーティションがダイナミックディスク上、ダイナミックヴォリュームなのでうまくいかないということはあるのかな・・・とも思っています

よろしくお願い致します

[ メッセージ編集済み 編集者: あのことこのこ 編集日時 2006-05-12 23:31 ]

[ メッセージ編集済み 編集者: あのことこのこ 編集日時 2006-05-12 23:32 ]
Uchikoshi
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 197
投稿日時: 2006-05-13 01:29
FDを使って回復コンソールを起動し、
fixmbrコマンドを実行すればよいのではないでしょうか?
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2006-05-13 02:15
ミラーリングは、どうやって実現していますか?
いわゆる「ソフトウェアRAID」(デバイスドライバでミラーして、OSには一台のデバイスだと
見せている)?
それとも、ダイナミックディスク上にミラーボリュームを作成した?

引用:

ブートFDからの起動には成功しますが、HDDからの起動には失敗します
おそらくBIOSがディスク上のNTLDRを呼ぶ時点で失敗していると思われます


そう判断した根拠は何でしょう?
「NTLDR is missing」のエラーまで行き着けるのであれば、MBRは正常だと思われます。
あのことこのこ
会議室デビュー日: 2003/06/08
投稿数: 10
投稿日時: 2006-05-13 19:18
ご返答有難う御座います

>Uchikoshi様
回復コンソール試してみます
実機が会社なので月曜日になりますが・・・
↓この方法(CDBOOT)でも同様の事が出来る様ですのでやってみます
http://support.microsoft.com/default.aspx?scid=kb;ja;326215

>coasm様
ダイナミックディスク上にミラーボリュームを作成してあります
「NTLDR is missing」のエラーまで行き着くことは出来ませんでした

ディスクBは元々ミラーヴォリュームを作成する為に取り付けた後付のHDDの為
MBRにブートローダがインストールされていないのではないかと・・・(推測)
推測と書くのはこの設定を行った人がもう現場にいない為です^^;

=>BIOSがディスク上のNTLDRを呼ぶ時点
この書き方は間違ってましたね^^;
下記のイメージで宜しいでしょうか?
「NTLDR is missing」が表示されませんので、(い)から(ろ)で失敗しているのではないかと推測しています

(い)BIOS→(ろ)MBR上のブートローダ→(は)C:上のNTLDR→(に)OS起動


[ メッセージ編集済み 編集者: あのことこのこ 編集日時 2006-05-13 19:19 ]
Mattun
ぬし
会議室デビュー日: 2004/08/10
投稿数: 1391
投稿日時: 2006-05-13 22:19
引用:

「NTLDR is missing」のエラーまで行き着くことは出来ませんでした


で、どういうエラーメッセージが出るんですか?

OSブート障害で、実際に表示されるエラーメッセージを知らずに
答えるのって難しいと思うんだけど・・・
_________________
Mattun
Microsoft MVP for Directory Services
(Oct 2006-Sep 2007)
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2006-05-14 14:24
NT系のWindowsの起動は、
(1) BIOSがマスターブートレコード(MBR)をロードする。
(2) マスターブートローダが、パーティションテーブルを参照して
アクティブパーティションのパーティションブートレコードをロードする。
(3) パーティションブートローダがNTLDRをロードする。
(4) NTLDRが boot.iniファイルを参照して、ntdetect.com をロードする。
(5) ntdetect.com が windowsのカーネルをロードする。
という手順で進みます。

純粋なダイナミックディスク(ベーシックディスクからアップグレードしたのではないもの)
にはパーティションテーブルがないので、(2)から先に進むことができません。
このため、windows2000では、純粋なダイナミックディスクからはブートできませんでした。

WindowsServer2003にもこの制約が残っているかどうか私は知らないのですが、
少なくとも通常のマスターブートローダではブートできないはずです。
あのことこのこ
会議室デビュー日: 2003/06/08
投稿数: 10
投稿日時: 2006-05-15 08:37
>Mattun様

エラーは何も表示されません^^;
BIOSのメッセージ画面から、通常であればWindows2003のロゴが表示される前で
ブートがストップしてしまう感じです

>coasm様

>純粋なダイナミックディスク(ベーシックディスクからアップグレードしたのではないもの)
>にはパーティションテーブルがないので、(2)から先に進むことができません。

なるほど。そういう事ですか・・・
本日時間のあるときに、まず、Windows回復コンソールのfixmbrを試した上でブートに
失敗するようでしたら、パーティションきり直してベーシックからアップグレードしてみようと思います

有難う御座いました
作業結果につきましてはまた追記させて頂きます
1

スキルアップ/キャリアアップ(JOB@IT)