Macでパーティションを変更したらWindowsXPが使えなくなった人へ

 

BootCampでデュアルブートしているMacパソコンで
Macの方にパーティションを追加または削除したら、
Windowsが起動途中で一瞬真っ青な画面を見せ
そのあと電源が落ちてしまうようになって起動できない。

というときに、
一体何がおこっているのかと
その解決方法についてのメモです。

BootCampは、
ハードディスクの一番後ろにWindows用の領域を確保します。
これがまず一つ、問題が発生する根源となります。

さてそこへWindowsをインストールするとしましょう。
すると、Windowsの起動時に読み込むBoot.iniというファイルに、
『前から3番目のハードディスクにWindowsはインストールされました。』
という情報が書き込まれます。
(Mac,Windows2つであるが規格上もう1領域存在する為、3になる)

ところがしかし!
Macの方でWindowsインストール後に新しくパーティションを作ると
BootCampの前に新しいパーティションを割り込ませる事になります。

すると、Windows起動時に
Boot.iniの『前から3番目』という指示に従い
前から3番目のパーティションを読みにいくと
そこにはBootCampのWindowsパーティションではなく
新しくMacで作ったパーティションがある事になります。

パーティションを削除した場合も同じように、
4番目だったのがパーティション削除により3番目となり
4番目なんて存在しないよ!という事になってしまうのです。

これを修正するには、
WindowsXPのパーティションのルート(所謂Cドライブ直下)にある
Boot.iniを書き換える必要があります。

注:Vista,7はインストールディスクから起動、コンピュータの修復を実行。
 それで直ると聞きましたが、報告コメントいただければ幸いです。
 XPではインストールディスクからのPBR修復には失敗しました。
  => 報告頂きました!
    コメント:2012年4月23日 5:02 PM Ry-KIT様より
    Win7で修復できたそうです。

問題は、NTFSフォーマットのWindowsの場合
Macから書き換える事がそのままでは出来ないという事です。
(ソフトをいれる事で可能になる)

ちなみに当Blogでも扱っている
Mac、Windows、Ubuntuのトリプルブートにする、
というケースであれば、
Ubuntuインストール後にUbuntuから読み込んで
テキストエディタで開いて編集・保存すれば
簡単に修正する事が出来ます。

しかしWindowsのほかにはMacしか無い、
という場合は、上記の問題をどうにかしなければなりません。

MacからNTFSに書き込みを可能にするには、
コマンドラインを使って可能にする方法
ソフトを使って可能にする方法があります。

コマンドラインを使ってする方法はリンク先を参照してください。
OS X にはもとからNTFSに書き込む機能自体は存在し
それを有効にしてやるだけのようです。

ただ、コマンドラインを使うのは
敷居を高く感じる人もいるかもしれません。

そんな人は、
NTFS-3G for Mac OS X というソフトを使ってみてください。
フリーソフトです。

NTFS-3G for Mac OS X については
MacからWindowsのNTFSファイルシステムに書き込み可能にする by NTFS-3G
を参照してください。

NTFSに書き込み可能になったら
いよいよWindowsを修復しましょう。
Finder > 移動 > BoodCamp へ移動すると、
WindowsCドライブのルートが表示されます。
(またはディスクユーティリティからBootCampを右クリック > 開く)

あ、そういえば右クリックって
マルチトラックパッドなら二本指クリックですね。

ちなみにこのとき、
ファイル・フォルダが無い場所で右クリックして
『新規フォルダ』が表示されれば、
NTFS書き込み可能になっている証拠です。

さて、BootCamp直下に、
Boot.iniというファイルがあります。
これを今から修復します。

開こうとするとアプリケーションを選ばされるので
『テキストエディット』を選択して開きます。

するとこんなのが表示されると思います。

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(3)¥WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)¥WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

これはMacとBootCamp、
二つだけのパーティションのある環境へ
WindowsXPをインストールしたときのものです。

先程述べた通り、
ハードディスクには規格上一つの空パーテョンが存在するため
合計して前から3番目がWindowsのパーティションになっています。

さて、
もしMacのパーティションを二つに分割した場合、
Windowsパーティションの前に1つパーティションが割り込むので、
・default=multi(0)disk(0)rdisk(0)partition(3)¥WINDOWS
・multi(0)disk(0)rdisk(0)partition(3)¥WINDOWS=・・・
の『partition(3)』に1を足して『partition(4)』にそれぞれ書き換えます。

そして保存。

おつかれさまでした。
再起動して今度はWindowsを起動すると、
無事立ち上がるはずです。

NTFS 3Gでは隠しフォルダも表示してしまいます。
大事なファイルを上書き・削除してしまわないように、
とくにNTFS書き込み機能を使わない場合は
書き込み機能を無効にしておくと安全です。
無効にする方法はNTFS-3Gの記事参照

※注意
NTFSへの書き込みが可能な状態で
AppStoreのアップデート機能を使用したり
iPhotoを起動しようとすると
プログラムが応答しなくなる問題があるようです。
詳しくはこちらの記事

この記事はお役に立ちましたか?


コメント

