Как запустить программу без операционной системы: часть 2 / Хабр

1 способ: запуск системного приложения

Для того чтобы запустить из консоли одно из системных приложений используется команда «start» и через пробел указывается нужное название. В качестве названия нужно прописать системное имя. Для Проводника – это explorer, диспетчера задач – taskmgr, панель управления – control, конфигурация системы – msconfig.

Чтобы открыть блокнот напишите notepad, проигрыватель Windows Media – wmplayer, Paint – mspaint, таблицу символов – charmap. Если напишите cmd, откроется новое окно командной строки.

Например, откроем таблицу символов. Наберите в строке:

start charmap

и нажмите «Enter».

2 способ: указав полный путь к файлу

Если вам нужно запустить любое другое установленное приложение, тогда следует указать полный путь к исполняемому файлу программы.

Например, у меня в папке Загрузки есть программа для установки Киностудии, давайте ее откроем. Захожу в папку и кликаю мышкой по полю, где прописан путь. Всю эту строку нужно прописать в командной строке (поскольку скопировать-вставить там не работает) и в конце дописать название утилиты, которую хотим запустить.

В консоли будет написано:

3 способ: используя path

С помощью этой команды мы сохраним путь к той папке, в которой находится исполняемый файл, а потом запустим его.

Рассмотрим все тот же Тотал Коммандер. В консоли пишем:

path c:program filestotal commander

После «path» обязательно ставьте пробел. Именно по этому пути находится нужный нам файл «totalcmd». Нажимайте «Enter».

Дальше прописывайте название exe-шного файла. У меня это:

totalcmd

Указанная программа будет запущена. В конце необязательно указывать расширение. Таким образом, можно запустить любой исполняемый файл в указанной папке.

4 способ: с помощью команды cd

Эта команда откроет указанную папку, и уже из нее мы запустим нужный нам файл. Например, зайдем в папочку TeamViewer:

cd c:program filesteamviewer

После «cd» поставьте пробел. Жмите «Enter».

В этой папке хранится файл, которым запускается TeamViewer, он имеет одноименное название. Поэтому дальше ввожу:

teamviewer

нажимаю «Enter» и утилита запускается.

Если нужно открыть приложение, которое установлено не на системном диске, то использовать можете команду path. Если я наберу:

path d:program filesccleaner

ccleaner

(после ввода каждой строки жмите «Enter»), то у меня откроется CCleaner. Именно он установлен по указанному пути на диске D:.

А вот с помощью команды cd этого сделать не получится.

6 способ: путь в кавычках

В начале, я упомянула, что если в прописанном пути будут пробелы, файл не откроется. Но если написать его в кавычках, то консоль все поймет. Кавычки должны быть двойные и прямые, а не в виде запятых. Ставятся они с помощью комбинации «Shift Э» с выбранной английской раскладкой клавиатуры.

В них нужно написать полностью путь и в конце указать сам файл с расширением, который будет запущен:

«c:program files otal commander otalcmd.exe»

Используя кавычки, можете открывать программы и на системном диске и на диске с данными.

Это все известные мне способы, которые помогут открыть нужную программу непосредственно из командной строки Windows. Если знаете что-то еще, пишите в комментариях.

Где находится командная строка?

Основной файл командной строки – консоль cmd.exe переводящий команды пользователя в понятный системе вид, находится в папке с установленной ОС по пути: <буква_системного_диска>:WINDOWSsystem32cmd.exe

Как запустить / открыть / вызвать командную строку?

Данные методы запуска командный строки актуальны для всех версий, в том числе и тех, которые я рассматриваю на своем сайте – windows XP , 7 , 8

1) Пуск – Все программы – Стандартные – Командная строка

2) Пуск – Выполнить – вводим cmd.exe

3) сочетание клавиш Win R – вводим cmd

4) Запуск из системной папки: <буква_системного_диска>:WINDOWSsystem32cmd.exe

Для того, чтобы запустить командную строку от имени Администратора, подойдет 1 и 4 способ, нужно на ярлыке щёлкнуть ПКМ и выбрать в меню “Запуск от имени Администратора”.

Команды / параметры / ключи командной строки .Узнать команды командной строки можно прям в ней же, набрав help и нажав клавишу Enter (после окончания ввода всех команд нужно использовать именно Enter (ВВОД) ).

Вдаваться слишком глубоко не буду, потому что для этого лучше писать отдельную статью. Приведу лишь небольшой пример использования командной строки.Допустим у меня на диске E находится папка 123 , а в ней текстовый файл test.txt .Вот теперь я хочу сделать этот файл скрытым, не заходя на этот диск и не “видя” этого файла с папкой.

Команда, отвечающая за атрибут “Системный” – это attrib. И у неё существуют свои атрибуты (уже команды). Можете даже посмотреть на скрине выше, я там показывал именно её на примере.Из всех её атрибутов мне нужны только два – это его установка и сам атрибут.

Ой. Только заметил что вместо Скрытый я сделал его Системным, а ещё удивляюсь почему он не пропал в папке. Я специально не стал удалять скрины и редактировать статью для того, чтобы показать Вам как можно исправить такую оплошность (как я сделал). Тоже хорошая информация.

Ну и напоследок: Как редактировать текст в окне командной строки?Дело в том, что стандартные методы с помощью сочетаний клавиш Ctrl C и Ctrl V в командной строке не работают.Тут нужно пользоваться ПКМ – Правой Кнопкой Мыши.Для того, чтобы вставить текст в командную строку, просто кликаем ПКМ на любом месте командной строки, затем выбираем Вставить.

Для того, чтобы скопировать часть текста из командной строки можно воспользоваться одним из двух методов:1) ПКМ – Выделить всёВыделится весь текст, но можете выделить сразу какой Вам угодно, просто как обычно зажав ЛКМ 2) ПКМ – ПометитьПоявится мигающий курсор в начале строки, которым можно управлять “стрелочками” на клавиатуре. И при нажатой кнопке shift выделить текст, управляя так же “стрелками” на клавиатуре. Либо выделаем снова с помощью мыши.

при желании, можете изменить настройки командной строки, выбрав пункт в меню выше “Свойства”

Автопроверка диска при перезагрузке, как прекратить

Если ПК выключался нештатным способом, то система может принять решение об автоматической проверке диска. Чаще всего это касается системного раздела. В некоторых случаях происходит сбой, и тест файловой системы продолжается после каждой перезагрузки.

Для windows 7 и выше

В более новых ОС нужно после запуска установочного диска:

  1. Выбрать пункт «Восстановление системы».
  2. Активировать строку «Командная строка» левым кликом мышки.

Для windows xp

Начнется загрузка с установочного диска. Появится меню на синем фоне, для перехода в терминал нужно нажать клавишу «R».

Будет произведен переход в консоль восстановления.

Дополнительные особенности

В седьмой-десятой версиях можно использовать встроенную оболочку PowerShell:

Шаг 1. Открыть ее можно, если вызвать меню выполнить с помощью горячих клавиш «Windows R».

Шаг 2. В текстовое поле ввести «Powershell».

Шаг 3. Откроется окошко с темно-синим фоном и опциями командной строки.

Шаг 4. Напечатать «Repair-Volume -DriveLetter X», где X – наименование тестируемого раздела. Другой вариант — «Repair-Volume -DriveLetter X –OfflineScanAndFix».

Шаг 5. Если программа не найдет ошибок, то пользователь увидит: «NoErrorsFound».

В противном случае программа выдаст список неисправностей.

Дополнительные свойства ярлыка

Допустим, вас интересует вопрос, как запустить командную строку от имени администратора. Значок уже расположен на рабочем столе в качестве быстрого доступа, но вы не желаете всё время запускать контекстное меню. Эту проблемку решить можно.

Заходим в свойства ярлыка (правая кнопка мышки и Свойства) и идём в раздел «Дополнительно».

Откроются дополнительные параметры. Там отметьте галочкой параметр «Запуск от имени администратора». Теперь при обычном запуске программы она всегда откроется с повышенными правами.

В свойствах на вкладке «Совместимость» есть опция «Запускать эту программу от имени администратора». Тоже полезная вещица.

Читайте также:  Закончился срок действия ключа в E-declaration

Запуск chkdsk с загрузочного диска windows

Бывают случаи, когда оба метода нет возможности использовать. Тогда придется применить резервный способ: загрузить ПК с загрузочного CD/DVD и проверить жесткий диск при помощи Chkdsk.

  1. При старте системы нужно внимательно смотреть в нижнюю часть монитора. Там будет указано, какую клавишу следует нажать, чтобы запустить программу диагностики BIOS Setup. Чаще всего это клавиша «Delete» или «F12».
  2. После входа в программу диагностики следует выбрать раздел, посвященный устройствам для загрузки системы, в нашем случае активируем вкладку «Boot» левым кликом мышки.
  3. Перейдите с помощью клавиатурных стрелок к пункту «Boot Device Priority», кликните «Enter».
  4. С помощью стрелок перейдите к подпункту «1st Boot Device», нажмите «Enter».
  5. Нужно выставить оптический привод на первое место с помощью клавиш « »/«-».
  6. Перейти во вкладку «Exit», затем опустится до пункта «Exit and Save Changes» и активировать нажатием «Enter», подтвердить действие снова «Enter».

