Что делать, если нужно поставить ОС на зеркало, но чипсетного программного RAID нет, а установить дополнительный дополнительный контроллер не позволяет бюджет? В данной статье мы рассмотрим процедуру организации загрузки Windows Server 2019 с программного зеркала, а так же особенности восстановления.
Стоит заранее оговориться, что такая конфигурация хоть и позволяет немного сэкономить на контроллере, повысив отказоустойчивость в сравнении с установкой ОС на одиночный накопитель, но в итоге из-за человеческого фактора может привести к снижению отказоустойчивости из-за роста вероятности допустить ошибку.
В Windows есть два механизма создания программных массивов — на основе динамических дисков и на основе Storage Spaces. При этом только первый из них позволяет зеркалировать раздел с системой. Краткое описание процедуры при загрузке через UEFI:
- Установить ОС на одиночный диск.
- Создать на втором диске идентичные разделы.
- Преобразовать оба диска в динамические.
- Зазеркалировать системный раздел первого диска на второй диск.
- Обеспечить возможность загрузки с любого из дисков — настроить дополнительный пункт в загрузочном меню и скопировать конфигурацию бутменеджера, т. е. по сути скопировать содержимое EFI-раздела с первого диска на второй.
- EFI 260 МиБ
- MSR 16 МиБ
- системный раздел — в данном случае, для примера, на всё оставшееся пространство
DISKPART> sel dis 0 Disk 0 is now the selected disk. DISKPART> lis par Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 System 260 MB 1024 KB Partition 2 Reserved 16 MB 261 MB Partition 3 Primary 99 GB 277 MB
DISKPART> con gpt DiskPart successfully converted the selected disk to GPT format. DISKPART> lis par Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 Reserved 15 MB 17 KB DISKPART> sel par 1 Partition 1 is now the selected partition. DISKPART> delete par override DiskPart successfully deleted the selected partition.
DISKPART> crea par efi size=260 DiskPart succeeded in creating the specified partition. DISKPART> crea par msr size=16 DiskPart succeeded in creating the specified partition. не создавать!: DISKPART> crea par pri DiskPart succeeded in creating the specified partition. DISKPART> lis par Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 System 260 MB 1024 KB Partition 2 Reserved 16 MB 261 MB * Partition 3 Primary 99 GB 277 MB
DISKPART> sel dis 0 Disk 0 is now the selected disk. DISKPART> con dyn DiskPart successfully converted the selected disk to dynamic format. DISKPART> sel dis 1 Disk 1 is now the selected disk. DISKPART> con dyn DiskPart successfully converted the selected disk to dynamic format.
DISKPART> sel vol C Volume 3 is the selected volume. DISKPART> add disk=1 DiskPart succeeded in adding a mirror to the volume.
DISKPART> sel dis 1 Disk 1 is now the selected disk. DISKPART> lis dis Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 100 GB 0 B * * * Disk 1 Online 100 GB 0 B * * DISKPART> lis par Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 System 260 MB 1024 KB Partition 4 Dynamic Reserved 1024 KB 261 MB Partition 2 Reserved 15 MB 262 MB Partition 3 Dynamic Data 99 GB 277 MB Partition 5 Dynamic Data 1007 KB 99 GB DISKPART> sel par 1 Partition 1 is now the selected partition. DISKPART> assign letter = S DiskPart successfully assigned the drive letter or mount point. DISKPART> format fs=FAT32 quick 100 percent completed DiskPart successfully formatted the volume. DISKPART> sel dis 0 Disk 0 is now the selected disk. DISKPART> lis par Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 System 260 MB 1024 KB Partition 4 Dynamic Reserved 1024 KB 261 MB Partition 2 Reserved 15 MB 262 MB Partition 3 Dynamic Data 99 GB 277 MB Partition 5 Dynamic Data 1007 KB 99 GB DISKPART> sel par 1 Partition 1 is now the selected partition. DISKPART> assign letter=P DiskPart successfully assigned the drive letter or mount point.
bcdedit /enum
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=P:
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale en-US
inherit {globalsettings}
bootshutdowndisabled Yes
default {current}
resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9}
displayorder {current}
{4e02bc92-f967-11eb-bb60-dc5f81ee32a9}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.efi
description Windows Server
locale en-US
inherit {bootloadersettings}
recoverysequence {4e02bc8f-f967-11eb-bb60-dc5f81ee32a9}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9}
nx OptOut
Windows Boot Loader
-------------------
identifier {4e02bc92-f967-11eb-bb60-dc5f81ee32a9}
device partition=C:
path \Windows\system32\winload.efi
description Windows Server - secondary plex
locale en-US
inherit {bootloadersettings}
recoverysequence {4e02bc8f-f967-11eb-bb60-dc5f81ee32a9}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9}
nx OptOut
bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned"
The entry was successfully copied to {4e02bc94-f967-11eb-bb60-dc5f81ee32a9}.
bcdedit /set {4e02bc94-f967-11eb-bb60-dc5f81ee32a9} device partition=s:
P: bcdedit /export P:\EFI\Microsoft\Boot\BCD2 robocopy p:\ s:\ /e /r:0 Rename s:\EFI\Microsoft\Boot\BCD2 BCD Del P:\EFI\Microsoft\Boot\BCD2
Временное отключение одного из дисков
sel vol C add disk=0
Замена диска на новый
Другой, более вероятный сценарий — первый диск вышел из строя, и мы заменили его на новый. В этом случае нужно повторить процедуру, выполненную после установки системы. Добавляется два нюанса:bcdedit /enum
Windows Boot Manager
--------------------
identifier {bootmgr}
device unknown
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale en-US
inherit {globalsettings}
bootshutdowndisabled Yes
default {default}
resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9}
displayorder {default}
{current}
{3df44507-f920-11eb-9dd3-080027bb0bb1}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
-------------------
identifier {default}
device unknown
path \Windows\system32\winload.efi
description Windows Server
locale en-US
inherit {bootloadersettings}
recoverysequence {4e02bc8f-f967-11eb-bb60-dc5f81ee32a9}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice unknown
systemroot \Windows
resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9}
nx OptOut
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.efi
description Windows Server - secondary plex
locale en-US
inherit {bootloadersettings}
recoverysequence {4e02bc8f-f967-11eb-bb60-dc5f81ee32a9}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9}
nx OptOut
Windows Boot Loader
-------------------
identifier {3df44507-f920-11eb-9dd3-080027bb0bb1}
device partition=C:
path \Windows\system32\winload.efi
description Windows Server - secondary plex - secondary plex
locale en-US
inherit {bootloadersettings}
recoverysequence {4e02bc8f-f967-11eb-bb60-dc5f81ee32a9}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9}
nx OptOut
The system cannot find the file specified.
**********
bcdedit /delete {default}
bcdedit /set {bootmgr} device partition=p:






Здравствуйте
ОтветитьУдалить"Придётся править загрузчик, удалив исправив пункт, ссылающийся на уже недоступный раздел. В данном примере это {default}, так как мы заменили первый диск".
Можете расписать как это сделать? Завис на этом моменте. Когда копирую EFI на новый вставленный диск, говорит: "Не удается найти указанный файл"
Добрый день.
УдалитьСмутно помню, там нужно GUID'ы сравнивать. На этой неделе воспроизведу ещё раз всё это в ВМ