Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Windows 7 Установка и загрузка Как перенести файлы загрузки Windows в разметке MBR на другой жесткий диск RSS

Как перенести файлы загрузки Windows в разметке MBR на другой жесткий диск

Текущий рейтинг: 4.42 (проголосовало 285)
 Посетителей: 242501 | Просмотров: 364057 (сегодня 0)  Шрифт: - +
Эта статья применима к Windows 7 и новее на дисках с разметкой MBR.
Для дисков с разметкой GPT см. Создание или восстановление загрузки в разметке GPT. В Windows 10 вы можете определить тип разметки в PowerShell: Get-Disk.

Аннотация

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

Это произошло потому, что перестало соблюдаться одно из трех условий успешной загрузки:

  • раздел, с которого выполняется загрузка, должен быть активным;
  • загрузочный сектор раздела должна быть совместим с bootmgr;
  • на активном разделе должны находиться файлы загрузки операционной системы. Для Windows 7 это файл bootmgr и хранилище данных конфигурации загрузки (BCD), находящееся в скрытой и системной папке Boot.

Рассмотрим решение проблемы на примере конфигурации, представленной на рисунке

*
Увеличить рисунок

На скриншоте "Управления дисками" видно, что диск C:, на котором установлена Windows 7, не активен. Активным является диск D:. Файлов загрузки Windows 7 (они скрытые и системные) на диске C: так же не обнаружится. Задача: перенести загрузчик с диска D: на диск C:, то есть обеспечить соблюдение вышеназванных условий.

Использование установочного диска или диска восстановления Windows 7

При наличии этих дисков перенос загрузочных файлов не составляет труда. Физически отключите "ненужный" жесткий диск, загрузитесь с диска, установив в BIOS привод CD-DVD первым загрузочным устройством, войдите в среду восстановления. После того, как закончится сканирование и поиск установленных операционных систем, выполните "Восстановление запуска". Программа восстановления подготовит нужным образом жесткий диск и скопирует на него необходимые файлы. После перезагрузки возможность загрузки будет восстановлена.

Если у вас нет ни установочного диска, ни диска восстановления, можно воспользоваться способом, описанным ниже.

Перенесение файлов загрузки с использованием утилиты bcdboot.exe

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

Первый: войдите в оснастку "Управление дисками" (Win + R, в строке "Выполнить" наберите diskmgmt.msc и нажмите OK) и посмотрите, какая буква присвоена первому слева разделу диска, который планируется оставить. Именно этот раздел мы сделаем загрузочным и активным: щелкните правой кнопкой мыши по выбранному разделу и выберите пункт контекстного меню "Сделать раздел активным". Учтите, что этот раздел должен иметь атрибут "основной".

Второй: запустите командную строку с правами администратора. Все команды, о которых пойдет речь далее, будут выполняться последовательно без выхода из командной строки.

DISKPART
list disk
sel disk X
list partition
sel part 1
active
exit

где X - номер диска, который предполагается оставить, в списке дисков (команда list disk).

Для этого понадобится утилита bootsect.exe, которую, при отсутствии установочного диска, можно взять здесь. Заранее скачайте и распакуйте ее, например, в корневой каталог раздела C:.

c:\bootsect /nt60 All /force

примечание: опыт показывает, при наличии в конфигурации 2-х и более HDD ключ /force необходим.

bcdboot %Windir% /l ru-Ru /s C:

- ключ /l - выбор языковых параметров менеджера загрузки. Если ваша система не русскоязычная, используйте другие значения этого ключа, например, для английского языка - en-Us, для немецкого - de-DE, и т.д.

- ключ /s - определяет букву тома, назначенную целевому системному разделу, в который копируются файлы среды загрузки. Это раздел, который мы сделали активным. Так как микропрограмма команды по умолчанию использует текущий системный раздел (до извлечения жесткого диска - это раздел D:), применение этого ключа с буквой предполагаемого загрузочного раздела - обязательно!

  1. Делаем диск активным. Есть два способа сделать нужный раздел активным.
  2. Перезаписываем загрузочный сектор (делаем его совместимым с bootmgr):
  3. Переносим BCD и файл bootmgr на новый активный раздел:

Проверяем и редактируем BCD

Выполните команду

bcdedit /store C:\boot\bcd

*
Увеличить рисунок

По результатам выполнения команды проверьте параметры (подчеркнуты на скриншоте):

  • в секции "Диспетчер загрузки Windows" параметр device должен быть равен букве нового активного раздела, в нашем случае - C:.
  • в секции "Загрузка Windows" параметры device и osdevice должны быть равны букве раздела, на котором сейчас расположены каталоги Windows. В нашем случае, это тоже C:.
  • в случае несоответствия внесите необходимые изменения с помощью команд:
