دوره‌ های آموزشی نووا
فوریه 6, 2018

آموزش تعمیر ویندوز با دستور sfc

Avatar photo
برنامه نویس MERN Stack
آموزش تعمیر ویندوز با دستور sfc

زمانیکه در ویندوز با خطاهای از قبیل: فایل سیستمی X پیدا نشد یا فایل سیستمی فلان خراب شده است مواجه شدید میتوانید از ابزار System File Checker استفاده کنید. دستور sfc یا System File Checker یکی از ابزارهای کاربردی در ویندوز میباشد که کاربرد اصلی آن، بررسی و جایگزین کردن فایلهای سیستمی خراب شده یا گم شده با فایلهای سیستمی حفظ (WRP) شده است. در واقع با استفاده از دستور sfc میتوان سیستم عامل ویندوز را با cmd تعمیر نمود. در ادامه با آموزش تعمیر ویندوز با دستور sfc همراه با نووا بلاگ دنبال کنید

پیشنهاد: اگر از ویندوز 10 استفاده میکنید بهتر است بعد از دستور sfc از دستور DISM برای تعمیر ویندوز 10 استفاده کنید، برای اطلاعات بیشتر در این زمینه به آموزش تعمیر ویندوز 10 مراجعه کنید.

استفاده از ابزار System File Checker یا دستور sfc

1- ابتدا Command Prompt را به صورت Evelated یا Run As Administrator اجرا کنید. (برای دریافت اطلاعات بیشتر در این زمینه به آموزش راههای اجرای CMD مراجعه کنید.)

2- دستور sfc را به همراه پارامتر /scannow وارد کنید تا فرایند بررسی فایلهای سیستمی ویندوز شروع شود. (توجه کنید فرایند بررسی زمان زیادی را صرف میکند)

sfc /scannow
تعمیر ویندوز با دستور sfc

پیامهای خروجی از دستور sfc /scannow

پس از اتمام فرایند بررسی فایلهای سیستمی با یکی از پیامهای زیر مواجه خواهید شد:

Windows Resource Protection did not find any integrity violations.

اگر با پیام did not find any integrity violations مواجه شوید، یعنی دستور sfc هیچ فایل سیستمی خراب شده یا گمشده ای در ویندوز پیدا نکرده است.

Windows Resource Protection could not perform the requested operation

اگر دستور sfc نتواند فرایند بررسی خود را ادامه دهد یا با مشکل خاصی مواجه شود یا اینکه نیاز به اجرای Offline داشته باشد، پیام could not perform the requested operation را نمایش خواهد داد.

Windows Resource Protection found corrupt files and successfully repaired them. Details are included in the CBS.Log %WinDir%\Logs\CBS\CBS.log:

زمانیکه دستور sfc به خوبی فایلهای سیستمی خراب شده و گمشده را پیدا و با فایلهای WRP جایگزین میکند، پیام found corrupt files and successfully repaired them را به شما نمایش میدهد.

Windows Resource Protection found corrupt files but was unable to fix some of them. Details are included in the CBS.Log %WinDir%\Logs\CBS\CBS.log:

اگر دستور sfc بتواند فایلهای خراب یا گمشده را پیدا کند اما نتواند آنها را با فایلهای WRP جایگزین کند پیام found corrupt files but was unable to fix some of them را به شما نمایش خواهد داد.

اجرای دستور sfc به صورت Offline

متاسفانه در بعضی از موارد دستور sfc نمیتواند فایلها سیستمی را به درستی تعمیر کند. (مثلا زمانیکه فایل مورد نظر در RAM بارگذاری شده باشد) برای اینکه این فایلها را تعمیر کنید یا باید دستور sfc را یا در حالت Safe Mode وارد کنید یا در حال Windows Repair

  • کلید های Start+i را با هم نگه داشته تا وارد پنجره تنظیمات ویندوز 10 شوید
  • وارد بخش Update & Security شوید.
  • بخش Recovery را انتخاب کنید.
  • گزینه Restart Now در قسمت Advanced Startup را انتخاب کنید:
