Windows 7 и Windows XP на одном компьютере, но с разными HDD

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

На компьютере 2 жестких диска.На 1-м XP, на 2-м Win7.
Когда ставил Win7,то 1-й полностью отключил.Теперь ,чтобы переключаться с одной системы на другую надо идти в BIOS.
Можно ли поменять «boot.ini» в XP,чтобы была опция выбора загрузки Win7 со 2-го диска и что нужно сделать соответственно в Win7 на 2-м диске,чтобы чтобы была опция выбора загрузки XP с первого диска.

Насколько я понял, ситуация следующая: на компе стояла ХР, на первом HDD. Появился второй HDD  и на него была установлена  Windows 7. Однако проблема в том, что Win7 не увидела другой ОС во время установки, и как следствие, не подправила свой boot manager. Данной ситуации не было бы, если:

  • Не отсоединялся первый винчестер
  • Windows 7 ставилась бы на тот же винт

Но, это было бы идеально. Однако есть проблема, давайте её решать.

Все описанные действия в статье, я не буду проделывать на своём рабочем буке. Этот материал ТЕОРЕТИЧЕСКИЙ, однако это не значит, что он не верен. Помните, перед данными действиями лучше сделать бэкап.

Со времён Windows Vista, мелкософт заряжает в комплект ОС замечательную системную утилиту: BCDEDIT.

Чтобы просмотреть текущие разделы, нужно выполнить: win+r (или пуск->выполнить). И прописываем туда bcdedit. Запускать только под администратором.

В разделе «Загрузка Windows» есть 4 основных записи:

  • Идентификатор — то, как винда назвала текущую запись загрузки.
  • Device — собственно девайс или раздел, с которого грузится Windows
  • Path — путь к загрузчику
  • Description — описание, которое появляется в выборе операционок перед загрузкой.

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

Есть записи, с в {} скобках. В них возможны следующие стандартные варианты:

{bootmgr} — менеджер загрузки

{current} — текущая операционная система,  загружающаяся сразу.

{default} — ОС выбранная по-умолчанию.

{ntldr} — загрузчик Windows XP

Заметим, что {ntldr} — это то, что нам нужно. Осталось разобраться, как добавить запись в менеджер загрузок. Более подробный хэлп, для самостоятельного изучения можно получить выполнив команду: bcdedit /?

Перед изменением, рекомендую сделать бэкап(резервную копию) текущих настроек: bcdedit /export C:\backupmyBCD

Восстановить его обратно можно командой: bcdedit /import c:\backupmyBCD

Приступаем к созданию записи. Прежде всего, загрузитесь в Windows 7 с подключенными двумя HDD. Посмотрите, какую букву присвоила WIN7 разделу с установленной WINDOWS XP. Это может быть диск F, E,H — не удивляйтесь. Допустим, что раздел с XP у меня E. Вы должны указать будете свой раздел:

bcdedit /create {ntldr} /d «Windows XP»
bcdedit /set {ntldr} device partition=E:
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast

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

bcdedit /timeout 5 — Установит время выбора ОС в 5 секунд.

bcdedit /delete {ntldr} /f — Удалит раздел с Windows XP, который мы только что создали.

bcdedit /displayorder {ntldr} /addfirst — Сделает Windows XP, в списке, первой.

Собственно этих действий должно быть достаточно. Хочу так же отметить, что есть сторонние софтины для редактирования MBR (master boot record), однако действия их сомнительны и они не всегда работают.

Данный метод также подходит, если у вас 2 операционки на одном винчестере.

Если у вас есть уточнения, пишите, исправлю пост.

Картинки по теме



Рекомендую прочитать:

About arti

Php-программист со стажем в 5 лет. Люблю путешествовать и знакомиться с новыми людьми. Женат на самой красивой и лучшей девушке в мире: Дашеньке.

