رفع خطای 0x800F081F و 0x800F0831 در آپدیت ویندوز ۱۱ و DISM
تعمیر Component Store، فایلهای منبع گمشده و بستههای ناقص Windows Update با DISM، SFC و Repair Install امن.
پاسخ کوتاه
خطای 0x800F081F یا 0x800F0831 هنگام آپدیت و DISM چه معنایی دارد؟
این خطاها معمولاً یعنی ویندوز فایل منبع یا بسته وابسته لازم برای تعمیر و نصب آپدیت را پیدا نمیکند. ابتدا Windows Update و کش آن را اصلاح کنید، سپس DISM /RestoreHealth و SFC را اجرا کنید. اگر DISM منبع را پیدا نکرد، از ISO رسمی دقیقاً همنسخه ویندوز بهعنوان repair source یا از Repair Install استفاده کنید.

نقشه تشخیص خطای آپدیت؛ از نشانه به اقدام
بسته و مرحله شکست
شماره KB، کد کامل، نسخه و Build را ثبت کنید. بنویسید مشکل در دانلود، نصب یا راهاندازی مجدد رخ میدهد.
بررسی کمخطر
فضای ذخیرهسازی، برق، اینترنت و راهاندازی مجدد معلق را کنترل کنید. دستگاه کاری را بدون هماهنگی مدیر تغییر ندهید.
آزمایش همان آپدیت
پس از هر اقدام فقط همان بسته را دوباره بررسی کنید. موفق شدن SFC یا DISM بهتنهایی به معنی نصب موفق آپدیت نیست.
خلاصه خطا در یک نگاه
- 0x800F081F: فایلهای منبع تعمیر پیدا نشدهاند
- 0x800F0831: manifest یا بسته وابسته یک Update در دسترس نیست
- ISO تعمیر باید با Edition، زبان و نسخه نصبشده سازگار باشد
- DISM باید پیش از SFC اجرا شود
- Repair Install میتواند فایلها و برنامهها را حفظ کند
- نصب تمیز آخرین گزینه است، نه اولین راهحل
Component Store چیست و چرا تعمیر نمیشود؟
Component Store مخزن نسخههای سیستمی است که Windows Update، افزودن قابلیتها و SFC برای تعمیر از آن استفاده میکنند. اگر بسته پایه یا manifest یک آپدیت ناقص باشد، بسته جدید زنجیره کامل وابستگی را پیدا نمیکند.
دستور DISM /RestoreHealth بهطور پیشفرض فایل سالم را از Windows Update میگیرد. اگر اتصال، سیاست سازمانی یا خود سرویس Update مانع باشد، DISM ممکن است با 0x800F081F متوقف شود. در این حالت منبع رسمی همنسخه لازم است.
استفاده از ISO قدیمی، زبان متفاوت یا Edition نامتناسب میتواند تعمیر را ناموفق کند. پیش از انتخاب Source، winver و Edition را ثبت کنید و فقط رسانه رسمی مایکروسافت را به کار ببرید.
تشخیص علت بر اساس نشانهها
| نشانه یا وضعیت | علت محتمل | اقدام مناسب |
|---|---|---|
| DISM با 0x800F081F متوقف میشود | فایل منبع آنلاین یا محلی پیدا نشده است | اتصال Update را اصلاح یا ISO همنسخه را بهعنوان Source معرفی کنید |
| یک KB با 0x800F0831 شکست میخورد | بسته وابسته یا manifest قبلی ناقص است | کش Update و Component Store را تعمیر و دوباره نصب کنید |
| SFC فایل خراب پیدا میکند ولی تعمیر نمیکند | خود مخزن تعمیر آسیب دارد | ابتدا DISM را کامل کنید و سپس SFC را تکرار کنید |
| چند آپدیت پیاپی شکست میخورند | خرابی عمیقتر یا سیاست سازمانی محتمل است | Repair Install یا بررسی مدیر شبکه را در نظر بگیرید |
راهحل مرحلهبهمرحله
مراحل را به همین ترتیب انجام دهید و پس از هر مرحله دوباره نتیجه را بررسی کنید.
- 1
نسخه دقیق را ثبت کنید
winver را اجرا و Edition، Version و OS Build را یادداشت کنید. برای منبع تعمیر باید همین مشخصات رعایت شود.
winver - 2
عیبیاب و کش Update را اصلاح کنید
عیبیاب Windows Update را اجرا کنید. اگر کد 0x80070002 نیز دیده میشود، ابتدا کش SoftwareDistribution را با راهنمای مرتبط بازسازی کنید.
- 3
Component Store را اسکن و تعمیر کنید
Terminal را با Administrator باز و RestoreHealth را اجرا کنید. اینترنت باید پایدار باشد.
DISM /Online /Cleanup-Image /RestoreHealth - 4
پس از DISM، SFC را اجرا کنید
SFC فایلهای فعال سیستم را با نسخه سالم مخزن مقایسه و جایگزین میکند.
sfc /scannow - 5
در صورت نیاز منبع رسمی معرفی کنید
ISO رسمی همنسخه را Mount کنید و index مناسب install.wim یا install.esd را مشخص کنید. حرف درایو و index در هر سیستم متفاوت است؛ بدون تأیید آنها دستور آماده اینترنتی را کپی نکنید.
- 6
Repair Install را بهعنوان مرحله پایانی انجام دهید
Setup.exe را از ISO همنسخه داخل ویندوز اجرا و Keep personal files and apps را انتخاب کنید. قبل از شروع پشتیبان و کلید BitLocker را نگه دارید.
چطور مطمئن شویم مشکل رفع شده است؟
- DISM پیام The restore operation completed successfully میدهد
- SFC پیام خرابی تعمیرنشده نشان نمیدهد
- KB شکستخورده در Update history با موفقیت نصب شده است
- پس از دو بار ریاستارت، Check for updates خطا ندارد
منبع تعمیر درست فقط یک ISO جدید نیست
DISM برای تعمیر به فایلهایی نیاز دارد که با نصب فعلی سازگار باشند. Edition، معماری، زبان و سطح بهروزرسانی منبع اهمیت دارند؛ ISO قدیمی ممکن است فایل موردنیاز نسخه وصلهشده فعلی را نداشته باشد. اگر فایل install.esd وجود دارد، نمونه دستور مخصوص install.wim را بدون تغییر کپی نکنید. شماره index نیز باید برای Edition صحیح انتخاب شود.
از ابتدا /LimitAccess را به یک دستور عمومی اضافه نکنید؛ این گزینه دسترسی DISM به Windows Update را محدود میکند و وقتی منبع محلی کامل نیست میتواند تعمیر را ناکام بگذارد. تنظیمات WSUS یا Group Policy دستگاه سازمانی را خودسرانه تغییر ندهید. مدیر شبکه باید مسیر دریافت منبع تعمیر را بر اساس سیاست سازمان تنظیم کند.
تفاوت تعمیر مؤلفه و نصب دوباره
موفق شدن SFC بهتنهایی به معنی نصب موفق KB شکستخورده نیست؛ بعد از DISM و SFC همان آپدیت را دوباره بررسی کنید. اگر مشکل باقی است، گزارش DISM در Windows\Logs\DISM و CBS در Windows\Logs\CBS برای بررسی تخصصی مفیدند. این گزارشها ممکن است مسیرهای کاربر یا اطلاعات دستگاه داشته باشند؛ فایل کامل را عمومی منتشر نکنید.
در Repair Install، setup.exe باید از داخل ویندوز بالا آمده اجرا شود و گزینه Keep personal files and apps قابل انتخاب باشد. بوت از فلش این مسیر حفظ برنامهها نیست. اگر گزینه موردنظر موجود نیست، ادامه ندهید و تطابق رسانه را بررسی کنید. در هر حالت پیش از تعمیر بزرگ، پشتیبان مستقل و کلید بازیابی BitLocker ضروریاند.
چه زمانی ادامه ندهیم و کمک بگیریم؟
- ISO نامتناسب با زبان یا Edition را بهعنوان Source استفاده نکنید
- فایلهای WinSxS را دستی حذف نکنید
- اگر دستگاه تحت مدیریت سازمان است، سیاست WSUS را خودسرانه تغییر ندهید
- پیش از Repair Install از اطلاعات و Recovery Key پشتیبان بگیرید
پرسشهای پرتکرار
DISM را قبل از SFC اجرا کنیم یا بعد؟
وقتی Component Store مشکوک است، ابتدا DISM /RestoreHealth و سپس sfc /scannow اجرا شود؛ زیرا SFC برای جایگزینی فایلها به مخزن سالم نیاز دارد.
آیا 0x800F081F فقط مربوط به .NET Framework است؟
خیر. هنگام افزودن قابلیتهایی مثل .NET نیز رایج است، اما در Windows Update یا DISM هر زمان فایل منبع لازم پیدا نشود ممکن است دیده شود.
Repair Install فایلها را پاک میکند؟
اگر Setup از داخل ویندوز و با رسانه سازگار اجرا شود، گزینه Keep personal files and apps میتواند فایلها و برنامهها را حفظ کند؛ بااینحال پشتیبان ضروری است.
از کجا index فایل WIM را بفهمیم؟
DISM /Get-WimInfo برای فایل install.wim یا install.esd فهرست indexها را نشان میدهد. index باید با Edition نصبشده یکسان باشد.