[Цитировать]

    bighead
  • 29484
  • Стаж: 3 года 1 месяц
  • Сообщений: 399
  • Репутация:24

    [+] [-]
DISM /Online /Cleanup-Image /RestoreHealth
Меня лично много раз выручал.

[Цитировать]

    rezorustavi
  • 2337
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 918
  • Репутация:55

    [+] [-]
  • Откуда: Грузия, город Рустави
bighead,
Я лично за chkdsk, как писал выше, во время загрузки системы.
Возможно в Modern Tweaker-е будет реализована функция chkdsk в КМ рабочего стола, с подсказкой, что будет выполненно во время следующего запуска системы. Обсуждаем этот вариант с уважаемым разработчиком твикера. Скоро будет финал, для всех, до Нового Года это точно, возможно и быстрее. Чисто тому, кто готов тщательно потестировать на чистой, оригинальной системе, где не прменялись другие твики, то есть не на сборках и не перетвикерной системы, с пояснениями, что именно надо протестировать, ( у разработчика и у меня это все работает, я лично тестирую на Windows 10 LTSC 1809, единственное на данный момент у меня не сработал запуск с КМ рабочего стола, от имени TI, запуск редактора рееста. Возможно вина моей системы, надо выяснить. ) дам на тест префинал, от 15.11.2022, исключительно для личного тестирования, пишите в личку. Разработчик дал только для меня, но я попросил разрешения, чтобы дать на тест узкому кругу, которые действительно понимают, что делают и готовы потестировать.


Последний раз редактировалось: rezorustavi (2022-11-15 12:55), всего редактировалось 1 раз

[Цитировать]

    bighead
  • 29484
  • Стаж: 3 года 1 месяц
  • Сообщений: 399
  • Репутация:24

    [+] [-]
rezorustavi, chkdsk исправляет ошибки в файловой системе, sfc проверяет системные файлы, но не всегда может восстановить повреждения, тогда помогает DISM /Online /Cleanup-Image /RestoreHealth . Но они могут не отработать на модах винды, так как там что-то обычно вырезано.
А chkdsk я использую обычно из-под winpe, он там и быстрее отрабатывает.

[Цитировать]

    rezorustavi
  • 2337
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 918
  • Репутация:55

    [+] [-]
  • Откуда: Грузия, город Рустави
98202А chkdsk я использую обычно из-под winpe, он там и быстрее отрабатывает.
В AdminPE есть такой скрипт, в КМ дисков, да, он работает, но что не нравятся в этом плане winpe, что при выключении, winpe не завершают работу, как положенно, выключают комп резко, что опять не хорошо для файловой системы! Я на rutraker-е давно писал автору AdminPE, про этот косяк быстрого выключения, а он ответил, мол если не имеет обращения к диску, то с системой ничего не случится, вот теперь докажи что не верблюд ( я не Вас имею ввиду, на себя не берите ) В AdminPE, то я пользую, исключительно для обращения к жесткому диску, к примеру, удаляю разделы, закатываю заливку Акронисом, либо снимаю клон, переобразовываю без потери данных GPT в MBR и обратно с пересозданием загрузчиков...


Последний раз редактировалось: rezorustavi (2022-11-15 13:18), всего редактировалось 2 раз(а)

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 10 лет
  • Сообщений: 2599
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
98201единственное на данный момент у меня не сработал запуск с КМ рабочего стола, от имени TI
rezorustavi, Приветствую! aa
И не сработает, так как команда выполняется от имени системы, а рабочий стол текущего пользователя имеет другой путь.
Проще говоря, например, если выполнить переменную %USERPROFILE% от имени текущего пользователя то нас перекинет в каталог текущего пользователя "C:\Users\Vasya_Pupkin", а если выполнить переменную %USERPROFILE% из под SYSTEM (а SYSTEM и является текущим пользователем при выполнении команд через TrustedInstaller) то нас перекинет в каталог "C:\Users\Default". Чуете в чём разница и где подвох?
Так что выполнение команд с привилегиями TrustedInstaller категорически должны избегать путей и каталогов текущего юзера.

[Цитировать]

    rezorustavi
  • 2337
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 918
  • Репутация:55

    [+] [-]
  • Откуда: Грузия, город Рустави
sergeysvirid, Приветствую! aa
Огромное спасибо за подсказку! az
Update:
Редактор реестра в твикере разработчик подправил.
Добавлено через 1 час 39 минут 2 секунды:
aa Дорогие друзья! Помогите пожалуйста прописать к примеру в
chkdsk C: /f /r /x
pause
Либо другой вариант, чтобы после запуска батника, планировался запуск сканирования и исправления chkdsk, поврежденной файловой системы дисков, именно при следующей загрузки, постоянно так:

