Блог did5.ru

Про АйТи и около айтишные темы

Программное зеркало RAID 1 в Windows XP

51 комментарий

raid1 thumb Программное зеркало RAID 1 в Windows XPСохранность данных на жестком диске очень серьезный вопрос. Как обеспечить отказоустойчивость компьютера без дополнительных затрат? Одно из решений сделать программный RAID в Windows штатными средствами. Windows 7 Профессиональная изначально имеет такую возможность, а вот в Windows XP Pro этого сделать нельзя. Это не совсем правда, просто Microsoft убрала из нужного меню пункт создания RAID. И с помощью волшебного бубна и 20 минут времени мы вернем Windows XP данную возможность.

Для этого нам понадобится два HDD IDE, либо SATA (лучше одинаковых, но пойдут и разные по размеру), бесплатный HEX редактор HxD. Один из дисков должен быть пустой и не разбит на разделы. Можно приступать.

raid1 thumb Программное зеркало RAID 1 в Windows XP

Как видно из скриншота ниже, что в контекстном меню нет ничего о зеркале (RAID 1)

raid2 thumb Программное зеркало RAID 1 в Windows XP

1. Преобразовать диски в динамические.

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

raid3 thumb Программное зеркало RAID 1 в Windows XP

raid4 thumb Программное зеркало RAID 1 в Windows XP

raid5 thumb Программное зеркало RAID 1 в Windows XP

После перезагрузки будет такой результат

raid6 thumb Программное зеркало RAID 1 в Windows XP

2. Переходим к редактированию 3-х системных файлов HEX редактором

Копируем три файла в отдельную папку в которой будем их редактировать + создадим резервную копию оригинальных файлов на всякий случай.

C:\Windows\system32\drivers\dmboot.sys
C:\Windows\system32\dmconfig.dll
C:\Windows\system32\dmadmin.exe

Запустить HxD и открываем в нем dmboot.sys

dmboot thumb Программное зеркало RAID 1 в Windows XP

C помощью поиска (Ctrl + F) ищем нужные строки:

74 00 54 00 79 00 70 00 65 00 00 00 57 49 4E 4E
54 00 00 00 53 45 52 56 45 52 4E 54 00 00 00 00

dmboot2 thumb Программное зеркало RAID 1 в Windows XP

Эти две строки заменяем на следующие:

74 00 54 00 79 00 70 00 65 00 00 00 53 45 52 56
45 52 4E 54 57 49 4E 4E 54 00 00 00 00 00 00 00

dmboot3 thumb Программное зеркало RAID 1 в Windows XP

Сохраняем и закрываем файл dmboot.sys.

dmconfig.dll

Ищем:

4C 41 4E 4D 41 4E 4E 54 00 00 00 00 53 45 52 56
45 52 4E 54 00 00 00 00 57 49 4E 4E 54 00 00 00

dmconfig2 thumb Программное зеркало RAID 1 в Windows XP

Заменяем на:

4C 41 4E 4D 41 4E 4E 54 00 00 00 00 57 49 4E 4E
45 52 4E 54 57 49 4E 4E 54 00 00 00 00 00 00 00

dmconfigdll Программное зеркало RAID 1 в Windows XP

dmadmin.exe

Найти:

73 65 72 76 65 72 6E 74 00 00 00 00 6C 61 6E 6D
61 6E 6E 74 00 00 00 00 50 72 6F 64 75 63 74 54

dmadmin thumb Программное зеркало RAID 1 в Windows XP

Заменить на:

77 69 6E 6E 74 00 00 00 00 00 00 00 6C 61 6E 6D
61 6E 6E 74 00 00 00 00 50 72 6F 64 75 63 74 54

dmadmin2 thumb Программное зеркало RAID 1 в Windows XP

C редактированием закончили. Теперь их нужно скопировать на прежние места. Все три файла первым делом копируем в скрытую папку C:\Windows\system32\dllcache.

dmboot.sys  копируем в C:\Windows\system32\drivers\dmboot.sys
dmconfig.dll в C:\Windows\system32\dmconfig.dll
dmadmin.exe в C:\Windows\system32\dmadmin.exe

При копировании файлов Windows будет ругаться, что системные файлы были заменены и предложит восстановить их с установочного диска. Вежливо отказываемся, нажав Отмена.

