Как переместить загрузочные файлы Windows 7 (bootmgr,…) на другой диск?

10

Я хотел двойную загрузку. Итак, сначала я установил Windows 7 на 1-й раздел одного жесткого диска (назовем его HDD1), а затем я установил Ubuntu 9.10 на второй раздел HDD1. К сожалению, это не сработало (обошло GRUB2 и пошло прямо в Windows). Я решил переустановить Ubuntu, и тогда я заметил, что (по какой-то причине) Windows решила разместить свои загрузочные файлы на другом жестком диске (назовем его HDD3).

Я бы хотел это исправить - я хочу переместить загрузочные файлы с HDD3 на HDD1. Это может помочь решить мою проблему с двойной загрузкой, но даже если это не так, по моему опыту, это сэкономит много головных болей в будущем. Как я могу это сделать? Я собираюсь предположить, что это не так просто, как просто копировать файлы, но я хотел бы оказаться неправым :)

red.october
источник

Ответы:

16

Посредством некоторого поиска в Google я нашел следующее решение (я использую HDD1 и HDD3 для представления двух жестких дисков, которые мне интересны, как указано выше в моем вопросе):

  1. Загрузочные файлы состоят из папки с именем Boot и приложения с именем bootmgr . Это системные файлы, поэтому они обычно скрыты. Вы должны сделать их видимыми.
  2. Скопируйте их обоих с HDD3 на HDD1. Он будет жаловаться, что нельзя скопировать два файла : BCD и BCD.log , оба из которых находятся в папке Boot . Последнее неважно (это просто файл журнала) и может быть проигнорировано; первый будет скопирован на следующем шаге.
  3. Откройте командную строку с правами администратора. Введите следующую команду:, bcdedit /export HDD1:\Boot\BCDгде HDD1 - буква драйвера вашего целевого диска. В моем случае, HDD1 был C , поэтому команда была bcdedit /export C:\Boot\BCD.
  4. Теперь вам нужно отредактировать файл BCD, чтобы все записи были правильными. Я использовал программу bcdedit, которая поставляется с Windows 7, но есть и другие. Я слышал, что EasyBCD довольно хорош (и бесплатен), но последняя версия не полностью поддерживает Windows 7. Я полагаю, что скоро выйдет новая версия, которая поддерживает Windows 7. Сначала я перехожу к HDD1 \ Boot в командной строке (с правами администратора) и набираю bcdedit /store BCD /enum ALL. Я использую этот /storeпереключатель, чтобы указать файл BCD в текущем каталоге - я думаю, что этот переключатель будет использовать тот, который используется по умолчанию - на жестком диске HDD3. Эта команда выводит список всех записей в файле BCD .
  5. Я просмотрел записи, и получается, что записи для {bootmgr}и {memdiag}как точки на HDD3. Конечно, я хочу, чтобы они указывали на HDD1. Поэтому я выдавать команды в следующем виде: bcdedit /store BCD /set [entry_name] device partition=HDD1:. Поскольку HDD1 является C на моей машине, я бы ввести следующее , чтобы установить {bootmgr}запись: bcdedit /store BCD /set {bootmgr} device partition=C:.

Вот и все. Последний шаг - сделать HDD1 активным через Disk Management(доступ из управления компьютером) - он уже был активен в моей системе, поэтому мне не пришлось ничего делать.

Теперь, что касается странной проблемы двойной загрузки, оказалось, что я забыл, что физически изменил порядок жестких дисков. Таким образом, порядок загрузки BIOS был неправильным ( сначала он пытался загрузиться с HDD3 , а не с HDD1). И да, это была невероятно глупая ошибка с моей стороны :)

red.october
источник
второй шаг attrib не должен быть необходим, так как флаги attrrib в оригинальном файле + только
Эти инструкции очень полезны. У меня есть несколько двойной загрузки машин с помощью Win7 и Ubuntu , и со временем я нашел самое лучшее постоянное решение это BootIt NG terabyteunlimited.com/bootit-next-generation.htm .
jtreser
Если вы столкнулись с проблемой, когда диспетчер загрузки находится на системном зарезервированном разделе, вы можете назначить ему букву диска из управления дисками, чтобы вы могли получить доступ к файлам и скопировать их. Отличный ответ!
Нейт Банди
1

Самый простой способ - просто загрузить и установить бесплатный EasyBCD: http://neosmart.net/dl.php?id=1

На странице EasyBCD «Резервное копирование / восстановление BCD» есть опция «Изменить загрузочный диск», которая выводит список всех локальных дисков. Вы просто выбираете нужный диск, и EasyBCD автоматизирует весь процесс для вас, включая активацию и загрузку выбранного раздела, импорт содержимого старого загрузчика и запись MBR.

(Раскрытие: я автор EasyBCD)

Махмуд Аль-Кудси
источник
1
Хороший совет для загрузки, особенно если вы не можете загрузиться
Ewoks
Если вы не можете загрузить файл, вы можете использовать загрузочный компакт-диск EasyRE: neosmart.net/EasyRE. Вы используете другой компьютер для создания загрузочного компакт-диска и загружаетесь с него, чтобы починить компьютер.
Махмуд Аль-Кудси