Что делать, если нужно поставить ОС на зеркало, но чипсетного программного 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'ы сравнивать. На этой неделе воспроизведу ещё раз всё это в ВМ