以下で説明するブート修復ツールを使用してBootinfo Summaryレポートを作成し、レポートへのリンクを投稿できますか?
ブート構成に関する詳細を既に提供していることは知っています。ただし、私が求めているレポートには、より詳細な情報が含まれており、GRUBを使用してWindowsを起動できない理由をよりよく理解できる場合があります。
ブート修復を使用して「Bootinfo Summary」を提供する方法
Ubuntuを引き続き起動できるため、コマンドを使用してBoot-Repairツールをインストールして実行し、apt-get
それを使用してを実行できますCreate a Bootinfo summary
。
ターミナルウィンドウで以下のコマンドを実行して、boot-repair
ツールをインストールします。
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
- それが完了したら、コマンド
boot-repair
を入力してツールを開始します。
- 少し遅れて、
boot-repair
最新バージョンをダウンロードするかどうか尋ねられます。最新バージョンをインストールしたので、答えてくださいNo
。
- パッケージの
boot-repair
インストールを求められたらpastebinit
、で応答しYes
ます。
- ツールはシステムをスキャンし、(最終的に)下の画像に示すウィンドウを表示します。
Create a Bootinfo summary
ボックス/ボタンをクリックします。これにより、システムのブート構成に関する情報が収集されますが、変更は加えられません。
- bootinfoサマリーが作成されると、次の
boot-repair
ようなURLを含むメッセージが表示されますhttp://paste.ubuntu.com/123456/
。
質問を更新/編集して、このURLを追加してください。このリンクが指し示すペーストビンの情報は、問題の診断に役立ちます(願っています)。
WindowsパーティションのVBRを上書きすると、この問題が発生したと思います。
私の理解では、オペレーティングシステムを起動するにはいくつかの手順があります。あなたの場合、以下のステップのようなことが起こると思います。
- コンピューターのBIOSは、ハードドライブの最初のセクターでコードを実行しようとします。この最初のセクターは、通常MBR(マスターブートレコード)と呼ばれます。
- MBRに加えて、すべてのパーティションにブートレコードを含めることもできます。多くの場合、ボリュームブートレコードまたはVBRと呼ばれます。ハードドライブ上のMBRは、Windowsパーティションであるパーティション1のVBRに制御を転送します。
- Windowsは、パーティションのVBRがWindows 7などのオペレーティングシステムの起動に向けて次のステップを踏むことを期待しています。したがって、Windows
bootmgr
は、WindowsパーティションのWindows プログラムに制御を移すVBRを最初にインストールします。
ただし、WindowsパーティションにGRUBをインストールするようにUbuntuにプログラムをインストールするように指示した場合、GRUBはWindows VBRを独自のものに置き換えたように見えます。このGRUB VBRはGRUBブートメニューを表示します。
- GRUBが現在Windowsを起動するために使用している命令は、基本的にWindowsパーティション内のVBRを見つけて制御を移すことです。WindowsパーティションのVBRはGRUBのVBRです。コントロールをそこに転送すると、GRUBブートメニューが(再)表示されるだけです。
残念ながら、これを修正する最良の方法はまだわかりません。Windowsの起動に関する問題を解決しようとする際に、GRUBを破損せず、コンピューター上で何も起動できないように注意する必要があります。
以下は、参照用のBootinfo Summaryからの情報の一部のコピーです。上記の私のコメントは、この情報に基づいています。
============================= Boot Info Summary: ===========================
=> Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1
of the same hard drive for core.img. core.img is at this location and
looks for (,msdos2)/boot/grub on this drive.
sda1: ______________________________________________________________________
File system: ntfs
Boot sector type: Grub2 (v1.99)
Boot sector info: Grub2 (v1.99) is installed in the boot sector of sda1
and looks at sector 44090872 of the same hard drive
for core.img. core.img is at this location and looks
for (,msdos2)/boot/grub on this drive. No errors
found in the Boot Parameter Block.
Operating System: Windows 7
Boot files: /bootmgr /Boot/BCD /Windows/System32/winload.exe
sda2: ______________________________________________________________________
File system: ext4
Boot sector type: -
Boot sector info:
Operating System: Ubuntu 12.04 LTS
Boot files: /boot/grub/grub.cfg /etc/fstab /boot/grub/core.img
Windows 7を起動するための可能な回避策
以下は、Windows 7をブートできるGRUBブートコマンドを編集するための提案です。これが機能するかどうかはわかりませんが、試してみる価値はあります。
現在、grub.cfg
以下のGRUBブートコマンドを使用してWindows 7を起動しています。
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
chainloader +1
}
これを変更して、代わりにこれらのコマンドを使用することをお勧めします。
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
insmod ntldr
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
ntldr ($root)/bootmgr
}
これを行う手順は次のとおりです。
- システムをブートしてGRUBメニューを表示します。
- GRUBブートメニューエントリを選択(強調表示)します
Windows 7 (loader) (on
/dev/sda1)
。
- を押しeて、Windows 7のGRUBブートコマンドを編集します。
menuentry
上記のように、このコマンドリストに2つの変更を加えます。
- コマンドを追加する
insmod ntldr
- コマンド
chainloader +1
を次のように変更
します
ntldr ($root)/bootmgr
- Ctrl+ XまたはF10を押して、これらの編集されたコマンドを使用して起動します。
注1:
上記の回避策がWindows 7ブートメニューの読み込みに成功した場合は、次の方法で半永続化することができます。
- を使用
sudo
してファイルを編集し、上記の/etc/grub.d/40_custom
2番目の修正済みを追加しますmenuentry
。(これを行う場合、この「カスタム」エントリのタイトルを変更することもお勧めします。)
- コマンド
sudo update-grub
を実行して更新/boot/grub/grub.cfg
し、カスタマイズしたエントリを含めます。(ブートすると、GRUBメニューの下部に表示されます。)
上記の提案は、部分的にしか解決されていないソリューションだと思います。より良い解決策は、GRUBの起動機能を損なうことなく Windows VBRをWindowsパーティションに復元することです。
私は思う...しかし100%確信していない... bootsect
これを行うためにWindowsリカバリコマンドを使用できることを。あなたがそれを危険にさらしたいならば、これをする1つの可能な方法は以下に概説されます。
- Windowsを起動するときに、を押しF8て
Advanced Boot Options
メニューを表示します。
Repair Your Computer
エントリを選択します。
- に達するまで、次のウィンドウを歩きます
System Recovery Options
。
- 選択する
Command Prompt
- コマンドを実行する
bootsect /nt60 C:
しかし、上記を試すリスクを冒す前に、少し待って、質問に対する他の回答を確認することもできます。
注2:
他のものを探しているときに、AskUbuntuであなたの問題に関連する2つの質問に出くわしました。
- Ubuntu 11をインストールした後、Windows 7が起動しません
- Ubuntuのインストール後にWindows 7が起動しない
これらの質問がどれほど役立つかはわかりません。2番目の質問に対する答えbootrec /fixboot
は、WindowsパーティションのVBRを復元するコマンドを使用することでした。その質問からの私の理解は、bootrec /fixboot
コマンドを使用して問題を解決したということでした。
しかし、2つ目の質問は、と主張しbootrec /fixboot
たのではない問題を解決します。
(そこで何が起こっているのかについて、私から大騒ぎします。)