Перезагружаем компьютер.

После идем в управление дисками (Пуск — compmgmt.msc – Управление дисками) и видим чудо

raid7 thumb Программное зеркало RAID 1 в Windows XP

Появился пункт Добавить зеркало

3. Объединяем диски в зеркало RAID 1

Выбираем системный раздел и в контекстном меню щелкаем по Добавить зеркало…

Выделить нужный диск для создания зеркала, жмем Добавить зеркальный том

raid8 thumb Программное зеркало RAID 1 в Windows XP

С дополнительным разделом проделываем тоже самое

raid9 thumb Программное зеркало RAID 1 в Windows XP

В результате получаем зеркало RAID 1 из двух жестких дисков с двумя логическими разделами.

raid10 thumb Программное зеркало RAID 1 в Windows XP

После создания зеркала начнется регенерация дисков. У меня она заняла примерно 40 минут. Но это зависит от объема дисков.

P.S. После создания RAID в boot.ini прописывается строка:
multi (0) disk (0) rdisk (1) partition (1)\WINDOWS="Boot Mirror C: — secondary plex" — которая будет выводится в качестве варианта загрузки. Чтобы ее убрать снимаем галку скрывать системные файлы и открываем C:\boot.ini текстовым редактором. В нем удаляем не нужную строку и сохраняем файл.

Пример файла boot.ini

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Boot Mirror C: - secondary plex"

Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!


Хотите поблагодарить автора за эту заметку? Вы можете это сделать!


Автор: did5

23 Дек 2010 в 21:50

Рубрика: IT,Windows

Метки: ,

51 комментарий на «Программное зеркало RAID 1 в Windows XP»

