چگونه یک WIM ناموفق را در یک سیستم ویندوز جدا کنیم یا کنار بگذاریم

WIM یا Windows Image یک فرمت تصویر دیسک مبتنی بر فایل است که توسط مایکروسافت(Microsoft) برای استقرار ویندوز(Windows) ایجاد شده است. برای درک بهتر، ISO یا VHD قالب‌های مبتنی بر بخش هستند، در حالی که WIM یک فرمت مبتنی بر فایل برای دیسک است. اگر فایل‌های WIM زیادی را روی چندین رایانه پیاده‌سازی می‌کنید و برخی از آنها با مشکل مواجه می‌شوند، در اینجا نحوه جدا کردن یا دور انداختن انبوه WIM‌های ناموفق آورده شده(WIMs) است.

دلیل مفید بودن WIM این است که مستقل از سخت افزار آن، می توانید آنها را با استفاده از WIMBoot قابل بوت کنید . از آنجایی که بوت لودر ویندوز(Windows) از بوت کردن ویندوز(Windows) از داخل یک فایل WIM پشتیبانی می کند، استقرار آن آسان تر می شود.

چگونه یک WIM ناموفق را جدا کنیم یا کنار بگذاریم

سه راه برای جدا کردن یا دور انداختن WIMهای(WIMs) ناموفق به صورت انبوه در سیستم ویندوز(Windows) وجود دارد:

  1. روش مسیر رجیستری PowerShell
  2. با استفاده از روش Dismount-WindowsImage
  3. Windows PowerShell 7 روش موازی(Parallel)

شما می توانید از هر یک از این روش ها استفاده کنید، اما روش آخر فقط با PowerShell 7 کار می کند .

1] روش مسیر رجیستری پاورشل

آدام گراس، یک MVP مایکروسافت، این روش را ارسال(posted this method) کرد. می توانید از این روش برای پیدا کردن مکان همه تصاویر نصب شده، استخراج وضعیت حذف و سپس جدا کردن هر یک از آنها استفاده کنید.

Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\WIMMount\Mounted Images" | Get-ItemProperty | Select -ExpandProperty "Mount Path" | ForEach-Object {Dismount-WindowsImage -Path $_ -Discard}

با این حال، این کار WIM های ناموفق را یک(WIMs one) به یک به صورت انبوه کنار می گذارد و هر کدام حدود 25 ثانیه طول می کشد.

2] روش Dismount-WindowsImage

این یک دستور PowerShell است که می تواند برای حذف یا ذخیره تغییرات در یک تصویر ویندوز(Windows) و سپس حذف آن استفاده شود. بنابراین این فقط در مورد شکست خوردگان نیست، بلکه برای همه کار می کند. بهترین بخش این است که اگر قصد دارید یک WIM را به طور موقت جدا کنید، می تواند وضعیت را نجات دهد.

برای دور انداختن و پیاده کردن(To Discard and dismount)

Dismount-WindowsImage
-Path <String>
[-Discard]
[-LogPath <String>]
[-ScratchDirectory <String>]
[-LogLevel <LogLevel>]
[<CommonParameters>]

برای ذخیره و پیاده کردن(To Save and Dismount)

Dismount-WindowsImage
-Path <String>
[-Save]
[-CheckIntegrity]
[-Append]
[-LogPath <String>]
[-ScratchDirectory <String>]
[-LogLevel <LogLevel>]
[<CommonParameters>]

نمونه فرمان(Sample Command)

Dismount-WindowsImage -Path "c:\offline" -Discard
  • Path:  مکان تصویر نصب شده ویندوز(Windows) را مشخص می کند.
  • Append:  محل یک فایل .wim موجود برای افزودن تصویر ویندوز(Windows) هنگام جدا کردن آن به جای بازنویسی تصویر موجود.
  • پارامتر CheckIntegrity خرابی فایل .wim(CheckIntegrity) را شناسایی و ردیابی می کند.

بنابراین دستور نهایی اکنون شبیه ( با تشکر مانل(Thanks Manel) ) خواهد بود -

Get-WindowsImage -Mounted | ForEach {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}

3] حذف انبوه (Bulk)WIMهای(WIMs) ناموفق با استفاده از روش موازی (Parallel)Windows PowerShell 7

نحوه جدا کردن یا دور انداختن انبوه WIMهای ناموفق

به صورت پیش نمایش در دسترس است و با PowerShell 7 در دسترس خواهد بود .  به گفته مرلین(According to Merlin) ، این روش جدید سه تصویر را در کمتر از 10 ثانیه به جای تقریباً 25 ثانیه هنگام اجرا به صورت متوالی، حذف کرد.

Get-WindowsImage -Mounted | foreach -Parallel {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}

اینها برخی از بهترین روش هایی هستند که می توانید برای جدا کردن انبوه یا دور انداختن WIM های(WIMs) ناموفق در یک حرکت استفاده کنید.

در حالی که باز کردن یکی زمان زیادی نمی برد، اما این می تواند برای استقرار Enterprise بسیار بزرگ باشد. (Enterprise)سوئیچ موازی برای بسیاری نجات دهنده زندگی خواهد بود، زیرا در مقایسه با روش متوالی پنجاه درصد سریعتر است.



About the author

من یک مهندس نرم افزار و وبلاگ نویس با نزدیک به 10 سال تجربه در این زمینه هستم. من در ایجاد بررسی ابزارها و آموزش‌ها برای پلتفرم‌های مک و ویندوز، و همچنین ارائه نظرات تخصصی درباره موضوعات توسعه نرم‌افزار تخصص دارم. من همچنین یک سخنران و مدرس حرفه ای هستم و در کنفرانس های فناوری در سراسر جهان ارائه کرده ام.



Related posts