Запуск от имени администратора пропал – нет кнопки | пункта

Нередко бывают моменты, когда в Windows происходят сбои. Это предсказать очень сложно, но исправить возможно. Например, вы хотите запустить программу от имени администратора. По стандарту нажимаете на ярлык правой кнопкой мышки, а пункта, отвечающего за запуск с повышенными привилегиями нет. При этом опция может находиться в меню Win X.

Бывает так, что открыть программы от имени админа возможно только в случае, если зайти в системный диск и запустить программу оттуда. Например, нужно запустить ярлык, находящийся по пути C:Program Files (x86)AIMP/aimp.exe, а не с рабочего стола.

Самое простое решение – почистить кэш системы. Существует много способов очистки временных мусорных файлов. Делается это следующим образом:

  • Открываем Пуск.
  • Переходим в меню «Выключение».
  • Зажимаем клавишу Shift и щелкаем по кнопке «Завершение работы».
  • Готово.

Следующий опыт показал, что проверка системы на целостность системных файлов и восстановление повреждённых возможна при выполнении в командной строке или утилите PowerShell следующих команд:

  1. DISM.exe /Online /Cleanup-image /Restorehealth
  2. sfc /scannow

Запуск от имени администратора с помощью контекстного меню

Контекстное меню вызывается правой кнопкой мышки. Жмём по любой программе мышкой и из контекстного меню нажимаем по опции «Запуск от имени администратора». Так открывается командная строка и прочая программа, где необходимы повышенные привилегии.

Запускаем от имени администратора в диспетчере задач

Диспетчер задач нужен не только для анализа текущих процессов в операционной системе Windows, через него возможно запускать программы.

Чтобы запустить диспетчер задач нажимаем простое сочетание клавиш Ctrl Shift Esc. Либо нажимаем комбинацию Win X и находим в меню соответствующий пункт.

В открывшемся окошке нажимаем на пункт меню «Файл» и выбираем опцию «Запустить новую задачу». В этот момент откроется окно создания задачи, похожее на окошко «Выполнить».

Вбиваем имя задачи, например, процесс командной строки – cmd. Нажимаем ОК.

Изменение параметров повышенных привилегий в реестре

Редактор реестра в Windows это огромная база настроек, отвечающая за работу практически всего в системе. Мы будем изменять параметры редактора реестра так, чтобы запуск приложений от имени администратора осуществлялся всегда.

Инструмент elevate

Скачиваете эту утилиту отсюда и распаковываете. Дальше открываем командую строку и вводим такую команду:

Всё просто, не так ли? И командную строку можно обычным способом запускать, программа всё сделает сама.

Полезные материалы:

  1. Взломать пароль администратора на Windows 10
  2. Как перенести учетную запись на другой компьютер

Инструмент runas

Он является частью Windows, поэтому им можно пользоваться. Чтобы её запустить достаточно открыть командную строку и ввести следующую команду:

Использование сочетания ctrl shift enter при поиске

Когда на рабочем столе или в меню Пуск нет какого-либо инструмента мы обращаемся к поиску. Любая версия Windows оснащена им, а в десятой он наиболее удобен. Пропишите какую-нибудь команду, например, cmd – командная строка. Выбрав результат, одновременно зажимаем комбинацию Ctrl Shift Enter. Простой способ не так ли?

Использование утилиты admilink

Указанная в заголовке утилита является консольной, и после инсталляции будет находиться в каталоге Windows.

Запускаем инструмент и видим вполне удобное окошко с русским интерфейсом, поэтому разобраться будет легко.

  • В первом поле вводим путь до файла, который хотим запускать;
  • Параметры командной строки во втором поле заполнять необязательно;
  • Третья строчка будет заполнена самостоятельно, если это не так, впишите С:windowssystem32
  • Режим отображение окна. В 4 строчке есть 2 параметра:
    • SHOW – стандартной запуск ПО с видимым окном;
    • HIDE – работа ПО в фоновом режиме;

Настраиваем параметры на вкладке Account:

  • В качестве имени домена пишем имя своего ПК, либо NetBios и test.lan;
  • Имя пользователя – можно выбрать, нажав на кнопку с тремя точками;
  • Пароль от учетной записи и подтвердить.
  • Введя все данные, нажмите кнопку «Тестировать».

Утилита проверит работоспособность указанной нами информации. Жмём любую клавишу в CMD.

После удачного теста нажмите кнопочку «Сгенерировать ключ запуска AdmiRun». Если этого не сделать, то ничего не будет работать.

  • Идём на вкладку «Link» и делаем следующее:
  • Имя ярлыка – называем любым именем;
  • Каталог – указываем, где будет расположен ярлык;
  • Картинка – выбираем изображение для ярлыка;
  • Жмём кнопку «Сгенерировать командную строку».
  • Теперь нажимаем большую кнопку «Создать Ярлык сейчас!».

