Как загрузиться в Windows 7, когда grub установлен в разделе Windows?

Оригинальное название: Как я могу решить (отменить) загрузку Windows 7 на том же разделе с помощью grub?

Я исследовал эту проблему в течение двух-трех дней, но ничего не нашел.

По сути, раздел 1 - это Windows 7, а раздел 2 - Ubuntu 12.04. Я сказал Ubuntu установить в раздел 2 и установить GRUB на раздел 1, и это работает нормально. Но проблема сейчас в том, что я не могу загрузить Windows 7. Он просто возвращается в меню GRUB после того, как я его выбираю.

Из того, что я исследовал, могу ли я отредактировать GRUB для загрузки Windows 7 "mbr" или загрузчика \windows\system32\winload.exe (без использования диска восстановления Windows 7), моя проблема будет решена. Возможно ли это вообще?


URL-адрес Boot-Repair-Info - это http://paste.ubuntu.com/981952/


Вывод из команды sudo blkid

/dev/sda1: UUID="1EA0019AA0017A13" TYPE="ntfs" /dev/sda2: UUID="e4402f9e-83df-4dc3-8913-69b28314d253" TYPE="ext4" /dev/sda3: LABEL="Vault Drive" UUID="74145BFD145BC132" TYPE="ntfs" /dev/sda4: UUID="1c030d32-657f-4a78-9468-307d9e09a977" TYPE="ext4"

Не могли бы вы создать сводный отчет Bootinfo с помощью средства восстановления загрузки, как описано ниже, а затем опубликовать ссылку на отчет?

Я знаю, что вы уже предоставили некоторые подробности о своей конфигурации загрузки. Однако отчет, который я запрашиваю, содержит более подробную информацию и может дать нам лучшее понимание того, почему вы не можете загрузить Windows с помощью GRUB.

Как использовать boot-repair для предоставления "Сводки Bootinfo"


Поскольку вы все еще можете загрузить Ubuntu, вы можете установить и запустить Инструмент для восстановления загрузки используя apt-get команду, а затем используйте ее для Create a Bootinfo summary.

Выполните приведенные ниже команды в окне терминала, чтобы установить boot-repair инструмент.

sudo add-apt-repository ppa:yannubuntu/boot-repairsudo apt-get updatesudo apt-get install -y boot-repair
  1. После завершения этого введите команду boot-repair чтобы запустить инструмент.
  2. После небольшой задержки, boot-repair спросит, хотите ли вы загрузить его новейшую версию. Поскольку вы только что установили новейшую версию, ответьте No.
  3. Если boot-repair просит установить pastebinit пакет, ответьте с Yes.
  4. Теперь инструмент просканирует вашу систему и (в конечном итоге) отобразит окно, показанное на рисунке ниже. Нажмите на кнопку Create a Bootinfo summary коробка/кнопка. Это позволит собрать информацию о конфигурации загрузки вашей системы, но не будет вносить никаких изменений.


    Initial Boot-Repair Window

  5. Когда будет создана сводка bootinfo, boot-repair отобразится сообщение, содержащее URL-адрес, который должен выглядеть следующим образом: http://paste.ubuntu.com/123456/.

    Пожалуйста, обновите / отредактируйте свой вопрос и добавьте этот URL-адрес. Информация в pastebin, на которую указывает эта ссылка, (я надеюсь) поможет нам диагностировать проблему.

Я думаю, что перезапись VBR раздела Windows вызвала эту проблему.

Насколько я понимаю, для запуска операционной системы существует несколько шагов. В вашем случае, я думаю, происходит что-то вроде приведенных ниже шагов.

  1. BIOS на вашем компьютере пытается запустить код в первом секторе жесткого диска. Этот первый сектор обычно называют MBR (Основная загрузочная запись).
  2. В дополнение к MBR каждый раздел также может иметь загрузочную запись. Его часто называют Загрузочная запись тома или VBR. MBR на вашем жестком диске передает элементы управления в VBR раздела 1, вашего раздела Windows.
  3. Windows ожидает, что VBR раздела сделает следующий шаг к загрузке операционной системы, такой как Windows 7. Таким образом, Windows изначально установила бы VBR, который передал бы управление Windows bootmgr программа в вашем разделе Windows.

    Однако, когда вы дали указание программе установки Ubuntu установить GRUB в раздел Windows, GRUB, похоже, заменил Windows VBR своим собственным. Этот GRUB VBR отображает загрузочное меню GRUB.
  4. Инструкции, которые GRUB в настоящее время использует для загрузки Windows, по сути, заключаются в том, чтобы найти VBR в разделе Windows и передать ему управление. VBR в разделе Windows - это VBR GRUB. Передача управления на него просто (повторно) отображает меню загрузки GRUB.

К сожалению, я пока не уверен, как лучше всего это исправить. Мы хотим быть осторожными, чтобы не сломать GRUB и не сделать невозможной загрузку чего-либо на вашем компьютере, когда мы пытаемся устранить проблему с загрузкой Windows.

Ниже приведена копия некоторой информации из вашей сводки Bootinfo для справки. Мои комментарии выше основаны на этой информации.

============================= 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.exesda2: ______________________________________________________________________    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

Ниже приведены рекомендации по редактированию ваших команд загрузки GRUB, которые могут позволить вам загрузить Windows 7. Я не уверен, что это сработает, но, похоже, стоит попробовать.

В настоящее время ваш 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}

Вот шаги, чтобы сделать это.

  1. Загрузите свою систему в меню GRUB.
  2. Выберите (выделите) пункт меню загрузки GRUB Windows 7 (loader) (on/dev/sda1).
  3. Нажмите e чтобы отредактировать команды загрузки GRUB для Windows 7.
  4. Внесите два изменения в этот список команд, как показано на рисунке menuentry выше.
    • Добавьте команду insmod ntldr
    • Измените команду
      chainloader +1
      к
      ntldr ($root)/bootmgr
  5. Нажмите либо Ctrl+X или F10 для загрузки с помощью этих отредактированных команд.

Примечание 1:

Если описанный выше обходной путь успешно загрузит загрузочное меню Windows 7, то вы можете сделать его полупостоянным с помощью

  1. С помощью sudo чтобы отредактировать файл /etc/grub.d/40_custom и добавьте второй, измененный menuentry показано выше. (Если вы сделаете это, я бы также посоветовал вам изменить название этой "пользовательской" записи.)
  2. Запустите команду sudo update-grub для обновления /boot/grub/grub.cfg чтобы включить вашу индивидуальную запись. (При загрузке он будет находиться в нижней части меню GRUB.)

Я бы рассматривал приведенное выше предложение лишь как частично испеченное решение. Лучшим решением является восстановление Windows VBR в раздел Windows без также уничтожается способность GRUB загружаться.

Я думаю... но я не уверен на 100%... что команда восстановления Windows bootsect может быть использован для этого. Если вы хотите рискнуть, один из возможных способов сделать это описан ниже.

  • При загрузке Windows нажмите F8 чтобы поднять вопрос о Advanced Boot Options меню.
  • Выберите Repair Your Computer вход.
  • Пройдите через следующие окна, пока не достигнете System Recovery Options.
  • Выбрать Command Prompt
  • Запустите команду bootsect /nt60 C:

Но вы также можете немного подождать и посмотреть, какие другие ответы вы получите на свой вопрос, прежде чем рискнуть попробовать вышеизложенное.

Примечание 2:

Во время поиска других вещей я наткнулся на два других вопроса по AskUbuntu, которые связаны с вашей проблемой.

  1. Windows 7 не будет загружаться после установки Ubuntu 11
  2. Windows 7 не загружается после установки Ubuntu

Я не уверен, насколько помогут эти вопросы. Ответ на второй вопрос состоял в том, чтобы использовать команду bootrec /fixboot чтобы восстановить VBR для раздела Windows. Насколько я понял из этого вопроса, использование bootrec /fixboot команда решила проблему.

Но второй вопрос настаивает на том, что bootrec /fixboot сделал нет решите проблему.

(У меня до чертиков не укладывается в голове, что там может происходить.)

menuentry "Windows 7" {    insmod ntfs    set root=(hd0,1)    drivemap -s (hd0) ($root)    ntldr /bootmgr    #or chainloader +1}

Если вы установили Windows на раздел, отличный от (hd0,1), вам необходимо использовать команду drivemap для загрузки в Windows. Chainloader +1 или ntldr /bootmgr можно использовать для загрузки Windows 7.

Что вы сделали, так это изменили VBR 1-го раздела; вы можете восстановить его, выполнив эти команды в режиме восстановления Windows в cmd при загрузке с установочного компакт-диска :

bootrec.exe /FixMbr  bootrec.exe /FixBoot  bootrec.exe /RebuildBcd

Я действительно не знаю о "(НЕ)загрузка)"вы должны попытаться исправить свою Windows с помощью диска восстановления Windows (выберите Command Prompt чтобы запустить bootsect.exe польза. Bootsect находится внутри загрузочной папки, поэтому измените свой каталог на boot. Теперь беги bootsect /nt60 C:\ (без кавычек) если у вас изначально была установлена Windows 7 в C: раздел. В качестве альтернативы вы можете запустить "bootsect /nt60 SYS" или "bootsect /nt60 ALL")

А затем переустановите GRUB.

GRUB установлен в загрузочном секторе вашего раздела Windows (PBR), как показывает ваш BootInfo:

sda1: __________________________________________________________________________File system:       ntfsBoot 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

Это предотвращает загрузку Windows.

Решение хорошо описано здесь: http://ubuntuforums.org/showpost.php?p=11693662&amp ;количество сообщений=1

Решена моя проблема с загрузкой Windows 10....

menuentry "Windows 10 (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.cfg, чтобы отразить изменения здесь:

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}

То есть, добавил я...

insmod ntldr

и изменил последнюю строку на...

ntldr ($root)/bootmgr

Я собираюсь попытаться восстановить VBR в ближайшее время и сообщу, как это получится.