А не делал этого из под живой системы, если удается заблокировать текущий диск, флешку, несистемный, дополнительный HDD, SSD.

[Цитировать]

    bighead
  • 29484
  • Стаж: 3 года 1 месяц
  • Сообщений: 399
  • Репутация:24

    [+] [-]
rezorustavi, сделать то можно, но по мне так это жуть жуткая))) Так как проверяется она сугубо говоря из-под доса, возможно утилита 16-битная, и по скорости она ужасно долгая. По этой причине chkdsk из-под winpe отрабатывает диск значительно быстрее.
Кстати ключ /R не рекомендуют использовать как раз из-за увеличения времени. Если есть физические проблемы с винтом, то лучше сразу викторией или аналогичной утилитой обрабатывать.
Т.е. chkdsk C: /f /x - за глаза.
Добавлено через 19 минут 44 секунды:
Насчёт предварительной проверки:
За неё отвечает утилита autochk
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
Здесь есть:
BootExecute по умолчанию значение autocheck autochk *
Чтобы началась проверка любого диска надо добавить
autocheck autochk /r \??\C:
Если диск D, соответственно
autocheck autochk /r \??\D:
/r - значит будет ужасно долгая побайтная проверка.
autocheck autochk /p \??\D: - быстрая проверка и восстановление.
Общее значение BootExecute с проверкой будет:
autocheck autochk /p \??\d:
autocheck autochk *


Последний раз редактировалось: bighead (2022-11-15 19:47), всего редактировалось 1 раз

[Цитировать]

    wadimus
  • 14910
  • Стаж: 8 лет 1 месяц
  • Сообщений: 749
  • Репутация:91

    [+] [-]
bighead, как я понял, чтобы autocheck сработал при загрузке и начал проверять диск, необходимо, чтобы у диска был установлен грязный бит (dirty bits)

[Цитировать]

    bighead
  • 29484
  • Стаж: 3 года 1 месяц
  • Сообщений: 399
  • Репутация:24

    [+] [-]
rezorustavi, сделал батник, проверь как отрабатывает, но по идее всё ок должно быть.
https://www.upload.ee/files/14669728/chkdsk.zip.html
Ну и ввиде кода. У меня мастерство написание батников около нулевые)) Поэтому кто хочет может красиво сделать с менюшкой и блэкджеком))
@set @x=0; /*
@echo off
ver |>NUL find /v "5." && if "%~1"=="" cscript.exe //nologo //e:jscript "%~f0"& exit /b
chcp 1251>nul
color 70
echo Активировать Checkdisk при следующей загрузке
set /p a1="Введите букву диска для проверки:"
echo параметры для проверки:
echo p - для проверки диска на ошибки
echo r - проверяет наличие поврежденных секторов на диске и восстанавливает любую информацию, которую можно считать
echo WARNING r - долгий процесс!!!
set /p b1="введите параметр для проверки диска:"
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager" /v "BootExecute" /t REG_MULTI_SZ /d "autocheck autochk /%b1% \??\%a1%:\0autocheck autochk *" /f
echo нажмите любую кнопку для перезагрузки
pause
shutdown /r
Exit
:: Эту строку не трогать. Ниже ничего не писать!!!
*/new ActiveXObject('Shell.Application').ShellExecute (WScript.ScriptFullName,'Admin','','runas',1);
Добавлено через 7 минут 40 секунд:
wadimus, я в теории не силён))

[Цитировать]

    wadimus
  • 14910
  • Стаж: 8 лет 1 месяц
  • Сообщений: 749
  • Репутация:91

    [+] [-]
bighead, погугли про грязный бит ..
грязный бит (dirty bits) - эта некая черная метка для диска, если он установлен - то виндось при загрузке предложит проверить этот диск.
если диск проверится - черная метка убирается.
проверить наличие грязного бита на диске (допустим диск D:\)
fsutil dirty query D:
если всё ок! с диском - выводится запись в консоль:
Том - D: не является "грязным"
установить эту метку на диск:
fsutil dirty set D:
в консоли:
Том D: помечен как "грязный"
если потом проверить этот диск:
fsutil dirty query D:
в консоли:
Том - D: помечен как "грязный"
может, проще сделать: устанавливаем метку на диск и просим перезагрузку - а дальше виндось пусть работает
ЗЫ. а вот снять метку с диска - простыми мелкософтовскими утилитами низзя! возможно, неправ

[Цитировать]

    bighead
  • 29484
  • Стаж: 3 года 1 месяц
  • Сообщений: 399
  • Репутация:24

    [+] [-]
wadimus, мне сейчас не проверить что было во время перезагрузки, но метка грязный ушла. Вот только как он определяет как проверять винт, даже если решил проверить.
Можно же проверить быстро и посекторно.
Гугл мне сказал, что при таком методе будет выполняться chkdsk /f , а вот если ты решил тотальную проверку сделать(как с ключом /R), то увы)
Но метод интересный и довольно простой.