コメント(7)

  1. よしき on

    かなり明快な説明をアップしていただき、大変参考になります。実は昨晩、同じような目にあってしまって、わらにもすがる思いでこのサイトにたどり着きました。ありがたいです。
    ところで私のPCの症状は実はまだ改善されていないのです・・・
    MacBook ProのOSXにbootcamp3.3でwindows7 64bitを入れて快適に使用していました。いつもはwinを使うのですが、音楽を聴くときはmacを使ったりするので、音楽ファイルを共有しようと思って、macの領域にパーティションを作成しました。※作成時に簡単な警告文があり、bootcampが起動しない恐れがある旨書かれていました。
    まぁ大丈夫だろう、と楽観的に考えてろくにバックアップもせずにパーティションを作成。見事に起動できなくなりました。
    狼狽しながら、慌てて「この作成したパーティションを削除したら元に戻るかも」と思い立ち、削除しました。そうするとさらに悪い方向に行ったみたいです。
    よく考えると焦らずに、削除する前にググってこのサイトを参考にしていたら良かったのですが・・・
    ディスクユーティリティーで見えるには見えるんですが、アクセスもできない状態になっています。
    何か有効な修正する方法やアイデアはありますでしょうか?
    もしくはデータだけでも最悪、救出したいと思っております。
    申し訳ございませんが識者の知恵をお貸しください。

    返信

    • にわタコ on

      大変困られているところ、
      お返事遅れてしまい申し訳ございません。

      まず、データだけ助ける方法です。
      Macは使えているようですので、Macをバックアップし、
      Mac側からWincloneを使ってWindowsをバックアップします。
      クリーンインストールしてハードディスクを以前と同じ構成にした所で、
      BootCamp領域へWincloneからWindowsを復元します。

      ハードディスク構成さえ合っていればWindows自体は健全ですので、
      元通りになるはずです。

      また、Windowsをそんなに使い込んでいないのであれば、
      Windowsのハードディスク自体はMacから読み込めるので
      必要なフィルだけバックアップすることができます。
      (プロダクトキーでアクティベートするようなソフトが買い直しになることがあります)

      次に、もうすこし試行錯誤を繰り返すに当たってのヒントです。

      ディスクユーティリティでは見えない、触れない領域も、
      ターミナルからのコマンド操作で見えたり、操作したりすることができます。
      直感的にわかりにくいので間違えてMacやWindowsを消さないように気をつけて下さい。

      この記事にひょっとして参考になる部分が含まれているかもしれません
      http://niwatako.info/20110724/article938.html

  2. Ry-KIT on

    こんにちわ

    同様のケースで、Windows 7 では
    コンピュータの修復により起動を復元できたので、
    「報告コメントいただければ」とあったのでコメントします。

    OS X Lion + Windows 7 (BOOTCAMP) という構成で、
    HFS+ と NTFS の間に ExFAT のパーティションを追加した際、

    起動時のメニューから Windows が選択できなくなり、
    Lion の BOOTCAMP アシスタントから Windows にブートを切り替え、起動しても、
    「operating system not found」と表示されるようになりました。

    ここで、Windows 7 のインストールディスクで Mac を起動して、
    コンピュータの修復からスタートアップ修復を実行し、再起動すると、
    起動時のメニューに Windows が表示されるように戻りました。

    記事参考にさせてもらってます。ありがとうございます。
    ではでは ノ

    返信

    • にわタコ on

      記事を参考にして頂けたとのことで、幸いです。

      報告コメントも下さり、
      きっと同じように困られている方々の参考になることと思います。
      ありがとうございます!

  3. やまとつかさ on

    お世話になります…障害があり、色々と調べていたところ、こちらに行き着きました…初心者のわたしでも、理解できる説明にずごくすごくありがたいと思っています…本題なのですが、上記記事の如くパーティションを追加してのWindowsが立ち上がらない状況なのですが、記事の通り途中までできたのですが「BootCamp直下に、Boot.iniというファイルがあります」のところで、当該ファイルがないという事態にみまわれ困っています。OSはmountainlionです。お忙しいとは思いますが、ご教示いただければ幸いでございます。 よろしくお願い申し上げます。

    返信

    • にわタコ on

      boot.iniが隠しファイルになっていて、
      表示されていない可能性があります。

      この記事を書いた当時は、
      隠しファイルでも表示されていた(と思う)のですが
      MountainLionでWindowsパーティションを確認した所
      隠しファイルが表示されていませんでした。

      隠しファイルを表示させるには、
      Macの隠しファイル表示設定を変える必要があります。
      (Windows側の設定は関係無いようです)

      Macで隠しファイルを表示する手順は
      次のようになります。

      1.ターミナルで次の一文を実行します
      defaults write com.apple.finder AppleShowAllFiles -boolean true

      2.続いて次の一文を実行しFinderを再起動します
      killall Finder

      これで隠しファイルが見えるようになります。

      作業完了後、隠しファイルを再び隠すには

      defaults delete com.apple.finder AppleShowAllFiles

      という一文を実行してから、再度

      killall Finder

      を実行します。

      御返事遅くなってしまい申し訳ございません。
      もしご覧になられましたら、一度試してみてください。

  4. きょたん on

    似たような症状にて検索した結果、大変当ページが役に立ちました。
    当環境も参考になるかと思い、投稿させて頂きます。

    経緯から書きますと10.8とBootcamp、windows8で使用していましたが、10.8、10.6、windows8のトリプルブートにしようと思いパーティションを区切ったところ、windowsが認識、起動しなくなりました。
    が、インストールディスクから起動し、「コンピュータの修復」をしたところ、正常に起動するようになりました。

    この記事のおかげで再インストールせずに済みました。大変有り難うございました。

    返信

Ry-KIT にコメントする (キャンセル)