Значок сразу же появится на рабочем столе или каталоге, который вы указали.

Пробуем запустить ярлык. Если всё удачно и программа запустилась от имени админа, то поздравляю. Иначе неверно выполнены действия на каком-то шаге.

Если зайти в свойства ярлыка и изменить программу в поле «Объект» на другую, то она попросту не запуститься. Это небольшая защита от вредоносов.

Как вернуть все обратно?

При некорректном восстановлении данных часть информации может быть потеряна. Тогда придется использовать специализированный софт:

  • R-Studio – платная программа, но есть пробная версия;
  • Recuva – распространяется безвозмездно;
  • Pandora Recovery – бесплатный софт;
  • Hetman Partition Recovery – можно использовать пробную версию.

Однако эти программы требуют полной исправности жесткого диска. В иных случаях придется обращаться в специализированные фирмы, занимающиеся восстановлением утраченных данных со сломанных устройств.

Как запустить утилиту восстановления windows с помощью командной строки? |

Как запустить программу без операционной системы: часть 2 / Хабр

При возникновении проблем в работе операционной системы Windows 7, пользователь всегда имеет возможность восстановить работоспособную конфигурацию Windows, если у вас по умолчанию включена служба (Восстановление системы). А вот если после неудачной установки приложения или драйвера, система совсем отказывается запускаться или при загрузке появляется (синий экран смерти), то восстановить работоспособность системы возможно через безопасный режим загрузки Windows. Однако в безопасном режиме не все приложения могут быть запущены, так как система загружается с минимальным набором служб и инструментов. В таком случае помочь может загрузка в безопасном режиме с поддержкой командной строки, а также вы сможете узнать как обновить directx на windows 7.