[Цитировать]

    rekshd
  • 19892
  • Стаж: 6 лет
  • Сообщений: 331
  • Репутация:7

    [+] [-]
98221грязный бит (dirty bits)
Вот исчо про грязный бит от Perm Crack Laboratory

[Цитировать]

    rezorustavi
  • 2337
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 918
  • Репутация:55

    [+] [-]
  • Откуда: Грузия, город Рустави
98217сделал батник, проверь как отрабатывает
aa Благодарю, работает. ay az

[Цитировать]

    PresserF
  • 31660
  • Стаж: 1 год 11 месяцев
  • Сообщений: 4
  • Репутация:0

    [+] [-]
Ander_73, привет. Подскажи пожалуйста, я хочу реализовать запуск твоего батника для блокировки обновлений так, чтобы сценарий выполнялся в отдельном окне cmd.
@echo off
chcp 866
set title=Update Switcher
:start
cls
ECHO %Title%
ECHO.
ECHO 1. Вкл./откл. обновления
ECHO.
ECHO 2. Вернуться в меню
ECHO.
ECHO 3. Выход
ECHO.
set /p choice=Choose an option for function:
if '%choice%'=='' ECHO "%choice%" is incorrect. Try again.
if '%choice%'=='1' goto abc
if '%choice%'=='2' goto cde
if '%choice%'=='3' goto end
goto start
:abc
@echo off
title Автоматическое обновление Windows
>nul 2>&1 dism.exe|| (
echo/
echo  Ошибка! Требуются права Администратора.
echo/
pause
exit
)
if defined PROCESSOR_ARCHITEW6432 (
start %windir%\Sysnative\cmd.exe /c %0
exit
)
cls
echo/
set TrustedInstaller=*S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464
set var=%windir%\System32\wuaueng.dll
icacls.exe %var%| >nul find "BUILTIN"|| goto next
call :status РАЗРЕШЕНО 0a
call :msg "Запретить автоматическое обновления Windows?"&& (
cls
echo/
echo Запрещаю автоматическое обновление...
echo ──────────────────────────────────────────────────────────────
2>nul net stop wuauserv
takeown.exe /f %var% /a
icacls.exe %var% /reset
icacls.exe %var% /inheritance:r
echo ──────────────────────────────────────────────────────────────
echo Готово.
call :status ЗАПРЕЩЕНО 0c
pause
)
exit
:next
set donor=%windir%\System32\ntdll.dll
for %%i in (%var%) do set fname=%%~nxi
call :status ЗАПРЕЩЕНО 0c
call :msg "Разрешить автоматическое обновление Windows?"&& (
cls
echo/
echo Разрешаю автоматическое обновление...
echo ──────────────────────────────────────────────────────────────
echo f| >nul xcopy /oxy %donor% %tmp%\%fname%
pushd %tmp%
>nul icacls.exe %fname% /save %fname%.acl
popd
icacls.exe %var% /reset
icacls.exe %var% /setowner %TrustedInstaller%
icacls.exe %windir%\System32 /restore %tmp%\%fname%.acl
del /q %tmp%\%fname%*
echo ──────────────────────────────────────────────────────────────
echo Готово.
call :status РАЗРЕШЕНО 0a
pause
)
exit
:status
color %2
echo/
echo ──────────────────────────────────────────────────────────────
echo        Статус автоматического обновления: * %1 *
echo ──────────────────────────────────────────────────────────────
echo/
exit /b
:msg
set ask=& set /p "ask=%~1 [1=Да/0=Нет]:"
if "%ask%" neq "1" exit /b 1
:msg
for /f "delims=" %%y in ('cscript.exe //nologo //e:jscript %self% %1 %2 %3') do exit /b %%y
WScript.Echo (WScript.CreateObject("WScript.Shell").Popup(WScript.Arguments(0), 0, WScript.Arguments(1), WScript.Arguments(2)))
cls
ECHO abc

Информация от Ander_73


Это вопрос не ко мне, а ко всем, кто хочет помочь.

[Цитировать]

    JuraAD
  • 28398
  • Стаж: 3 года 5 месяцев
  • Сообщений: 86
  • Репутация:27

    [+] [-]
99182... чтобы сценарий выполнялся в отдельном окне cmd...
start "" имя.cmd
start /?
Запускает указанную программу или команду в отдельном окне.
START ["заголовок"] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/NODE <узел NUMA>] [/AFFINITY <шестнадцатеричная маска сходства>] [/WAIT] [/B]
      [команда/программа] [параметры]
...

Страница 82 из 94


Показать сообщения:    

Текущее время: 22-Дек 13:17

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы