
Есть куча руководств/инструкцийтамкак выполнить SFC-сканирование установки Windows (Vista+), отличной от загруженной, например
Sfc.exe /ScanNow /OffBootDir=E:\ /OffWindir=D:\Windows /OfflogFile=E:\OffBoot.log
Моя проблема в том, что в документации довольно неясно значение следующих фраз /OffBootDir
:
/OFFWINDIR For offline repair, specify the location of the offline windows directory
/OFFBOOTDIR For offline repair, specify the location of the offline boot directory
Я понимаю OFFWINDIR
, но на что именно это OFFBOOTDIR
должно указывать? На диск, где находится хранилище BCD? На что-то еще?
(По-видимому, естьсвязанный вопрос здесьв котором ОП перепутал DISM с SFC. DISM и SFCне делай то же самое; Я не хочу сканировать образ с помощью DISM. Я сделал это, и все в порядке. Я действительно спрашиваю о сканировании SFC "полностью извлеченных" файлов, поэтому, пожалуйста, не отвечайте DISM.)
Конкретнее, у меня есть две установки Win 10, одна и та же сборка, но разные разделы/буквы дисков, и BCD для них находится на 3-й букве/разделе. Одна из установок Win 10 больше не загружается, она находится на [печально] известном черном экране с подвижной стрелкой мыши, но бесконечно вращающимся курсором (и Caps Lock мигает каждые 10 секунд или около того). Я пытаюсь просканировать ее SFC из здоровой/рабочей установки Win 10.
Я могу сканировать работающую установку Win 10 изнутри нее самой, без каких-либо проблем sfc /verifyonly
или sfc /scannow
ошибок или неполадок.
Но указав OFFWINDIR
либо диск BCD, либо «мертвый» установочный диск Win 10, я получил точно такую же ошибку в (двух) журналах (по модулю даты), например
0000129a@2020/7/1:16:02:35.036 (F) onecore\base\wcp\sil\fs_rerooted.cpp(424): Error c0000039 [Error,Facility=(system),Code=57 (0x0039)] originated in function Windows::Rtl::SystemImplementation::CRerootedFileSystemProvider::SysCreateFile expression: (null)
Выяснил, сравнивая два журнала. Поскольку он жалуется на CRerooted
, я подозреваю, что это offbootdir
ему не нравится... (Я понимаю(Кто-то еще сталкивался с такой же ошибкой, но так и не получил ответа, в чем дело.) В остальном диски монтируются нормально, и я вижу файлы.
Для chkdsk
«мертвого» (то есть постоянно вращающегося) установочного диска выдается всего несколько ошибок (в основном AppCrash), несомненно, вызванных принудительным отключением питания, которое мне пришлось применить:
62386 reparse records processed.
Index entry Report.wer in index $I30 of file C801 is incorrect.
Index entry Report.wer in index $I30 of file C831 is incorrect.
Index entry Report.wer in index $I30 of file C8A1 is incorrect.
Index entry Report.wer in index $I30 of file C8BF is incorrect.
Index entry Report.wer in index $I30 of file C915 is incorrect.
Index entry Report.wer in index $I30 of file C9A3 is incorrect.
Index entry Report.wer in index $I30 of file C9B5 is incorrect.
Index entry Report.wer in index $I30 of file C9C3 is incorrect.
Index entry AP1CC0~1.EXE in index $I30 of file 662D5 is incorrect.
Index entry AP1D30~1.EXE in index $I30 of file 662D5 is incorrect.
Index entry AP4032~1.EXE in index $I30 of file 662D5 is incorrect.
Index entry APA3A9~1.EXE in index $I30 of file 662D5 is incorrect.
Index entry APA768~1.EXE in index $I30 of file 662D5 is incorrect.
Index entry AppCrash_dwm.exe_602785ff1ad84b4251fd4d4d968a49205c4997_25529819_50b89d74-3097-4aa9-b867-7c9c3c5dae6a in index $I30 of file 662D5 is incorrect.
Index entry AppCrash_dwm.exe_602785ff1ad84b4251fd4d4d968a49205c4997_25529819_58d875dd-29ab-429e-ba1f-82d14fd237d5 in index $I30 of file 662D5 is incorrect.
Index entry AppCrash_dwm.exe_602785ff1ad84b4251fd4d4d968a49205c4997_25529819_e0e33150-ba5c-471f-98be-c25484e60dae in index $I30 of file 662D5 is incorrect.
Index entry AppCrash_LogonUI.exe_663467edba6d197a625e1e79c1e876af21ec6c_6f8885ad_29c4cfb1-f7d8-4751-819a-ed51573d6a5e in index $I30 of file 662D5 is incorrect.
Index entry AppCrash_LogonUI.exe_663467edba6d197a625e1e79c1e876af21ec6c_6f8885ad_37ed6e37-8e90-4d53-b676-414831b028a4 in index $I30 of file 662D5 is incorrect.
Index entry AP29BE~1.EXE in index $I30 of file 662FC is incorrect.
Index entry AP2A31~1.EXE in index $I30 of file 662FC is incorrect.
Index entry AP4213~1.EXE in index $I30 of file 662FC is incorrect.
Index entry AP5D1D~1.EXE in index $I30 of file 662FC is incorrect.
Index entry AP6F64~1.EXE in index $I30 of file 662FC is incorrect.
Index entry AP8027~1.EXE in index $I30 of file 662FC is incorrect.
Index entry AP8B28~1.EXE in index $I30 of file 662FC is incorrect.
Index entry APB701~1.EXE in index $I30 of file 662FC is incorrect.
Index entry APD8D4~1.EXE in index $I30 of file 662FC is incorrect.
Index entry APD90D~1.EXE in index $I30 of file 662FC is incorrect.
Index entry AppCrash_dwm.exe_602785ff1ad84b4251fd4d4d968a49205c4997_25529819_3c6809aa-e39d-4112-80ed-d9c20f6429b4 in index $I30 of file 662FC is incorrect.
Index entry AppCrash_dwm.exe_602785ff1ad84b4251fd4d4d968a49205c4997_25529819_ebccbc17-b8e5-4ab9-a4f5-738a3378fdf7 in index $I30 of file 662FC is incorrect.
Index entry AppCrash_LogonUI.exe_663467edba6d197a625e1e79c1e876af21ec6c_6f8885ad_08a0074d-89ad-4ae3-a2fe-cc8d74833eb9 in index $I30 of file 662FC is incorrect.
Index entry AppCrash_LogonUI.exe_663467edba6d197a625e1e79c1e876af21ec6c_6f8885ad_195a3824-35fa-4eeb-90f5-cd80e543becf in index $I30 of file 662FC is incorrect.
Index entry AppCrash_LogonUI.exe_663467edba6d197a625e1e79c1e876af21ec6c_6f8885ad_1c50c522-08b8-460e-8f9e-e0d0d09202ac in index $I30 of file 662FC is incorrect.
Index entry AppCrash_LogonUI.exe_663467edba6d197a625e1e79c1e876af21ec6c_6f8885ad_74d589b1-3d92-49fe-bf0b-e6d62a4912b8 in index $I30 of file 662FC is incorrect.
Index entry AppCrash_LogonUI.exe_663467edba6d197a625e1e79c1e876af21ec6c_6f8885ad_8a604bac-dde8-4835-bfb4-c0006a6af03c in index $I30 of file 662FC is incorrect.
Index entry AppCrash_LogonUI.exe_663467edba6d197a625e1e79c1e876af21ec6c_6f8885ad_db10a313-935a-4127-b193-d9fa596ee322 in index $I30 of file 662FC is incorrect.
Index entry AppCrash_LogonUI.exe_663467edba6d197a625e1e79c1e876af21ec6c_6f8885ad_eccb09a4-0826-4648-a1ac-418df36f1328 in index $I30 of file 662FC is incorrect.
Index entry AppCrash_LogonUI.exe_663467edba6d197a625e1e79c1e876af21ec6c_6f8885ad_f1607dcd-f286-4ce4-abbe-a923d06cb11b in index $I30 of file 662FC is incorrect.
662946 index entries processed.
Я смог использоватьAppCrashView
для загрузки отчета об рухнувшей ОС (с /ReportsFolder
указанием /ProfilesFolder
соответствующих каталогов на "мертвой" Win10). Похоже, именно это \WINDOWS\system32\sihost.exe
вызвало крах приложения (отчет) с кодом ошибки 0x80270234
. На самом деле, это был только тот, который сумел попасть в архив, остальные были в WER\ReportQueue
, их было много, так как dwm циклически падал:
Но это не сильно помогает в выяснении причин, по которым программа sfc
отказывается запускаться на «мертвой» ОС, когда другие инструменты, казалось бы, работают с ней нормально.
Хорошо, я исправил несколько ошибок диска во chkdsk /f
время загрузки. Но это не убедило sfc сделать свою работу.
Самое забавное, что теперь я исправил основную проблему, так что оба экземпляра Win 10 теперь загружаются нормально... но sfcвсе ещене удалось просканировать автономную установку, даже после того, как она была на 100% в порядке и загружалась.
Нерабочая установка имела неправильный HKLM/MountedDevices, который я исправил «офлайн», загрузив куст и изменив сопоставление. (Я понял, что сопоставление было не C: в отчетах о сбоях приложения.) Но даже после этого «офлайн» sfc по-прежнему отказывается работать (с той же ошибкой), хотя после изменения установка нормально загружается, и я могу запустить sfc /scannow
ее изнутри. (Никаких сообщений об ошибках не поступало.)
Так что мне кажется, что офлайн-сканирование sfc больше теоретическое, чем реально применимое. Я оставляю это открытым вопросом на случай, если кто-то точно знает, что происходит с sfc offline.