Используя командную строку можно запустить различные утилиты для работы с операционной системой, в том числе и восстановление системы. Откройте командную строку и введите следующий параметр: rstrui.exe ,или укажите полный путь к утилите, которая находится на системном диске (по умолчанию (С): C:WindowsSystem32Restore rstrui.exe после чего нажмите Enter на клавиатуре.
После ввода такого параметра откроется привычное окно утилиты восстановления системы, с помощью которого вы легко восстановите более раннее состояние системы Windows 7, когда загрузка производилась успешно.

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

Читайте также:  Выгрузка сертификата эцп

Как тестировать диск, когда не загружается ос

Если ОС перестала запускаться, следует либо использовать установочный диск, либо использовать альтернативные «спасительные» дистрибутивы, работающие на облегченной версии Windows PE или Linux.

Примеры:

  • Hiren’s BootCD;
  • Ultimate Boot CD;
  • SystemRescueCd;
  • Knoppix;
  • FalconFour’s Ultimate Boot CD.

Они могут помочь восстановить систему или хотя бы извлечь данные с жесткого диска.

Компиляция из visual studio

Основная статья: Использование оболочки Visual Studio 2021 для компиляции проектов с помощью gcc в Linux

Как работать с полученным кодом из Visual Studio? Следуя инструкциям в статье собираем проект Visual Studio, не создавая проект на Linux – он уже есть.

1. Установим в системе ssh:

sudo apt-get install ssh

2. Располагаем исходники проекта с kernel.bin на shared directory для виртуальной машины.

3. Устанавливаем утилиту plink в папку tools и проверяем ее работу.

4. Создаем проект Visual Studio следуя инструкциям и получаем такое дерево:

projkernel.cprojloader.sprojcommonprintf.cprojcommonscreen.cprojincludeprintf.hprojincludestdarg.hprojincludescreen.hprojincludetypes.hprojmakefileprojlinker.ldprojtoolsplink.exeprojkernelkernel.slnprojkernelkernel.suoprojkernelkernel.sdfprojkernelvskernel.vcxprojprojkernelvskernel.vcxproj.filtersprojkernelvsmake_vs.props

5. Формируем файл ”projkernelvsmake_vs.props” так же по инструкции:

Особенности теста hd в windows 8 и 10

В последних Виндовс обслуживание HD, а именно — их проверка и дефрагментация томов будут происходить в авто режиме (по установленному ранее порядку).

Для просмотра сведений о том, возникали ли какие-нибудь трудности с файловой системой необходимо:

Еще одна возможность, появившаяся в Виндовс 10 — встроенный софт для проверки системной базы данных Storage Diagnostic Tool. Чтобы применить эту утилиту, нужно:

Совет! Для запуска консоли в Виндовс 10 рекомендуется применять комбинацию «Windows X», всплывет меню, в котором можно активировать строчку: «Командная строка».

После выполнения данной команды, в каталоге появится самый последний отчет об имеющихся в системе трудностях.

Стандартный комплекс файлов описания проблем HD включает в себя ряд документов, они содержат:

  • результаты теста Chkdsk и сведения о неисправностях, которые были обнаружены Fsutil в стандартных логах (открываются «Блокнотом»);
  • информацию из реестра Windows, которые содержат все актуальные параметры реестра, относящиеся к смонтированным в системе физическим дискам;
  • файл журнала просмотра событий ОС (собираются 1⁄2 минуты если применяется флаг collectEtw).

Для начинающего пользователя указанные сведения могут не нести полезной информации, но при вызове профессиональных системных администраторов-консультантов эти данные могут попросить (это потребуется для диагностики).

Открыть от имени администратора из панели задач

На Windows 10 этот способ очень легко осуществляется. Необходимо на панель задач поместить программы и приложения, которыми вы чаще всего пользуетесь. При нажатии на ярлык программы на панели задач произойдет запуск процесса в обычном режиме, но нам нужны повышенные привилегии.

Для открытия от имени админа программы с панели задач нажимаем по ярлыку программы правой кнопкой мышки. Появится два пункта: ярлык самой программы и опция «Открепить от панели задач». Естественно, нам нужен сам ярлык, по которому нажимаем еще раз правой кнопкой мыши.

Отобразятся несколько подпунктов, где имеется и опция «Запуск от имени администратора».

Да, существует такой вот метод, но проще будем использовать свойства ярлыка из предыдущего способа. Отмечаем в свойствах соответствующую галочку, после чего не придется осуществлять дополнительные действия.

Ошибки разработчиков в chkdsk

В ряде дистрибутивов программа может вести себя некорректно:

  •  Windows 2000;
  • Windows XP HE (с пакетом дополнений);
  • Windows 2003 (серверная версия);
  • Windows Vista (SP1).

Случаются проблемы с правами доступа к файлам, которые либо частично устраняются при помощи программы Secedit (XP HE и Professional), либо возникает необходимость переустановки ОС.

Справка! Если произошла некорректная установка какой-либо программы, и после этого запускается автоматический тест Chkdsk, то это может говорить о повреждении одного из модулей оперативной памяти или о выходе из строя соответствующего слота.

Первый способ

Штатными средствами:

Шаг 1. Нажать кнопку «Пуск», выбрать вкладку «Параметры».

Шаг 2. Активировать параметр «Система».

Шаг 3. В левой части меню выбрать строчку «Приложения и возможности».

Шаг 4. Появятся установленные программы и тот объем на жестком диске, который они занимают. При выборе приложения появится пара кнопок: «Удалить» и «Переместить». С помощью первой можно произвести деинсталляцию.

Планировщик заданий

Запустить программу от имени администратора, достаточно использованием инструмента «Планировщик заданий». Здесь есть один нюанс – если вы не админ, то воспользоваться им не удастся.

Введите в поиске всего два слова: «Планировщик заданий» и откройте результат. В окне справа выбираем пункт «Создать задачу».

Назовите её соответствующим именем, допустим, вы запускаете командную строку, тогда можно назвать CMD. Также ставим галку «Выполнить с наивысшими правами».

На вкладке «Действия» нажмите кнопочку «Создать».

Выберите действие (в нашем случае запуск программы). Нажмите «Обзор» и выберите запускаемую утилиту. Если вы запускаете командную строку, то путь будет таким: С:WindowsSystem32cmd.exe.Теперь нажимаем ОК.

На вкладе «Действия» появилась новая строчка. Отлично, можно нажать ОК.

Этап создания ярлыка

На рабочем столе делаем ярлык и указываем такую команду:

schtasks /run /tn имя_задачи_в_планировщике

имя_задачи_в_планировщике – это имя, которое вы дали в самом начале процесса создания задачи.

Ура, ярлык мы сделали, но это еще не всё. Перейдите в его свойства.

На вкладке «Ярлык» измените значок. Конечно, делать это вы не обязаны.

Дополнение к способу с планировщиком заданий

Для быстрого запуска множества программ, можно использовать утилиту Elevated Shortcut. Вы берёте ярлык или исполняемого файла и перетаскиваете на значок Elevated Shortcut.

При помощи терминала

После открытия окна (от имени администратора) нужно ввести команду: «chkntfs /x с:» (с – логический диск) по необходимости перечислить все диски, которые есть на ПК.

Теперь проверка запускаться не будет.

Программы windows 10, которые стоит удалить прямо сейчас

Большинство пользователей не использует часть программ, которые поставляются вместе с ОС компанией Microsoft. Они лишь занимают место на жестком диске, а некоторые еще и занимают значительную часть оперативной памяти. Их можно безжалостно деинсталлировать.

  1. Xbox – далеко не все пользователи являются ценителями мира игровых приставок. Хотя программа не требует наличия самого Xbox, при необходимости ее можно легко удалить.
  2. Диспетчер телефонов – с помощью него можно проводить синхронизацию смартфона с ПК: почтовыми программами, Skype, перемещать фотоснимки и видеоролики. Однако это не всем требуется, если можно обойтись без программы, то лучше удалить.
  3. Карты – позволяет просматривать географические планы местности, но, при наличии постоянного подключения к сети, ценность программы довольно сомнительна.
  4. Кино и ТВ – для тех, у кого не слишком много фильмов и видеозаписей, программа никакой практической ценности не представляет.
  5. Музыка Groove – софт, который показывает аудиозаписи пользователя и позволяет их просушивать прямо в окне программы. Целесообразность встроенной программы вызывает сомнения, поэтому лучше удалить.
  6. Новости, Финансы и Спорт – для просмотра новостей лучше использовать известные каналы, а эти три программы, поедающие интернет-трафик, рекомендуется немедленно деинсталлировать.
  7. Sway – помогает создавать презентации, но для профессионалов она чересчур примитивная программа, а обычным пользователям вряд ли пригодится.
  8. Телефон – вряд ли многим понадобится совершать звонки с компьютера, можно удалять.
  9. Начало работы – приложение для тех, кто еще не ознакомился со всеми прелестями Windows 10, остальным пользователям оно вряд ли понадобится.
  10. Люди – утилита для поиска знакомых в сети, неизвестно, насколько программа безопасна, но она требует подключения учетных записей. Рекомендуется удалить, так как для общения существуют социальные сети.

Программы для запуска от имени администратора windows 7 и 10

Существует следующие программы: RunAs, AdmiLink, ExecAS.

Читайте также:  ЭЦП для Суда (Мой Арбитр и ГАС «Правосудие») – ЭЦП SHOP 🚩 Центр выдачи ЭЦП

Редактирование реестра

Шаг 1. Следует открыть «Редактор реестра» Как запустить программу без операционной системы: часть 2 / Хабртак: «Windows R», вписать команду «regedit», нажать ввод.

Шаг 2. Поочередно раскрыть ветвь директорий, следуя указанному пути: «HKEY_LOCAL_MACHINE»/»SYSTEM»/»CurrentControlSet»/»Control»/»Session Manager».

Шаг 3. В правой зоне (окне) присутствует параметр «BootExecute», нужно щелкнуть по нему пару раз левым кликом мыши.

Шаг 4. Следует добавить значение «/K:C», кликнуть «ОК».

Шаг 5. Закрыть редактор.

Самый простой способ – графический

Для начала рекомендуется закрыть все активные приложения, которые запускаются с проверяемого диска:

  1. Открыть «Мой компьютер».
  2. Выбрать нужный локальный диск, если их несколько. Нажать на нем правой клавишей мышки до появления контекстного меню. Активировать пункт «Свойства».
  3. А затем — вкладку «Сервис».
  4. Нажать верхнюю кнопку с названием «Выполнить проверку».
  5. Появится маленькое окошко утилиты. Если требуется только протестировать жесткий диск, то нужно снять галки со всех клеток и нажать кнопку «Запуск».
  6. Начнется работа программы: индикатор состояния станет активным (полоска будет ползти слева направо), а чуть ниже появятся записи с указанием количества обработанных файлов.
  7. После окончания всплывет окно с результатом.

Если нужно сразу исправлять неполадки, то рекомендуется поставить галку в клетку «Автоматически исправлять системные ошибки». При необходимости проверки поверхности придется отметить «Проверять и восстанавливать поврежденные сектора».

Важно! Некоторые ошибки программа выполнить не сможет, возможно, потребуется применить другой — специализированный софт.

Сканирование устройств pci

Основная статья: Как найти PCI устройства без операционной системы

Как теперь просканировать системную шину PCI на наличие устройств? Следуя инструкциям в статье выполняем следующие действия (загрузочный образ уже готов, поэтому только добавляем код сканирования PCI):

1. Добавляем в файл includetypes.h, следующее определение типа:

typedef unsigned long u32;
typedef unsigned short u16;
typedef unsigned char u8;

2. Добавляем файл includeio.h, который без изменений можно взять из проекта bitvisor из каталога (includeio.h).

3. Добавляем файл includepci.h, который содержит основные определения для функций работы с PCI. Он имеет следующее содержимое:

#ifndef _PCI_H
#define _PCI_H

#include "types.h"

#define PCI_CONFIG_PORT      0x0CF8
#define PCI_DATA_PORT        0x0CFC

#define PCI_MAX_BUSES        255
#define PCI_MAX_DEVICES      32
#define PCI_MAX_FUNCTIONS    8

#define PCI_HEADERTYPE_NORMAL        0
#define PCI_HEADERTYPE_BRIDGE        1
#define PCI_HEADERTYPE_CARDBUS       2
#define PCI_HEADERTYPE_MULTIFUNC     0x80

typedef union 
{
	struct
	{
		u16 vendorID;
		u16 deviceID;
		u16 commandReg;
		u16 statusReg;
		u8 revisionID;
		u8 progIF;
		u8 subClassCode;
		u8 classCode;
		u8 cachelineSize;
		u8 latency;
		u8 headerType;
		u8 BIST;
	} __attribute__((packed)) option;
	u32 header[4];
} __attribute__((packed)) PCIDevHeader;

void ReadConfig32(u32 bus, u32 dev, u32 func, u32 reg, u32 *data);
char *GetPCIDevClassName(u32 class_code);
void PCIScan();

#endif

4. Добавляем файл pci.c в корень проекта, со следующим содержимым (мы немного улучшили этот код по сравнению с основной статьей):

#include "types.h"
#include "printf.h"
#include "io.h"
#include "pci.h"

typedef struct 
{
	u32 class_code;
	char name[32];
} PCIClassName;

static PCIClassName g_PCIClassNames[] = 
{
	{ 0x00, "before PCI 2.0"},
	{ 0x01, "disk controller"},
	{ 0x02, "network interface"},
	{ 0x03, "graphics adapter"},
	{ 0x04, "multimedia controller"},
	{ 0x05, "memory controller"},
	{ 0x06, "bridge device"},
	{ 0x07, "communication controller"},
	{ 0x08, "system device"},
	{ 0x09, "input device"},
	{ 0x0a, "docking station"},
	{ 0x0b, "CPU"},
	{ 0x0c, "serial bus"},
	{ 0x0d, "wireless controller"},
	{ 0x0e, "intelligent I/O controller"},
	{ 0x0f, "satellite controller"},
	{ 0x10, "encryption controller"},
	{ 0x11, "signal processing controller"},
	{ 0xFF, "proprietary device"}
};

typedef union
{
	struct
	{
		u32 zero 		: 2;
		u32 reg_num     : 6;
		u32 func_num    : 3;
		u32 dev_num     : 5;
		u32 bus_num     : 8;
		u32 reserved    : 7;
		u32 enable_bit  : 1;
	};
	u32 val;
} PCIConfigAddres;

void ReadConfig32(u32 bus, u32 dev, u32 func, u32 reg, u32 *data)
{
	PCIConfigAddres addr;
	
	addr.val = 0;
	addr.enable_bit = 1;
	addr.reg_num =  reg;
	addr.func_num = func;
	addr.dev_num =  dev;
	addr.bus_num =  bus;		

	out32(PCI_CONFIG_PORT, addr.val);
	in32(PCI_DATA_PORT, data);
	return;
}

char *GetPCIDevClassName(u32 class_code)
{
	int i;
	for (i = 0; i < sizeof(g_PCIClassNames)/sizeof(g_PCIClassNames[0]); i  )
	{
		if (g_PCIClassNames[i].class_code == class_code)
			return g_PCIClassNames[i].name;
	}
	return NULL;
}

int ReadPCIDevHeader(u32 bus, u32 dev, u32 func, PCIDevHeader *p_pciDevice)
{
	int i;
	
	if (p_pciDevice == 0)
		return 1;
	
	for (i = 0; i < sizeof(p_pciDevice->header)/sizeof(p_pciDevice->header[0]); i  )
		ReadConfig32(bus, dev, func, i, &p_pciDevice->header[i]);
		
	if (p_pciDevice->option.vendorID == 0x0000 || 
		p_pciDevice->option.vendorID == 0xffff ||
		p_pciDevice->option.deviceID == 0xffff)
		return 1;
		
	return 0;
}

void PrintPCIDevHeader(u32 bus, u32 dev, u32 func, PCIDevHeader *p_pciDevice)
{
	char *class_name;
	
	printf("bus=0x%x dev=0x%x func=0x%x venID=0x%x devID=0x%x",
			bus, dev, func, p_pciDevice->option.vendorID, p_pciDevice->option.deviceID);
			
	class_name = GetPCIDevClassName(p_pciDevice->option.classCode);
	if (class_name)
		printf(" class_name=%s", class_name);
		
	printf("n");
}

void PCIScan(void)
{
	int bus;
	int dev;
	
	for (bus = 0; bus < PCI_MAX_BUSES; bus  )
		for (dev = 0; dev < PCI_MAX_DEVICES; dev  )
		{
			u32 func = 0;
			PCIDevHeader pci_device;
			
			if (ReadPCIDevHeader(bus, dev, func, &pci_device))
				continue;
				
			PrintPCIDevHeader(bus, dev, func, &pci_device);
			
			if (pci_device.option.headerType & PCI_HEADERTYPE_MULTIFUNC)
			{
				for (func = 1; func < PCI_MAX_FUNCTIONS; func  )
				{
					if (ReadPCIDevHeader(bus, dev, func, &pci_device))
						continue;
					PrintPCIDevHeader(bus, dev, func, &pci_device);
				}
			}
		}
}

5. Добавляем запуск сканирования PCI устройств в kernel.c:

#include "printf.h"
#include "screen.h"
#include "types.h"
#include "pci.h"

void main()
{   
    clear_screen();
    printf("n>>> Hello World!n");
    PCIScan();
}

6. Вносим необходимые изменения в makefile:


OBJFILES = 
	loader.o  
	common/printf.o  
	common/screen.o  
	pci.o  
	kernel.o

7. Теперь можно пересобрать проект:

make rebuild
sudo make image

8. Запускаем проект, чтобы убедиться, что все работает:

sudo qemu-system-i386 -hda hdd.img

Так мы получили список PCI устройств на компьютере. Это так же будет работать и на обычном компьютере, загрузившись с флешки.

Пройдя все шаги в этой статье вы можете собственноручно разобраться во всем и увидеть работающую программу, которую можно полноценно отлаживать.

Ссылки на следующие статьи цикла:”Как запустить программу без операционной системы: часть 3: Графика””Как запустить программу без операционной системы: часть 4. Параллельные вычисления””Как запустить программу без операционной системы:

Служебная утилита chkdsk

На более ранних системах Windows устанавливалась программа Scandisk. Этот же софт прилагался к MS-DOS, а в последний раз применялась на операционке Windows ME.

Начиная с Windows NT, штатной утилитой для проверки жесткого диска становится Chkdsk. Она присутствует в ОС по умолчанию и запускается владельцем системы несколькими способами.

Основное ее назначение:

Скорость обращения утилиты с данными зависит от объема логического раздела и мощности ПК. Больше всего времени уходит на тест поверхности диска и может достигать нескольких часов.

Способы запуска программы chkdsk: подробные инструкции

Программа запускается двумя основными способами:

  • самый простой – с рабочего стола, однако данный способ имеет один минус: в полной мере утилиту заставить работать не получится. Кроме того, данный метод не позволяет отобразить на мониторе подробную информацию о процессе выполнения;
  • использование командной строки не очень удобно, но только так можно запустить утилиту с гибкими настройками и наблюдать ход ее работы.

Учимся отлаживать программу

Основная статья: Использование отладчика GDB по максимуму

Как отладить код kernel.bin? Для этого нужно добавить в kernel.bin симовлы для отладки и запустить отладчик:

1. Добавим опцию компилятора в файле makefile, чтобы он генерировал отладочные символы:

CFLAGS  = -Wall -fno-builtin -nostdinc -nostdlib -ggdb3

2. Добавим пару строк на этапе сборки, чтобы на диск записывался kernel.bin без символов (такой файл можно сделать при помощи утилиты strip). Для этого нужно исправить цель kernel.bin в makefile:

kernel.bin: $(OBJFILES)
	$(LD) -T linker.ld -o $@ $^
	cp $@ $@.dbg 
	strip $@

тогда:

kernel.bin

– не содержит символы – его можно запускать;

kernel.bin.dbg

– содержит и символы и код – его можно скормить отладчику.

3. Установим отладчик:

sudo apt-get install cgdb

4. Перекомпилируем программу:

make clean
make all
sudo make image

5. Запустим qemu с опцией ожидания отладчика:

sudo qemu-system-i386 -s -S -hda hdd.img &

6. Запустим отладчик c указанием файла с символами:

cgdb kernel.bin.dbg

7. В отладчике подключимся к qemu и поставим breakpoint сразу на функции main:

(gdb) target remote localhost:1234
(gdb) break main

8. Попадаем в main и отлаживаем ее:

(gdb) c
(gdb) n
(gdb) n

Таким образом, получается мощный инструмент отладки. Этот способ будет работать для QEMU, а для того, чтобы отладить программу непосредственно на железе, необходимо подключить модуль отладчика к нашей программе – это мы рассмотрим в одной из следующих статей.

Заключение

Любые программы для восстановления данных с жесткого диска следует применять с осторожностью. Chkdsk – не исключение, хотя и является системной утилитой. Под рукой всегда следует иметь установочный диск с операционной системой, а также дополнительные средства для восстановления данных и лечения ОС от вирусов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector