ПредишенСледващото

В Windows има конзолата за възстановяване - специален команден ред режим за диагностика и корекция на грешки. Този режим може да се стартира с инсталационния диск на Windows и може да бъде инсталирана на системния дял и да бъде в състояние да работи в този режим като опция за зареждане. Конзолата за възстановяване в този случай е предписано в Boot.ini като вариант на компютъра ви зарежда.

Конзолата за възстановяване на системата е командния ред на черен екран. Тя изглежда като режим на зареждане на екрана (което в съвременните версии на Windows, в черно), в която роден изпълнен прилагането на прозореца за вход (като например проверка на дяла диск след рестартиране). Реших да проверя дали е възможно стартирането и работата на местните-приложения под конзолата за възстановяване. Просто казано, това е възможно, за да стартирате програмата от конзолата за възстановяване. Аз също направи опит да стартирате родния прилагане в ReactOS.

За да направите това, инсталиране на конзолата за възстановяване на твърдия ви диск. Вмъкнати инсталационния диск на Windows, командния X: \ i386 \ Winnt32.exe / Cmdcons и конзолата за възстановяване се инсталира в папка C: \ Cmdcons. Ние можем веднага привлече вниманието към факта, че тази папка съдържа две .exe файл, а именно Autochk.exe и autofmt.exe. Това не е нищо подобно на родния формат версия на Chkdsk и инструменти за проверка и форматиране на дискове. След като в Recovery Console папка са родния прилагане означава, е подходящо конзола функционалност е реализирана чрез тяхното стартиране.

Като цяло, на конзолата за възстановяване за преработка команда отговаря spcmdcon.sys файл. Това е шофьор, а не роден-приложение. Модулът използва функциите на другия шофьор, setupdd.sys, която съдържа функция с име, което говори SpvidDisplayString, WriteNtfsBootSector и така нататък. Н. Би било изкушаващо да се използват тези функции и да се напише Смяната му spcmdcon.sys, но API от тези функции е неизвестен.

Ние трябваше да се провери какво би станало, ако заместител Autochk.exe за нейната програма. Native писа Hello World, поставени в папка за вместо Cmdcons Autochk.exe, качване с помощта на конзолата за възстановяване.

Въвели в Chkdsk С Recovery конзолата команда: / P, който трябва да доведе до Autochk.exe процес за извършване на проверка на диск. Конзолата за възстановяване ми даде съобщение за невъзможността за извършване на проверки. String «Здравей, свят!» Се появява на екрана. Тогава аз предложих, че процесът е започнал, просто не работи изход на екрана, като на изхода на съобщенията се осъществява по различен начин, а не като в режим на синия екран. Тогава компилиран друго приложение, което е трябвало да се превърне само на разстояние от компютъра:

Събери Autochk.exe, рестартирайте в конзолата за възстановяване, отбеляза Chkdsk C: / П. Компютърът се е изключил.

Тогава аз се опитах да използвате един и същ начин си Native Shell. Открих, че тя отговаря на входни команди от клавиатурата, но и нищо не се показва.

Резултатите от такъв експеримент: да се движат родния процес от конзолата за възстановяване. Изход към екран не работи, тъй като изходния механизъм не позволява функция NtDisplayString. Версии на програми и Autochk.exe autofmt.exe, лежащи в конзолата за възстановяване директория - същите местни приложения, които са в system32 папката Windows. Но се появи съобщението, ако работата на тези приложения не съвпада с извода, в случай на започване на дейност от Windows. Следователно, на изхода се генерира в възстановяване конзола конзолата за възстановяване себе си. Тъй като тя научава за етапите на тестване, аз не знам. Но то излиза spcmdcon.sys, не Autochk.exe.

Би било интересно да се намери начин да се покаже съобщения на екрана в конзолата за възстановяване, и веднага пуснете своя собствена молба, без да минава през spcmdcon.sys командния ред.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!