У меня двойная загрузка. Сначала я установил Windows 7 на ее собственный диск (C:) с отключенным вторичным диском. Я сделал это, потому что знаю, что Windows имеет тенденцию портить другие диски. Затем я подключил вторичный диск и создал раздел данных (D:) и установил Linux на третий раздел.
Подводить итоги:
- Диск 1: Раздел Windows (C:)
- Диск 2: Данные (D:), Linux (невидим в Windows из-за файловой системы), подкачка.
Когда Linux установил себя, он также установил GRUB на второй диск (BIOS, а не UEFI). Так что загрузчик Windows,который был установлен в C:, не использовался. Тем не менее, если в случае чрезвычайной ситуации я отключал второй диск или он выходил из строя, загрузчик Windows 7 работал.
Это прекрасно работает уже много лет.
Теперь, как часть обновления Windows в этом месяце, и я предполагаю, что это связано с тем обновлением, которое надоедает вам сообщением об окончании поддержки и возможным обновлением до Windows 10,Windows 7 переместила свой загрузчик с диска C: на раздел данных на дополнительном диске (D:). Теперь на диске D: есть bootmgr.exe
и Boot
папка, а на диске C: их нет.
Двойная загрузка через GRUB все еще работает нормально, но я бы хотел, чтобы собственный загрузчик Windows оставался на C:, где ему и место. Достаточно ли будет скопировать bootmngr.exe и папку Boot обратно на C:, или мне следует использовать установочный DVD Windows, чтобы «исправить» установку Windows? И если я исправлю только этот диск, будет ли GRUB на дополнительном диске работать?
ОБНОВЛЕНИЕ: (декабрь 2019 г.) Это случилось снова! Я установил накопительный пакет безопасности, и, видимо, Windows решила, что SSD, на котором он был установлен, не подходит, и переместила себя на другой жесткий диск.
решение1
ОБНОВЛЯТЬ Я отключил второй диск, перезагрузил, и Windows загрузилась в режиме восстановления вместо обычного. Я выбрал «восстановление при загрузке», но это не сработало. Он сказал, что Windows не может восстановиться автоматически. Показанные сведения об ошибке были чем-то вроде «NoOsLoader». Я вставил оригинальный установочный DVD Windows и перезагрузил ПК. В BIOS было написано «нажмите любую клавишу для загрузки с DVD», поэтому я так и сделал и загрузился с DVD. Выбрал часовой пояс и клавиатуру, затем снова выбрал «восстановление при загрузке», и это исправило отсутствующий загрузчик без необходимости выполнять полную переустановку. Теперь Windows снова перезагрузилась, и на этот раз она могла нормально загружаться с C:. Все это время второй жесткий диск был отключен (и кабель питания, и кабель данных) на всякий случай, если утилита восстановления Windows решит вместо этого повозиться с этим диском. После подтверждения успешного восстановления я снова подключил другой жесткий диск и загрузил Linux. Я проверил раздел D: и нашел несколько файлов, которых там раньше не было, и которые были созданы Windows недавно:
/boot
bootmgr.exe
Так что это определенно было причиной проблемы. Windows ПЕРЕМЕЩАЛА СВОЙ ЗАГРУЗЧИК НА РАЗДЕЛ ПО ЕГО ВЫБОРУ.
Я удалил эти файлы, так как они уже были переустановлены на диск C:, где им и место.
Теперь, чтобы это не повторилось, у меня есть 2 варианта:
- Никогда больше не устанавливайте обновления «безопасности», так как они явно портят загрузчик.
- Отключите раздел D: в Windows.
решение2
Это проблема, с которой я столкнулся около года назад, когда пытался установить Windows на второй диск, чтобы облегчить перенос данных со старого HDD на новый SSD. Во время установки, будь то ошибка или намеренное решение, Windows обнаруживает загрузчики на других дисках и устанавливает себя там. Мне не удалось, никоим образом, поместить загрузчик на нужный диск, и все попытки исправить ситуацию заканчивались синими экранами или аккуратным сообщением «ОС не найдена».
Лучшим вариантом будет попытаться восстановить Windows с установочного диска/USB, отключив диск Linux. Хотя, вероятно, возможно переместить файл(ы), я не рекомендую этого делать, так как Microsoft любит создавать ассоциации, которые могут сделать вашу жизнь невыносимой.
решение3
Проблема деликатная, поскольку процесс загрузки Windows 7 довольно хрупок.
Теоретически возможно скопировать раздел System Reserved, содержащий папку Boot, с диска D на диск C, но есть несколько нюансов:
Раздел Windows 7 должен оставаться в точном секторе адреса, иначе процесс загрузки не будет работать. Если вы переместите его, чтобы освободить место на диске, он может стать незагружаемым.
После копирования раздела System Reserved с диска D на диск C команда для установки BCD выглядит следующим образом:
bcdboot c:\windows /s c:
и она должна быть запущена изнутри Windows, поэтому вам придется загрузиться из grub, и неясно, какой BCD Store будет обновлен. Если это тот, что на D, то вам может потребоваться загрузить Windows 7 с USB в командной строке и запустить эту команду, используя правильную букву тома и с отключенным диском Linux.
Прежде чем начать, предлагаю принять некоторые меры предосторожности:
Сделайте резервные копии, включая образ системы C. Используйте сторонний продукт, напримерБесплатное ПО для резервного копирования AOMEI, и создайте его загрузочный носитель и протестируйте его. Это даст вам возможность восстановить диск до рабочего состояния.
Подготовьте загрузочный носитель Windows 7 с тем же пакетом обновлений, что и ваша установка, поскольку вам может потребоваться Восстановление при загрузке или, если это не сработает, Выполните установку восстановления, чтобы исправить Windows 7.
Возможно, вам удастся обойти некоторые из вышеперечисленных мер предосторожности, но в этом случае вам понадобится удача.