WIM или Windows Image — это формат образа диска на основе файлов, разработанный Microsoft для развертывания Windows. Чтобы лучше понять, ISO или VHD являются секторальными форматами, а WIM — файловым форматом для диска. Если вы реализуете много файлов WIM на нескольких компьютерах, и некоторые из них дают сбой, вот как можно массово отключить или отбросить сбойные WIM.
Причина, по которой WIM полезен, заключается в том, что он не зависит от оборудования, вы можете сделать его загрузочным с помощью WIMBoot. Поскольку загрузчик Windows поддерживает загрузку Windows из файла WIM, развертывание становится проще.
Как отключить или сбросить неисправный WIM
Существует три способа массового отключения или отмены сбойных модулей WIM в системе Windows:
- Метод пути к реестру PowerShell
- Использование метода Dismount-WindowsImage
- Windows PowerShell 7 Параллельный метод
Вы можете использовать любой из этих методов, но последний работает только с PowerShell 7.
1] Способ пути реестра Powershell
Адам Гросс, Microsoft MVP, опубликовал этот метод. Вы можете использовать этот метод, чтобы найти расположение всех подключенных образов, извлечь статус сброса, а затем отключить каждый из них.
Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\WIMMount\Mounted Images" | Get-ItemProperty | Select -ExpandProperty "Mount Path" | ForEach-Object {Dismount-WindowsImage -Path $_ -Discard}
Тем не менее, это приведет к массовому демонтажу сброшенных сбойных WIM один за другим и занимает около 25 секунд каждый.
2] Dismount-WindowsImage метод
Это команда PowerShell, с помощью которой можно отменить или сохранить изменения в образе Windows, а затем отключить его. Так что это не только неудачные, но и работает для всех. Самое приятное, что он может сохранить состояние, если вы планируете временно отключить WIM.
Отменить и демонтировать
Dismount-WindowsImage -Path <String> [-Discard] [-LogPath <String>] [-ScratchDirectory <String>] [-LogLevel <LogLevel>] [<CommonParameters>]
Сохранить и размонтировать
Dismount-WindowsImage -Path <String> [-Сохранить] [-CheckIntegrity] [-Append] [-LogPath <String>] [-ScratchDirectory <String>] [-LogLevel <LogLevel>] [<CommonParameters>]
Пример команды
Dismount-WindowsImage -Path "c:\offline" -Discard
- Путь: указывает местоположение подключенного образа Windows.
- Append: местоположение существующего WIM-файла, к которому добавляется образ Windows при его отключении вместо перезаписи существующего образа.
- Параметр CheckIntegrity обнаруживает и отслеживает повреждение файла .wim.
Таким образом, последняя команда теперь будет выглядеть так ( спасибо Манель ) —
Get-WindowsImage -Mounted | ForEach {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}
3] Массовое отключение сброса сбой WIM с помощью Windows PowerShell 7 Параллельный метод
Он доступен в режиме предварительного просмотра и будет доступен с PowerShell 7. По словам Мерлина, этот новый метод отключил три изображения всего за 10 секунд вместо почти 25 секунд при последовательном запуске.
Get-WindowsImage -Mounted | foreach -Parallel {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}
Это некоторые из лучших методов, которые вы можете использовать для массового демонтажа или сброса неисправных WIM за один раз.
Хотя размонтирование не занимает много времени, но оно может быть огромным для развертывания Enterprise. Параллельный переключатель станет спасительным для многих, поскольку он на пятьдесят процентов быстрее по сравнению с последовательным методом.