bcdedit /store C:\boot\bcd /set {bootmgr} device partition=C:
bcdedit /store C:\boot\bcd /set {current} device partition=C:
bcdedit /store C:\boot\bcd /set {current} osdevice partition=C:

Обычно выполнение команд не требуется, но проверить не помешает. Вместо идентификатора {current} может быть {default}, или вообще буквенно-цифровой. Тогда в командах нужно использовать тот, который используется для загрузки.

Таким образом, перенесение файлов загрузки на другой диск - не такая сложная задача.

Вместо заключения, или "Русскоязычное меню мультизагрузки"

В связи с тем, что программа восстановления запуска, выполняющаяся из среды восстановления, использует параметры "по-умолчанию", язык менеджера загрузки становится английским. При наличии одной загружаемой системы это не заметно, а при наличии меню мультизагрузки - бросается в глаза. Если вас это не устраивает, выполните в командной строке:

bcdboot %Windir% /l ru-Ru

Выполнить ее нужно уже после перенесения файлов загрузки в новый раздел.


Статья опубликована в рамках конкурса "Наш выбор - Windows 7!". Оригинальный стиль автора сохранен.

Автор: Аркадий Пилипенко, aka okshef  •  Иcточник: www.oszone.net  •  Опубликована: 02.12.2009
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER


Оценить статью:
Вверх
Комментарии посетителей
05.02.2010/13:19  anodonta.com.ua

Оказывается, не так уж это и сложно снять диск не испортив работы системы!
29.07.2010/13:57  Avals

А этот способ подходит для Windows Server 2008 ?
22.08.2010/03:46  SiEmens a35

спасибо за инструкцию конечно, но при переносе файла загрузки (то ли 1, то ли 3й пункт мануала)у меня исчезли 3 виртуальных диска с файлами примерно на 500 гигов. жесткий диск - 1ТБ, разделён на 5 логических (C,G,H,I,J). операция прошла успешно, но после перезагрузки компа я обнаружил нераспределённое пространство в 680 гигов на месте, где раньше были диски H, I и J. вместе с дисками исчезли все фильмы, игры и прочее "на сумму" более 500 гигов.
можно ли восстановить их, или придётся качать всё заново?
04.10.2010/23:37  shurman

Спасибо,с помощью уст.диска все получилось и работает с первого раза.НО!Но до этого на старом hdd стояли 2 системы-7 и XP.Устанавливал,пользуясь инструкцией с этого-же портала http://www.oszone.net/10237/Install_XP_7 .(Ставил и на ноут также,работает до сих пор практически без проблем).А сейчас возникла проблема-XP не ставится,хоть стреляй!Т.Е. все как всегда-и windows файлы копирует,раздел форматирует,время проходит(45-50 мин),в конце-*загрузка с диска С* и на долю секунды-синий экран.При запуске в безопасном режиме-диагностика и сообщение-отсутствует или поврежден драйвер Microsoft Net Framework 3,5 .Хотя с диска он копировался.(Диск рабочий,проверил на другом компе.)Нужен еще один загрузочный сектор?Подскажите,как побороть?
03.01.2012/02:20  Heretic

Не выходит.. Пробовал когда-то установить linux с виндой потом удалял, а винду переставлять не хотелось.. Пробовал всевозможные bootrec.exe ничего с загрузчиком не помогало, в итоге установил винду на другой диск, а затем загрузчик оставил, а винду скосил. Теперь никак не выходит переписать его на диск С:\ , а при выполнении вашей инструкции после выполнения "c:\bootsect /nt60 All /force" выводит "Could not map drive partitions to the associated volume device objects:" помогите пожалуйста..
03.01.2012/09:38  okshef

Задайте свой вопрос на форуме
26.01.2012/09:14  MCFlower

Аркадий спасибо огромное за статью. Перекопал весь интернет в поисках ответа и уже было отчаялся переставлять (и неделе не прошедшей после установки) винду как на ткнулся на вашу статью. Все очень доступно и просто (даже ссылки на утилиту приложили). Изначально (не прочитав вашу статью) я использовал первый метод описанный вами но это ни как не повлияло на работу. После второго метода все запускается на ура. Спасибо еще раз.
26.01.2012/09:50  okshef

Рад, что смог помочь
21.02.2012/12:42  Azamatdos

у меня не получилось прошу помочь. когда ввожу: bcdboot %Windir% /l ru-Ru /s С: , выводит: сбой при установке пути к системному тому библиотеки.
что мне делать?
21.02.2012/14:52  okshef

Создать тему на форуме, прикрепить скриншоты окна командной строки и "Управления дисками" - попробуем разобраться
21.02.2012/15:16  Azamatdos

большое спасибо за внимание. я разобрался.
25.03.2012/20:43  JetJey