آموزش تعمیر ویندوز
  • گزینه Trubleshoot را انتخاب کنید.
  • وارد بخش Advanced Option شوید.
  • در بخش Advanced Option ابزار Command Prompt را انتخاب کنید.
  • بعد از ریستارت شدن ویندوز حساب کاربری خود را انتخاب کرده و رمز عبور تان را وارد کنید.
  • زمانیکه بخواهید دستور sfc را خارج از ویندوز اجرا کنید، ابتدا باید با دستور wmic مسیر پارتیشن ویندوز و پارتیشن Reserved را پیدا کنید. برای مثال:
Wmic logicaldisk get deviceid, volumename, description
  • بعد از مشخص شدن پارتیشن های Windows و Reserved باید دستور sfc را با مسیر های پیدا شده وارد کنید. برای مثال:
sfc /scannow /offbootdir=C:\ /offwindir=D:\Windows

نکته: در جلوی پارامتر /offbootdir باید آدرس پارتیشن System Reserved را وارد کنید و در جلوی پارامتر /offwindir باید آدرس پارتیشن ویندوز را وارد کنید.

توجه کنید زمانیکه ویندوز را با خط فرمان (Command Prompt) اجرا میکنید ممکن است Letter درایو ها تغییر کند، از اینرو ما نیاز به دستور wmic داریم تا از نقش درایوهای موجود در ویندوز مطمئن شویم. معمولا در ویندوز 10 درایو System Reserved به درایو C:\ تغییر میکند و درایو ویندوز D:\ میشود.

  • بعد از اتمام فرایند بررسی فایلهای سیستمی با دستور sfc پنجره CMD را ببندید و روی گزینه Continue کلیک کنید.

بررسی جزئیات عملکرد دستور sfc

بعد از اتمام فرایند بررسی فایلهای سیستمی، دستور sfc یک خروجی از عملکرد خود درست میکند که شما میتوانید آنرا از مسیر زیر پیدا کنید:

%windir%\Logs\CBS\CBS.log

محتوای خروجی که در فایل CBS.log وجود دارد کمی پیچیده است. برای خوانایی بهتر این فایل میتوانید از دستور findstr استفاده کنید و خروجی را به یک فایل متنی دیگر ارسال کنید. اما با اعمال چند فیلتر ساده، برای مثال:

findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\Sfcdetails.txt"

نکته: فایل Sfcdetails.txt شامل جزئیات کامل از هر بار استفاده از دستور sfc میباشد. این فایل شامل اطلاعاتی از قبیل فایلهای که تعمیر نشده اند است. برای اینکه مطمئن شوید چه فایلهای در آخرین زمان اجرای دستور sfc تعمیر نشده اند باید ابتدا به تاریخ آنها توجه کنید.

پس از اجرای دستور بالا فایل sfcdetails.txt در دسکتاپ ذخیره میشود فایل sfcdetails.txt را با برنامه Notepad باز کنید تا فایلهای که به صورت عادی نتوانسته اند توسط دستور sfc تعمیر شوند را به صورت دستی تعمیر کنید.

محتوای زیر مربوط به یک فایلی میباشد که توسط دستور sfc تعمیر نشده است:

2007-01-12 12:10:42, Info                  CSI    00000008 [SR] Cannot repair member file [l:34{17}]”Accessibility.dll” of Accessibility, Version = 6.0.6000.16386, pA = PROCESSOR_ARCHITECTURE_MSIL (8), Culture neutral, VersionScope neutral, PublicKeyToken = {l:8 b:b03f5f7f11d50a3a}, Type neutral, TypeName neutral, PublicKey neutral in the store, file is missing

تعمیر دستی فایلهای سیستمی خراب شده یا گمشده

اگر به هر دلیلی با روش اول (اجرای sfc در ویندوز) یا روش دوم (اجرای دستور sfc به صورت offline) ابزار sfc نتوانست فایلهای سیستمی خراب شده یا گمشده را تعمیر کند شما باید خودتان این فایلها را به صورت دستی و با Command Prompt تعمیر کنید.

برای تعمیر فایلهای سیستمی به صورت دستی ابتدا باید بدانید چه فایلهای خراب شده اند، برای پیدا کردن این فایلها باید محتوای فایل CBS.log که توسط دستور sfc تولید شده است را بررسی کنید. البته بهتر است نسخه ای که با دستور findstr بازسازی شده است را بررسی کنید، چراکه محتوای آن زودتر شما را به نتیجه خواهد رساند.

سوال: بر فرض مثال فایلهای سیستمی خراب شده یا گم شده را شناختیم از چه منبعی میتوانیم نسخه سالم این فایلها را پیدا کنیم و آنها را جایگزین فایلهای خراب شده یا گمشده کنیم؟

پاسخ: شما میتوانید به سادگی از یک کامپیوتر دیگر که از همان نسخه ویندوز شما استفاده میکند استفاده کرده و فایلهای مورد نیاز سیستم عامل تان را کپی کنید.

جایگزین نمودن فایلهای سیستمی خراب شده یا گم شده با CMD

1- برای جایگزین نمودن فایلهای سیستمی خراب شده باید ابتدا Command Prompt را به صورت Administrator اجرا کنید و مالکیت فایل خراب شده را به خود اطلاق دهید. برای گرفتن مالکیت فایلها میتوانید از دستور takeown به همراه پارامتر /f استفاده کنید. برای مثال:

takeown /f C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Accessibility.dll

نکته: شما باید بجای C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Accessibility.dll آدرس و مسیر فایل خراب شده مورد نظر خویش را وارد کنید.

2- پس از دریافت مالکیت فایل نوبت به ویرایش مجوز فایل میرسد برای این منظور میتوانید از دستور icacls به همراه پارامتر /Grant استفاده کنید. برای مثال:

icacls C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Accessibility.dll /Grant Administrators:F

با اجرای دستور فوق شما مجوز کامل برای ویرایش یا حذف کامل فایل را خواهید گرفت. حال میتوانید با استفاده از دستور Copy یا Xcopy فایل سیستمی سالم را با فایل سیستمی خراب شده جایگزین کنید. برای مثال:

Xcopy H:\WRP\Accessibility.dll C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ /Y

نکته: شما باید همانند دستور قبل آدرسها را با آنچه که خودتان میخواهید جایگزین کنید عوض کنید.

بعد از اجرای دستور بالا میتوانید با استفاده از sfc و پارامتر /verifyfile صحت فایل سیستمی که جایگزین نمودید را بررسی کنید. برای مثال:

sfc /verifyfile=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Accessibility.dll

اگر سوال یا انتقادی نسبت به آموزش تعمیر ویندوز با CMD دارید نووا بلاگ را از محبت خود محروم نکنید.

15 پاسخ به “آموزش تعمیر ویندوز با دستور sfc”

  1. Avatar photo حسن ضرابی گفت:

    با سلام و خسته نباشید خدمت شما
    من با سایت شما تازه آشنا شدم و آموزشهای خیلی کاملی در سایت شما وجود دارد مخصوصا همین آموزش که خیلی عالی توضیح داده شده است و من در هیچ سایتی ندیدم که در این مورد به این صورت انقدر کامل توضیح داده بشود.
    واقعا عالی بود
    ممنونم

  2. Avatar photo میثم گفت:

    عالی بود…ممنون

  3. Avatar photo میثم گفت:

    سلام
    ممنون از توضیحات کاملتون
    بااین روش میشه ایرادات fatal erroوdll رو برطرف کرد؟

    • سلام میثم جان
      با این دستور فایلهای که توسط ویژگی WRP در ویندوز ازشون حفاظت شده بررسی میشن و اگر Integrity (یکپارچگی فایلها) درست نباشه یا حذف و گم شده باشند بررسی و با فایلهای بکاپ ویندوز جایگزین میشن
      فرقی نمیکنه چه فرمتی باشه، حتی هسته (Kernel) سیستم عامل رو هم میشه با دستور sfc تعمیر کرد.
      موفق باشید

  4. Avatar photo مهدی گفت:

    سلام عزیز خسته نباشی
    Sfc نه آنلاین و ن آفلاین نتونست فایل خراب منو میدا کنه و هنوزم ارور 0cx000014ce رو میبینم و میگه فایل خراب یا گم شده
    بنظرت مشکل چیه

  5. Avatar photo شایان گفت:

    سلام من ویندوزهفتم مشکلی که داره بعضی اوقات به وایفاوصل نمیشه یعنی پیدانمی کنه!!!نوارابزارومنواستارت سفیدمی شن همیشه بانرم افزار
    Tweaking.com windos repair
    درست می شدولی این دفعه دیگه هیچ نرم افزاری بالانمی یادApplication error
    (0xc00007b)میزنه این دفعه مجبورشدم دستوراتودستی واردکنم
    دستورات دیگم هست صددرصددرست شه؟

  6. Avatar photo sh گفت:

    باعرض سلام و خسته نباشید
    در بخش cmd برای من پیام Windows Resource Protection found corrupt files but was unable to fix some of them. Details are included in the CBS.Log %WinDir%\Logs\CBS\CBS.log:
    اومده،یعنی الان فایل مخرب پاک شدن یا هنوز توی سیستم هستند؟

  7. Avatar photo محمد گفت:

    سلام من از قسمت استارت ویندوز command prompt رو پیدا میکنم ران از ادمینستور میکنم و sfc/dcannow رو دستی تایپ میکنم اینتر رو میزنم و با پیغام :

    sfc in not recognized as an internal external command operable or problem or batch file

    روبرو میشم

  8. Avatar photo M به توان 2 گفت:

    باسلام…
    و خسته نباشید…
    برای تعمیر فایلهای مثل- conhost- svchost – Kernel – Explorer و چند فایل سیستمی دیگه که همیشه در Startup کار می کنند و ویندوز اجازه دسترسی به اونا رو نمی ده و چون داخل رم هم قرار می گیرند ، بعید بدونم بشه کاری کرد…ضمناً فایل های ویندوز فقط با خود ویندوز کار می کنه و ماکرو سافت هم اونا رو برای جلوگیری از تخریب و هک جوری درست کرده که کس نتونه درشون دست کاری کنه.
    مگه یک برنامه باشه که خودش بوت باشه مثل برنامه های تعمیر پارتیشن و بعضی برای عیب یابی هارد یا خدا بیامرز Dos که خودشون مجزا قبل از بوت ویندوز بالا می یان و به همه فایل ها دست رسی دارن. ضمناً تعمیر این فایل ها بطور کامل و صحیح هم انجام نمی شه که به شانس بستگی داره و باید حتماً ویندوز را عوض کنی….
    باتشکر…

  9. Avatar photo عسکری گفت:

    سلام و وقت بخیر
    مال من فایل ها را پیدا کرد اما نتوانست با WRP جایگذین کند چی کار کنم؟

  10. Avatar photo سیدحسین حسینی گفت:

    سلام میخواستم بگم من مرحله دوم رو انتخاب کردم و طبق دستوراتی که گفتین انجام دادم و بعد پنجره command رو بستم بعد هم کانکت رو زدم کامپیوترم الان به همون حالتی که میخواستم برگشته هم بازی‌ها هست و هم بقیه نرم افزار ها میخواستم بدونم الان کار دیگه ای از مرحله دوم نمونده که انجام بدم؟
    اگه نیست ممنون بابت آموزش فوق العاده تون 🙏🙏🙏🙏🙏🙏

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *