آموزش تعمیر ویندوز با دستور 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 /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”
با سلام و خسته نباشید خدمت شما
من با سایت شما تازه آشنا شدم و آموزشهای خیلی کاملی در سایت شما وجود دارد مخصوصا همین آموزش که خیلی عالی توضیح داده شده است و من در هیچ سایتی ندیدم که در این مورد به این صورت انقدر کامل توضیح داده بشود.
واقعا عالی بود
ممنونم
سلام حسن جان
ممنون از لطف و انرژی مثبتی که به بنده دادید.
ان شا الله شما هم همیشه سربلند و موفق باشید.
عالی بود…ممنون
سلام میثم جان ممنون از محبت تون 🙂
سلام
ممنون از توضیحات کاملتون
بااین روش میشه ایرادات fatal erroوdll رو برطرف کرد؟
سلام میثم جان
با این دستور فایلهای که توسط ویژگی WRP در ویندوز ازشون حفاظت شده بررسی میشن و اگر Integrity (یکپارچگی فایلها) درست نباشه یا حذف و گم شده باشند بررسی و با فایلهای بکاپ ویندوز جایگزین میشن
فرقی نمیکنه چه فرمتی باشه، حتی هسته (Kernel) سیستم عامل رو هم میشه با دستور sfc تعمیر کرد.
موفق باشید
سلام عزیز خسته نباشی
Sfc نه آنلاین و ن آفلاین نتونست فایل خراب منو میدا کنه و هنوزم ارور 0cx000014ce رو میبینم و میگه فایل خراب یا گم شده
بنظرت مشکل چیه
سلام سلامت باشید
از دستور DISM هم استفاده کنید. البته این دستورات فقط برای فایلهای Protect شده ویندوز کاربردی هستند.
موفق باشید.
سلام من ویندوزهفتم مشکلی که داره بعضی اوقات به وایفاوصل نمیشه یعنی پیدانمی کنه!!!نوارابزارومنواستارت سفیدمی شن همیشه بانرم افزار
Tweaking.com windos repair
درست می شدولی این دفعه دیگه هیچ نرم افزاری بالانمی یادApplication error
(0xc00007b)میزنه این دفعه مجبورشدم دستوراتودستی واردکنم
دستورات دیگم هست صددرصددرست شه؟
باعرض سلام و خسته نباشید
در بخش 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:
اومده،یعنی الان فایل مخرب پاک شدن یا هنوز توی سیستم هستند؟
سلام من از قسمت استارت ویندوز command prompt رو پیدا میکنم ران از ادمینستور میکنم و sfc/dcannow رو دستی تایپ میکنم اینتر رو میزنم و با پیغام :
sfc in not recognized as an internal external command operable or problem or batch file
روبرو میشم
باسلام…
و خسته نباشید…
برای تعمیر فایلهای مثل- conhost- svchost – Kernel – Explorer و چند فایل سیستمی دیگه که همیشه در Startup کار می کنند و ویندوز اجازه دسترسی به اونا رو نمی ده و چون داخل رم هم قرار می گیرند ، بعید بدونم بشه کاری کرد…ضمناً فایل های ویندوز فقط با خود ویندوز کار می کنه و ماکرو سافت هم اونا رو برای جلوگیری از تخریب و هک جوری درست کرده که کس نتونه درشون دست کاری کنه.
مگه یک برنامه باشه که خودش بوت باشه مثل برنامه های تعمیر پارتیشن و بعضی برای عیب یابی هارد یا خدا بیامرز Dos که خودشون مجزا قبل از بوت ویندوز بالا می یان و به همه فایل ها دست رسی دارن. ضمناً تعمیر این فایل ها بطور کامل و صحیح هم انجام نمی شه که به شانس بستگی داره و باید حتماً ویندوز را عوض کنی….
باتشکر…
سلام و وقت بخیر
مال من فایل ها را پیدا کرد اما نتوانست با WRP جایگذین کند چی کار کنم؟
سلام میخواستم بگم من مرحله دوم رو انتخاب کردم و طبق دستوراتی که گفتین انجام دادم و بعد پنجره command رو بستم بعد هم کانکت رو زدم کامپیوترم الان به همون حالتی که میخواستم برگشته هم بازیها هست و هم بقیه نرم افزار ها میخواستم بدونم الان کار دیگه ای از مرحله دوم نمونده که انجام بدم؟
اگه نیست ممنون بابت آموزش فوق العاده تون 🙏🙏🙏🙏🙏🙏
سلام
اگر سیستم عامل تون تعمیر شده، نیاز به انجام کار دیگه ای ندارید. خواهش میکنم موفق باشید. 🙂