web-dev-qa-db-ja.com

悪いWindowsパーティションの修正とLinuxでの起動

起こったことは次のとおりです。

  • Windowsパーティションに十分なスペースがありません
  • ストックの「リカバリ」パーティションを削除して、スペースを確保します
  • Winパーティションを拡大する
  • ソフトウェアがWindowsの起動を台無しにする
  • Ubuntuの下に移動して問題を修正します
  • ms-sys -7でWin7MBRを修正してみてください
  • 同時にNattyにアップグレードする
  • 古いGRUBを洗い流し、その過程で新しいGRUBを置きます
  • grub-mkconfigはWindowsを検出しません
  • Windowsの起動エントリを作成する
  • Windowsを起動してみてください
  • エラー「無効なパーティションテーブル」を受信します

今はOSCD/DVD(Windows、Linux)を持っていないので、持っているもので作業する必要があります。

これが私の ブート情報スクリプト

私のWindowsパーティションは/dev/sda1にありますが、おそらく何らかの方法で混乱しており、私のGRUBスクリプトは次のように言っています:

menuentry "Windows 7 (loader)"{
    set root=(hd0,1)
    chainloader +1
    boot
}

Windows 7を再度起動するにはどうすればよいですか?

3
jonallard

Windows 7 ISOイメージの1つをダウンロードして、DVDに書き込みます。

http://www.mydigitallife.info/download-windows-7-iso-official-32-bit-and-64-bit-direct-download-links/

次に、回復コンソールを起動し、BCDEditコマンドを使用する必要があります。

http://technet.Microsoft.com/en-us/library/cc709667(WS.10).aspx

http://support.Microsoft.com/kb/919529 (特に問題ではありませんが、起動の問題を修正する方法について説明しています)

パーティションを削除すると、BCDストアに保存されているブート情報が破棄されました(古いboot.iniと同じ機能)。

2
KCotreau

"無効なパーティションテーブル"はBCDストアとは何の関係もありません。これは、MBR bootstrapコードからのエラーであり、MBRパーティションテーブル情報に1つ以上のプライマリパーティションの未定義のステータスバイトがあることを示しています。実際に取得するのは非常に困難であり、他のすべてが考慮しているものがありますここにあるように、有効なパーティションテーブルである。

提供した情報を見ると、何らかの理由で最初のプライマリパーティションのVBRにMBR bootstrapコードがあることがわかります。当然、そのMBRコードは埋め込みパーティションテーブルを見つけることができません。(上書きした実際のVBRからスクランブルされたデータを見つけるだけです。)おそらく、そのms-sysコマンドでVBRを上書きしました。

確認する必要があるのは、Windowsリカバリ環境ではfixbootであり、fixmbrではありません。もちろん、リカバリ環境を削除したばかりです。 …

1
JdeBP