Вы можете подписаться на RSS-ленту комментариев или оставить трекбек для публикации «Программное зеркало RAID 1 в Windows XP».

  1. Попробую сегодня. Но есть пару вопросов. Первый. Не нужно ли наличие специальной платы или соответствующий матери с RAID-ом? Просто у меня Intel-овская мать DP43BF. в ней зеркало создается в BIOS При установки на созданное им зеркало все время вне зависимости ни от чего (подключаю или нет драва с RAID) голубая смерть. ВТорой следует из первого. Если, при установки нужно отключить biosовксое зеркало. и установить на один диск, после чего провести описанную Вами операцию следует ли включать в BIOS зеркалирование?

    Unling

    23 Мар 2011 в 08:15

  2. Unling: В данном случае в BIOS нужно выключить RAID, чтобы ОС не вылетала в BSOD и никаких доп.плат не нужно. Копирование будет производить ОС WinXP.

    Если на материнской плате есть поддержка RAID, то можно реализовать железный RAID. Статья в моем блоге did5.ru/it/windows/raid-i...v-windows-7.html

    admin

    23 Мар 2011 в 08:50

  3. Огромное спасибо за ответ

    Комп пришел мне уже с предустановленной семеркой но мне хотелось бы иметь XP с зеркалом

    Unling

    23 Мар 2011 в 09:30

  4. На железный RAID из той статьи можно поставить и Windows XP. В последней строке, где нужно вставить диск с Windows 7 вставляйте диск Windows XP.

    admin

    23 Мар 2011 в 15:49

  5. Не получилось, WinXP SP3 Rus корпоративная, может потому, что строка, которую нужно прописать в config.dll на картинке отличается от той, что в текстовом формате дана? Пробовал и так, и сяк, но безрезультатно...

    Сергей

    25 Апр 2011 в 08:36

  6. Пардон, в dmconfig.dll конечно...

    Сергей

    25 Апр 2011 в 08:37

  7. Сергей: Сейчас сделал все по инструкции на виртуальной машине Win XP SP3 Rus — все заработало. Картинку заменил.

    admin

    26 Апр 2011 в 08:47

  8. Доброго времени суток! проделал данные манипуляции с файлами как изложено выше, после перезагрузки машины в управлении дисками пункт добавить зеркало — появился. Но нажать на него нельзя т.к он неактивен. конфигурация: Windows XP Professional, мать MSI P4M890M-L/IL. жесткие диски

    C: (NTFS) 298.1 Гб (246.3 Гб свободно) samsung

    D: (NTFS) 465.8 Гб (465.7 Гб свободно) seagete

    подскажите что не правильно делаю ?

    Роман

    28 Апр 2011 в 14:49

  9. Роман: Удалите все разделы с диска D (Delete Partition...). Чтобы все свободное пространство стало черного цвета. И после этого создавайте RAID. Если сразу не сработает, то перезагрузите ПК

    admin

    01 мая 2011 в 11:37

  10. У меня вот такая вот трабла... Сделал всё как тут написано — всё работает, НО если отключить диск 0, и попытаться загрузиться с диска 1 (зеркало), вобщем загрузчик-то не пашет, зависает после инициализации биос, перед загрузчиком... ему подавай диск0... Обратно подключаешь диск0 и всё отлично грузиться и можно даже загрузиться с диска1 выбрав в его в загрузчике... так что сдох диск0 и получается что зеркало то не пашет ((( вобщем надо бы еще что-то поднастроить я так понимаю... плиз кто в курсе данной проблемы — отпишитесь... заранее спасибо!)))

    gRUblo

    19 мая 2011 в 10:52

  11. gRUblo: Спасибо за наводку, поэкспериментирую

    admin

    19 мая 2011 в 14:06

  12. gRUblo, если мне не изменяет здравый смысл, то для загрузки с диса 1 в случае падения диска 0 создается вторая загрузочная запись в boot.ini (multi (0) disk (0) rdisk (1) partition (1)\WINDOWS="Boot Mirror C: — secondary plex"), которую автор статьи предлагает удалить.

    Авору: Может все-таки ее стоит сохранить, а для ускорения загузки timeout поставить в 1?

    LizarD

    15 Июн 2011 в 09:52

  13. LizarD: Можно не удалять загрузочную запись для второго диска из boot.ini. Тогда если вылетит диск 1, то система загрузится со второго. Я решил, что лучше буду знать когда это произойдет. Тогда загружусь с live-cd и подправлю файл boot.ini, чтобы загрузился со второго диска.

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

    Тут каждый выбирает свой путь.

    admin

    15 Июн 2011 в 23:17

  14. Сделал все, как написано. Отличие — у меня два разных диска. Диск большего размера разбит на две части. Первая небольшая под систему, вторая точно по размеру второго диска. Вот её и отзеркалил на второй диск.

    С меня пиво...

    инженер

    16 Авг 2011 в 14:48

  15. при попытке преобразования система пишет уведомление «После преобразования этих дисков в динамические диски вы не сможете загружать установленные прежде версии системы с любых томов на этих дисках.Вы действительно хотите выполнить преобразование?» Боюсь делать через rdp система то загрузится?

    gf

    06 Сен 2011 в 16:49

  16. gf: это можно узнать только попробовав. Так что делайте backup файлов или образ диска и в бой. О результате напишите

    admin

    07 Сен 2011 в 09:20

  17. gf: это можно узнать только попробовав. Так что делайте backup файлов или образ диска и в бой. О результате напишите

    Все Будет норм я сделал это, Все работает!! (Делал на 2003 server)

    Damik

    08 Сен 2011 в 08:13

  18. Все сделано правильно а пункт добавить зеркало все таки не активен

    Андрей

    29 Сен 2011 в 13:02

  19. не все так просто

    Андрей

    30 Сен 2011 в 07:36

  20. Есть подозрение, что загрузившись с live-cd доступа к динамическому диску, а соответственно к boot.ini, не получишь.

    Саша

    17 Окт 2011 в 10:50

  21. «Все сделано правильно а пункт добавить зеркало все таки не активен»

    Тоже самое.

    XP Pro SP3 со всеми последними апами.

    Игорь

    01 Ноя 2011 в 19:15

  22. Винда не ругается, и при этом самостоятельно заменяет HeXовые файлы (

    Игорь

    01 Ноя 2011 в 19:22

  23. папки не существует C:\Windows\system32\dllcache.

    Игорь

    01 Ноя 2011 в 19:30

  24. извините. все получилось ((. переработал )

    Игорь

    01 Ноя 2011 в 20:19

  25. Подскажите пож. А если 0 диск умер и строка из файла не удалена, как узнать о том что 0 диск уже отвалился и надо его в темпе вальса менять.

    Андрей Киреев

    25 Янв 2012 в 11:23

  26. Андрей Киреев, нужно установить Intel® Matrix Storage Manager, этот софт показывает состояние RAID'ов и дисков в частности.

    did5

    26 Янв 2012 в 10:43

  27. Здравствуйте,

    Хочу себе сделать зеркалку raid 1 из 2*2тб винтов под файлохранилище. Винда xp sp3 у меня отдельно стоит на ссдшке.

    Вопрос: если я переустановлю винду, сохранятся ли эти 2 винта по 2 тб как один винт на 2 тб с RAID1, или я снова буду видить их как 2 отдельных диска?

    Заранее благодарю за ответ

    Александр

    30 Янв 2012 в 13:22

  28. Александр, после переустановки Windows — это будут два отдельных диска

    did5

    31 Янв 2012 в 08:09

  29. К последнему комментарию вопрос: и как же увидеть рэйд после переустановки винды? Не потеряются ли данные?

    Андрей

    04 Фев 2012 в 22:25

  30. Андрей, после переустановки Windows рейда не будет. Будет два отдельных диска с данными. Если диск разбит на разделы, то форматируем системный раздел, ставим на него Windows. А потом собираем новый рейд по инструкции. Все файлы лучше сохранить в этот момент на внешнем диске.

    did5

    05 Фев 2012 в 13:01

  31. Кнопка заработала только после того, как новым файлам установил атрибут « только чтение» но еще не перегружал.

    Андрей

    16 Мар 2012 в 16:30

  32. Видать Андрейко то перегрузилссо и амба ссадорс)))

    Зоол

    11 Апр 2012 в 09:21

  33. а как на счет windows xp 64 ?

    файлы отличаются

    C:\Windows\system32\drivers\dmboot.sys

    C:\Windows\system32\dmconfig.dll

    C:\Windows\system32\dmadmin.exe

    Рафаиль

    15 мая 2012 в 15:08

  34. Рафаиль, про windows xp 64 ничего сказать не могу

    did5

    16 мая 2012 в 13:46

  35. Нельзя нажать на добавить зеркало ... файлы с пометкой только чтение заменял не помогает ... с помошю рековери консоль подсовывал даже з дискеты файлы , ВСЕРОВНО НЕ РАБОТАет =((( помогите

    Андрій

    06 Июн 2012 в 15:13

  36. Аналогичная проблема Андрею. Все сделал по вашей инструкции, стоит windows xp pro sp3, и кнопка создать зеркало не активна. Раздел под зеркало не распределен, комп перезагружал — не помогает, вот как это выглядит

    Подскажите, что сделать?

    Владислав

    09 Июл 2012 в 17:26

  37. не приложился линк почему-то, вставлю текстом:

    s2.ipicture.ru/Gallery/Viewfull/11692848.html

    Владислав

    09 Июл 2012 в 17:27

  38. Владислав, я с такой проблемой не сталкивался, поэтому готового решения у меня нет. Попробуйте сделать все по инструкции, только на ПК (вирт. машине) с одним разделом на HDD.

    did5

    10 Июл 2012 в 08:38

  39. Разобрался в чем косяк — в собственном ламерстве и невнимательности: пропустил момент про засунуть исправленные dll в cache, пытался заменить длл-ки в работающей системе. После того как заменил их из под live cd ubuntu — все прекрасно заработало, в данный момент идет процесс регенерации. =)

    Спасибо!

    Владислав

    11 Июл 2012 в 15:17

  40. Так приятно посмотреть как «галочники» строят массивы... ))))) Что самое поразительное — 99% участников туташних — банально не знают как устроен СОФТ рейд. Не знают его ПРОСТЕЙШЕГО принцыпа. А вот если бы знали — тут было бы ноль сообщений. К примеру — Когда первый хард скидываешь, типа биос прошёл и всё. О чем говорит? Что на втором диске первый мегабайн не имеет информации чего грузить. Бут сектор господа галочники

    Димон

    16 Дек 2012 в 18:17

  41. Чтобы загрузчик работал, ставьте Windows 7.

    Семёрка создаёт загрузочный раздел на 100мб, а только потом диск для всего остального (к примеру диск C).

    При создании RAID-1 нужно просто сделать зеркало загрузочного раздела, а потом и второго раздела (диска C).

    Vasiliy

    31 Янв 2013 в 21:12

  42. Риспект за инфу. Раньше не интересовался этой проблематикой. Сделал все по прописи. Работает.

    Волнующимся по поводу загрузки со второго диска при отказавшем первом, сообщу (ибо событие отказа произошло сразу при испытаниях — вот так бывает прям сразу только запустил — невольно получил продолжение). Так вот — на втором и последующих дисках (причем последовательность определяется в BIOS) при любом удачном старте ОС занчение байта стартуемого раздела (раздела, где находтся загрузчик) в MBR принудительно будет выставлено 00 (no boot). Для того, чтобы ручками прописать значение байта 80 (boot) нужно в любом случае загрузиться с атернативного носителя (cd, flash и т.п.), запустить редактор диска (или другую утилиту прямого доступа к диску) и подправить этот 447 байт первого сектора диска.

    Ну и само собой далее при запросе загрузчика, с какого раздела грузиться (об этом выше много изложили boot.ini), необходимо выбрать второй. Кстати, после восстановления работоспособности первого диска, регенерация софтового зеркала прошла со свистом, запущенная, есессно, ручками в консоли управления массивами.

    Удачных вам экспериментов.

    Роман

    25 Мар 2013 в 04:34

  43. Подтверждаю, все сделал — все получилось.

    Так же пока не разобрался с вопросом быстрого восстановления системы после сбоя одного диска.

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

    Предполагаемый вариант — на обоих дисках сделать первый загрузочный раздел и не зеркалить его, на втором разделе будет система — его и зеркалить. Соответственно, на обоих загрузочных разделах в boot.ini будут прописаны оба диска.

    Планирую проверить в ближайшее время.

    Bambus

    07 мая 2013 в 06:12

  44. Так и не понял как стандартными средствами можно сделать динамический диск загрузочным? Нелогично получается — если диск до динамического был загрузочным, то он таким и остается, а как сделать загрузочным уже динамический диск? Минус 100500 очков Микрософту за такую глупость.

    Bambus

    08 мая 2013 в 02:09

  45. как сделать загрузочным уже динамический диск?

    fixmbr и fixboot из консоли восстановления не пробовали?

    Puskin

    15 мая 2013 в 21:12

  46. прекрасная статья, но не понятно, как данное зеркало должно нормально функционировать, вот один из жд отключаю, в итоге грузится только с того, на который систему ставил, а когда его отключаю и оставляю второй, то ничего не происходит.

    пупкин

    16 мая 2013 в 18:00

  47. Приветствую!

    Спасибо за статью! Прокатило)

    Все операции производил на Windows XP SP2. Для тех у кого не вышло скажу, что получилось только после того как вернул отредактированные файлы непосредственно туда, откуда брал, а не в папку dllcache.

    Второй диск должен быть динамическим, но не распределенным (черным).

    Олег

    18 Янв 2014 в 01:55

  48. читаем то что написал пользователь

    Димон

    16 Дек 2012 в 18:17

    он как бэ намекнул на шаманство с бут сектором)

    собсно как я думаю в теории... разбить зеркальный диск на 2 логика, первый раздел 100мб, второй по оставшемуся обьему, накатать бут сектор в первый раздел утилитами, а второй раздел обустраивать под зеркало, не думаю что бут сектор нужно зеркалить

    Павел

    07 Фев 2014 в 15:00

  49. год назад коллега сделал рейд по данной инструкции, сейчас винда благополучно слетела. Подскажите возможно ли загрузится с диска на который зеркалилась инфа?

    Артем

    09 Июл 2014 в 09:44

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

    my-files.ru/vqo2q6

    Имейте в виду, что прога сработает если отключена система восстановления системных файлов и она не кидает эти файлы в кеш системы, сбрости их сами. Если система восстановления не отключена, то надо запуститься в безопасном режиме, использовать прогу и скопировать 3 пропатченых файла в кеш системы.

    Всем удачи.

    Ceasar

    21 Авг 2014 в 18:27

  51. Все сделал по вашей инструкции, правда стоит windows server SP2 32 разрядная, и кнопка «создать зеркало»появилась, но не активна.Что делать

    Maikl

    20 Фев 2016 в 11:12

Ваш отзыв