, , , ,

  • A.Lex

    Пробовал то,что Вы предлагаете.

    Не получилось!!!

    Во-первых строки:

    bcdedit /create {ntldr} /d «Windows XP»

    bcdedit /set {ntldr} device partition=E:

    bcdedit /set {ntldr} path \ntldr

    bcdedit /displayorder {ntldr} /addlast

    Не совсем так должны выглядеть. А именно первая строка в таком написании не пройдёт!!

    Надо так: bcdedit /create {ntldr}

    потом так:bcdedit /description «Windows XP»

    ну а потом уж и все остальные строки:

    bcdedit /set {ntldr} device partition=E:

    bcdedit /set {ntldr} path \ntldr

    bcdedit /displayorder {ntldr} /addlast

    Я правда заменил последнюю строку на: bcdedit /displayorder {ntldr} /addfirst

    Установил время выбора ОС в 5 секунд: bcdedit /timeout 5

    Но вот беда — менюшка появляется при загрузке, выводит обе строки: Windows XP и Windows 7, причём Windows 7 на второй строке и курсор стоит на ней.

    Перемещаю курсор на Windows XP и жму Ввод и компьютер ПЕРЕГРУЖАЕТСЯ, а не запускает Windows XP!!!!!

    Что делать?

    В Windows 7 диск с Windows XP имеет букву E.

    Может надо прописать не просто диск Е, а какой это диск в компьютере — Disk0, 1 или 2.

  • A.Lex

    Из командной строки дополнительная запись? которая находится между записями из первого рисунка выглядит так:

    Загрузчик прежних версий ОС Windows

    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    идентификатор {ntldr}

    device partition=E:

    path \ntldr

    description Windows XP

    Наверное ещё что-то надо дописать?

  • arti

    @A.Lex

    Странности, а не пишет никакой ошибки? при загрузке? Попробуйте сменить master\slave на разных HDD через Bios.

    Кстати, команда, о которой вы говорите, у меня выполняется успешно за раз. belportal.info/p/?v=ntdlr.png

    Для установки ОС выбранной по умолчанию, нужно выполнить команду:

    bcdedit /default {ntdlr}

  • arti

    А ещё, в команда:

    bcdedit /? FORMATS

    говорит, что можно пользоваться вот этип:

    device Устройство может принадлежать одному из следующих типов:

    BOOT

    PARTITION=< диск>

    HD_PARTITION=< диск>

    FILE=[< родительское_устройство>]< путь>

    RAMDISK=[< родительское_устройство>]< путь>,< ИД_параметров>

    VHD=[< родительское_устройство>]< путь>,< пользовательский_элемент>

    Т.е. возможно выполнить что-то вроде:

    bcdedit /set {ntldr} device partition=E:

    bcdedit /set {ntldr} device hd_partition=disk0

  • A.Lex

    Немного порылся в интернете и похоже первая строка должна выглядеть так:

    bcdedit /create /d «Название пункта меню» /application osloader

  • A.Lex

    @arti

    А у меня пишет ошибку

  • A.Lex

    arti :

    @A.Lex

    Странности, а не пишет никакой ошибки? при загрузке? Попробуйте сменить master\slave на разных HDD через Bios.

    Кстати, команда, о которой вы говорите, у меня выполняется успешно за раз. belportal.info/p/?v=ntdlr.png

    Для установки ОС выбранной по умолчанию, нужно выполнить команду:

    bcdedit /default {ntdlr}

    А у меня пишет ошибку

  • A.Lex

    Кстати, команда, о которой вы говорите, у меня выполняется успешно за раз. belportal.info/p/?v=ntdlr.png

    У меня не проходит сея команда

  • La2ha

    У мя все пашет, сделал все в точности как ниписал автор, и все скпер, на других сайтах находил что надо писать bcdedit /set {ntldr} device partition=С: вместо bcdedit /set {ntldr} device partition=E: и при загрузке XP писало что не может найти ntldr, а щас все супер!!!

  • Виталий

    в первой строке надо писать «Windows XP», а «Windows XP»

    • Erbol

      это точно. Но это мелочь. У меня вот после ввода строки

      bcdedit /set {ntldr} device partition=E:

      пишет указано недопустимое устройство (у меня 2харда, на 1м- 7ка, на втором-ХР, на диске Е)

      • Erbol

        Ой, сорри, написал Partion, вместо Partition. Будьте внимательны ! :)

  • Николай

    Объясните пожалуйста,устанавливаю две системы на два разных HDD.Не отключая оба.Сначала XP,затем Windows 7,устанавливаются нормально обе системы работают не мешая друг другу,но при переустановке одной из них перестаёт загружаться другая-как правильно устанавливать? Если можно и не трудно-попроще,я не великий программист,заранее благодарен...Николай