Ошибка в тексте:
"Выполните команду
bcdedit /store С:\boot\bcd"
Буква диска C:\ походу написан русской буквой, когда скопировал отсюда эту команду, она у меня не выполнилась, пока не написал букву диска C: в англ раскладке
25.03.2012/23:35  okshef

Спасибо, поправил.
09.06.2012/19:54  TakTo

Подскажите пожалуйста, возможно ли перенести bcd (windows 7) на другой ЛОГИЧЕСКИЙ ДИСК выполняя все манипуляции из под XP? Спасибо
09.06.2012/23:31  okshef

На ЛОГИЧЕСКИЙ - нельзя, раздел должен быть только основным. Можно и из-под XP, если сработает bcdboot
28.09.2012/15:57  Tako_x

Сделал все по инструкции.. На нужном диске в корне появились файлы загрузки и папка boot. Но при физическом отключении ненужного диска винда не грузится. Ругается на файл oem-drv64.sys
И кстати в менеджере дисков осталось как было: нужный диск - загрузочный, а ненужный остался системным.
29.09.2012/00:27  okshef

Опишите свою проблему в теме http://forum.oszone.net/thread-158917.html
14.01.2015/13:51  bojfriend

решив избавиться от раздела System Reserved, но в то же время не терять его преимуществ. для этого создал раздел восстановления. скинул на него настроенный захваченный wim-образ, который доступен через меню среды восстановления. таким образом у меня получилось три раздела: с системой, файло-помойка, раздел восстановления. сильно ли намудрил?
14.01.2015/21:40  okshef

нет, но лучше задавать вопросы на форуме
26.03.2015/21:57  Bugrik

После команды set disk 0, выбило "для этой команды выбраны недопустимые аргументы" и отправка к файлу хелп. причем проверил и на рабочем ноуте. та же фигня. в чем может быть проблема? вин7 макс 64 бит
27.03.2015/08:16  okshef

А где в статье команда seT?
27.03.2015/20:43  Bugrik

Блин я невнимательный идиот(((
13.04.2015/00:34  Sergio64

Спасибо большое!
Сначала установил Win 7 на ноут вместо предустановленной Win 8 а потом только конвертировал диск GPT в MBR - Win 7 перестала грузиться. Можно конечно было просто переустановить Win 7, но ради интереса хотелось восстановить загрузку без переустанови ОС. При запуске восстановления с установочного диска программа восстановления говорила примерно, что установленная ОС отличается от той, что находится на установочном диске. Второй способ помог, спасибо огромное!
16.04.2015/02:30  shreder07

у меня Диспетчер загрузки Windows стоит device partition D: как поменять что б было диск С:??? я пробовал этой командой, выбивает ошибку:
bcdedit /store C:\boot\bcd /set {bootmgr} device partition=С:
Произошла ошибка при задании данных элемента.
Такой запрос не поддерживается.
16.04.2015/08:07  okshef

Спрашивайте в теме http://forum.oszone.net/thread-158917.html
Там и разберемся
01.03.2016/20:30  smandos

У меня ноутбук с 500 Gb HDD и 18 Gb SSD. Хочу перенести загрузку на SSD. Я ему дал букву Z и хочу перенести на него загрузку, вроде все перенес, просто везде инструкции с диском C, а мне наоборот с диска С нужно перенести на Z. В "Управление дисками" диск C до сих пор загрузочный, что еще сделать нужно?
На данный момент на диске Z есть папки System Volume Information, Boot, $RECYCLE.BIN и файл bootmgr. Все скрытые. Диск Z - активный.
02.03.2016/08:13  okshef

smandos, см. мой предыдущий коммент
13.09.2016/14:35  бУРов

После выполнения команды:
bcdedit /store C:\bSystem
на диске C: создана папка Boot и файл bootmgr. И содержимое папки и файл отличаются от тех, что находятся в разделе SYSTEM REZERVED. Почему, непонятно.
(хочу освободить раздел)

Ашипка! Команда:
bcdedit /store C:\boot\bcd

Опять! Вот
bcdboot %Windir% /l ru-Ru /s С:
13.09.2016/19:16  okshef

Может в форуме спросите?
01.03.2017/14:32  Mancoffee

Всё сделал (проверил несколько раз), итог:
100Мб - активен, основной, файлы загрузки есть.
Раздел С: (с которого переносил загрузчик) - неактивен естественно, основной, папку Boot удалил дабы проверил, bootmgr оставил - при загрузке "Boot\BCD - not found", возвращаю папку Boot на диск С: - всё работает.
Вопрос - в чём, как говорится - фишка?
01.03.2017/23:18  okshef

Отпишитесь в теме http://forum.oszone.net/thread-158917.html
Только файлы не забудьте приложить
Комментарии отключены. С вопросами по статьям обращайтесь в форум.