Установка MS-DOS и Windows 7 на один диск

Часто (ну не всем, но некоторым людям) бывает нужно сделать что-нибудь, что сложно или невозможно под Windows, для чего требуется чистый DOS. Например: MHDD, Victoria, DiskEdit, перешить биос кому-нибудь и т.п.
В общем, вчера, устанавливая Win7 на новое железо, довелось мне разобраться, "а как, собсно" оно взаимодействует с другими осями на уровне загрузчика.
Привычного еще с winnt boot.ini там нет. Есть каталог Boot и виндовая утилитка bcdedit.exe - "редактор хранилища данных конфигурации загрузки". Ее и будем юзать.

поехали

есть пустой винт. совсем пустой.
грузимся с дискеты или флэшки с требуемой версией ms-dos, также там должны быть от той же версии доса файлы fdisk.exe и format.exe
fdisk - создаем _один_ основной раздел под дос небольшого размера (мне хватает 2 гига), делаем его активным, перегружаемся, форматируем
nb: если грузились с флэшки, то активным сделать не дает - для этого юзаем diskedit от нортона или n&b
format c: /u /c /s с дискеты (или d: с флэшки)
вытаскиваем дискеты, флэшки, запихиваем dvd с инсталляхой win7, ставим
при выборе, куда ставить, лучше сразу запустить diskpart (через командную строку в инсталляхе - Shift-F10) и вручную создать еще один основной раздел под семерку, и если осталось место - то занять его расширенным разделом, иначе инсталляха семерки создает свои, служебные, разделы.
ставится семерка, грузится, видим, что она встала на C:, а досовский раздел вообще лишен буквы
в "управлении дисками" выдаем досовскому разделу какую-нибудь букву (например, E:)

cmd
bcdedit /create /d "MS-DOS" /application bootsector


в ответ оно говорит некий ID вида {xxxxxx-xxx-xxx-xxx-xxxxxx} - копируем его в буфер, дальше будем вставлять вместо {xIDx}
теперь как описано в интересном месте на форуме микрософта:

bcdedit /set {xIDx} device partition=E:
bcdedit /set {xIDx} path \bootsect.bak
bcdedit /displayorder {xIDx} -addlast


файл bootsect.bak автоматически создается на досовском разделе в процессе установки Windows7. при желании его можно переименовать и соответственно изменить команду.

для проверки можно набрать bcdedit /v, выведется список пунктов меню загрузки, среди них должно быть что-то похожее на вот такое:
Загрузочный сектор реального режима
---------------------
идентификатор           {85723e2d-b89c-11df-a850-f73a00269a4f}
device                  partition=E:
path                    \bootsect.bak
description             MS-DOS
все, можно ребутиться и иметь выбор из Windows 7 / MS-DOS.


на главную