Как запустить установленную программу с компьютера

Обновлено: 07.07.2024

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

Запуск из Главного меню. Самое естественное место для запуска программ — Главное меню. Большинство программ спроектированы так, что в ходе их установки автоматически создается соответствующий пункт в Главном меню.

Дайте команду Пуск > Все программы (Программы), и вы увидите список программ, установленных на Вашем компьютере.

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

Для примера запустите программы: Калькулятор (Пуск >(Все программы) Программы > Стандартные > Калькулятор), Таблица символов (Пуск > (Все программы) Программы > Стандартные > Служебные > Таблица символов), и т. д. Здесь перечислены не все программы, входящие в комплект поставки Windows, — но они были установлены вместе с операционной системой Windows.

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

Если не ограничиваться только системными программами, а устанавливать все, что попадется под руку, то ситуация с запуском таких программ может быть разной. Так, в ходе установки программы может автоматически образоваться пункт в Главном меню — тогда ее нетрудно найти и запустить. Программы от известных производителей всегда создают пункт в Главном меню, но бывает, что такого не происходит.

Что делать, если программы нет в Главном меню?

Некоторые программы в ходе ( установки предлагают создать ярлык на Рабочем столе — в этом случае программа запустится двойным щелчком на этом ярлыке.

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

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

2. Проверьте папку C:\Program Files. Большинство программ при установке размещают свои рабочие папки здесь. При этом могут создаваться вложенные папки с именами фирм-производителей, выпускающих программы. Например, программы компании Adobe часто устанавливаются в папку C:\Program Files\Adobe, а программы компании Corel — в папку C:\Program Files\Corel и т. п.

3. Проверьте, не появилось ли на диске С: новых папок. Некоторые программы создают рабочую папку прямо в корневом каталоге, причем она может быть названа как по имени программы, так и по имени ее создателя.

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

В окошке — Имя — вводим имя — допустим программа проверки уникальности текста — Advego и нажимаем Enter, предварительно выбрав диск (С:). Надо просмотреть именно диск С:. Даже если на компьютере и имеются другие жесткие диски, приложения Windows «не любят» устанавливаться далеко от системного диска С:.

Как запустить программу

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

Для того, чтобы закрепить знания по теме — как запустить программу — создадим ярлык программы.

Программа нами найдена и файл, являющийся пусковым, выявлен, создать его ярлык на Рабочем столе не составит труда. Для этого сначала откройте окно — Мой компьютер, затем окно диска С: и так далее, пока не появится окно папки с программой. В нем возьмите значок пускового файла и специальным перетаскиванием (при нажатой правой кнопке мыши) перенесите его на Рабочий стол. После отпускания кнопки мыши выберите в открывшемся меню пункт — Создать ярлык.

:)

С этим ярлыком теперь можно делать все, что хотите. Можете клонировать его несколько раз, разложив копии по разным папкам. В этом случае — нет никаких препятствий для запуска программы из удобного места.

  • Наведите указатель мыши на ярлык и нажмите левую кнопку мыши.
  • Не отпуская кнопку, перетащите ярлык на кнопку Пуск и «зависните» над ней (немного подождите, не отпуская кнопку). Через несколько секунд откроется Главное меню.

Протащите ярлык программы через пункты Главного меню и «зависните» над пунктом Программы — откроется список установленных программ.

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

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

Если Вы предполагаете очень часто пользоваться какой-то программой имеет смысл сделать ей ярлык на Панели быстрого запуска. Это исполняется тем же перетаскиванием с Рабочего стола на Панель.

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

Как запустить скаченную программу

  • Как запустить скаченную программу
  • Как запустить приложение на андроиде
  • Как запустить установленную программу

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

Действие, описанное в первом шаге, может привести к одному из двух результатов. Первый вариант: загрузка начнется немедленно. В этом случае укажите директорию для сохранения файла, нажмите на кнопку «Сохранить» и дождитесь окончания загрузки. Второй вариант: вы будете перенаправлены на тот ресурс, где хранится файл. Найдите и нажмите кнопку Download, далее выполните действия, описанные выше в данном шаге.

После того как загрузка будет завершена, перейдите в директорию, в которую был сохранен файл. Если установочный файл запакован в архив, разархивируйте данные с помощью программы WinRAR (7ZIP или любой другой программы-архиватора). Запомните директорию, которую вы указали при распаковке файла.

В нужной директории найдите файл setup.exe или install.exe. Если такого файла нет, ориентируйтесь по расширению, найдите файл с названием скаченной программы, который будет иметь «окончание» .exe. Кликните по нему левой кнопкой мыши, чтобы началась установка программы. Если вы не инсталлируете программу на свой компьютер, она просто не запустится (но, конечно, существуют и исключения).

Большинство программ устанавливается автоматически. Когда откроется окно «Мастера установки», укажите директорию, в которую он запишет файлы, необходимые приложению для работы. Далее следуйте указаниям «установщика» до полного завершения процесса инсталлирования. Если потребуется, перезагрузите компьютер.

Ищите файл запуска установленного приложения в той директории, в которую вы его установили или в меню «Пуск». Также программы могут создавать ярлыки на «Рабочем столе» и на панели быстрого запуска «Панели задач». Кликните по иконке программы левой кнопкой мыши — она запустится.

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

Особенности установки программ

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

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

Как запустить установленную программу?

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

С рабочего стола

Запуск с рабочего стола

Способ является самым простым, быстрым и удобным. Не нужно открывать дополнительные папки, файлы. По ярлыку установленного приложения на рабочем столе следует кликнуть левой кнопкой мыши (тачпада) дважды. Запустится либо сама программа, либо лаунчер для выбора дальнейших действий.

Из меню «Пуск»

Запуск в Пуске

Отдельные приложению при инсталляции создают ярлык не только на рабочем столе, но и в меню «Пуск». Данная функция – основной способ быстрого доступа ко всем папкам, программам компьютера. Чтобы найти установленное приложение, можно выбрать его из перечня всех приложений, или использовать строку поиска. Далее, для запуска программы, по строке с названием следует кликнуть один раз – приложение запустится, «Пуск» закроется автоматически.

Из папки программы

Инсталлированные приложения размещаются на жестком диске папкой с различными файлами. Найти такую директорию по умолчанию можно по пути C:\Program Files\папка приложения. Или искать на другом диске там, куда пользователь инсталлировал софт.

Запуск из корневой папки

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

Запуск программы через командную строку

Запуск не всегда может срабатывать корректно. Также иногда нужно добавить при запуске определенные ключи. В этом случае используют командную строку. Запуск консоли осуществляется следующими методами:

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

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

Windows – что это такое, устройство операционной системы

Параметры командной строки

Тут же, в последнем пункте, вписываются и дополнительные параметры, если софт их поддерживает. Например запустим игру в оконном режиме. Для это перед запуском приложения из вышеописанного примера допишем оператор –ne.

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

Запуск системных утилит

Существует несколько методов запуска системных утилит, с помощью некоторых можно открывать и другие приложения (например, браузер). Наиболее часто используемыми являются:

С помощью данных методов можно запустить любую утилиту.

Запуск пользовательских приложений

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

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

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

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

как установить программу на компьютер

Устанавливаем приложения на компьютер

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

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

примеры разных версий установщиков

Шаг 1: Запуск инсталлятора

Примечание: в некоторых случаях установочный файл нужно открывать от имени администратора, для этого кликните по нему правой кнопкой мыши (ПКМ) и выберите одноименный пункт.

запуск инсталлятора от имени администратора

Если инсталляция будет производиться с диска, то для начала вставьте его в дисковод, а затем выполните следующие действия:

    Запустите «Проводник», нажав по его значку на панели задач.

запуск проводника с панели задач

пункт этот компьютер в проводнике

открытие папки дисковода в проводнике

запуск установочного файла с диска

Также бывают случаи, когда из интернета вы скачиваете не установочный файл, а ISO-образ, в этом случае его необходимо смонтировать. Делается это с помощью специальных программ, таких как DAEMON Tools Lite или же Alcohol 120%. Сейчас будет приведена инструкция по монтированию образа в DAEMON Tools Lite:

  1. Запустите программу.
  2. Нажмите на иконку «Быстрое монтирование», которая расположена на нижней панели.

иконка быстрое монтирование в программе daemon tools lite

выбор iso файла для монтирования с помощью программы daemon tools lite

смонтированный образ в программу daemon tools lite

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

подтверждение запуска инсталлятора

Шаг 2: Выбор языка

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

выбор языка инсталлятора

Шаг 3: Знакомство с программой

После того как вы выбрали язык, на экране появится первое окно самого инсталлятора. В нем описан продукт, который будет установлен на компьютер, будут даны рекомендации по установке и предложены дальнейшие действия. Из вариантов выбора есть всего две кнопки, вам необходимо нажать «Далее»/«Next».

первое окно инсталлятора программы

Шаг 4: Выбор типа установки

Этот этап присутствует далеко не во всех инсталляторах. Перед тем как приступить непосредственно к установке приложения, необходимо выбрать ее тип. Зачастую в таком случае в инсталляторе есть две кнопки «Настроить»/«Customization» и «Установить»/«Install». После выбора кнопки для установки все последующие этапы будут пропущены, вплоть до двенадцатого. А вот после выбора расширенной настройки установщика вам будет предоставлена возможность самостоятельно указать множество параметров, начиная от выбора папки, в которую будут скопированы файлы приложения, и заканчивая выбором дополнительного программного обеспечения.

выбор типа установки в инсталляторе

Шаг 5: Принятие лицензионного соглашения

Перед тем как приступать к настройке установщика, необходимо принять лицензионное соглашение, предварительно с ним ознакомившись. В противном случае продолжить установку приложения нельзя. В разных установщиках это действие совершается по-разному. В некоторых достаточно просто нажать «Далее»/«Next», а в других перед этим вам понадобится поставить переключатель в положение «Я принимаю условия соглашения»/«I accept the terms in License Agreement» или что-то близкое по содержанию.

принятие лицензионного соглашения при установке приложения на компьютер

Шаг 6: Выбор папки для инсталляции

выбор папки для установки приложения

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

Шаг 7: Выбор папки в меню «Пуск»

Сразу стоит сказать, что этот этап иногда совмещен с предыдущим.

выбор папки для установки игры и выбор папки в меню пуск

Между собой они практически не отличаются. Вам необходимо указать название папки, которая будет располагаться в меню «Пуск», откуда вы сможете запустить приложение. Как и в прошлый раз, можете вписать имя самостоятельно, изменив название в соответствующей графе, или же нажать «Обзор»/«Browse» и указать ее через «Проводник». Введя название, нажмите кнопку «Далее»/«Next».

выбор папки в меню пуск при установке приложения

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

галочка для отказа от создания папки в меню пуск

Шаг 8: Выбор компонентов

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

Шаг 9: Выбор файловых ассоциаций

Если программа, которую вы устанавливаете, взаимодействует с файлами различных расширений, то вам будет предложено выбрать те файловые форматы, которые будут запускаться в устанавливаемой программе по двойному нажатию ЛКМ. Как и на предыдущем этапе, вам точно так же необходимо поставить отметку рядом с пунктами в списке и нажать кнопку «Далее»/«Next».

выбор файловых ассоциаций при установке программы

Шаг 10: Создание ярлыков

создание ярлыков приложения при его установке

Шаг 11: Установка дополнительного ПО

Стоит сразу сказать, что этот шаг может быть как позже, так и раньше. В нем вам будет предложено установить дополнительное программное обеспечение. Чаще всего это происходит в нелицензионных приложениях. В любом случае рекомендуется отказаться от предложенной возможности, так как сами по себе они бесполезны и лишь будут засорять компьютер, а в некоторых случаях так и вовсе таким образом распространяются вирусы. Для этого вам необходимо снять галочки со всех пунктов и нажать кнопку «Далее»/«Next».

отказ в установке дополнительного программного обеспечения при инсталляции программы

Шаг 12: Ознакомление с отчетом

кнопка для начала установки приложения

Шаг 13: Процесс инсталляции приложения

процесс инсталляции приложения

Шаг 14: Окончание установки

завершение установки программы

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

перезагрузка компьютера после установки программы

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

ярлык для запуска программы и исполняемый файл приложения

Программы для установки ПО

Мы же рассмотрим использование подобного ПО на примере Npackd. К слову, его установку вы можете произвести, используя инструкцию, которая приведена выше. Чтобы установить программу, после запуска приложения вам необходимо сделать следующее:

    Перейдите на вкладку «Пакеты».

вкладка пакеты в программе npackd

выбор статуса искомых программ в программе npackd

выбор категории программ в программе npackd

выбор программы для установки в программе npackd

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

поиск программы для установки с помощью опции поиск в программе npackd

кнопка для начала установки программы в программе npackd

процесс загрузки и установки программы в программе npackd

кнопка для добавления нового пакета в программе npackd

Программы для установки драйверов

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

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

Заключение

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.



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

Итак, цель: затратив как можно меньше усилий, создать собственную загрузочную флешку, которая всего-навсего печатает на экране компьютера классический “Hello World”.

Если быть более точным, то нам нужно “попасть” в защищенный режим с отключенной страничной адресацией и прерываниями – самый простой режим работы процессора с привычным поведением для простой консольной программы. Самый разумный способ достичь такой цели – собрать ядро поддерживающее формат multiboot и загрузить его с помощью популярного загрузчика Grub. Альтернативой такого решения является написание собственного volume boot record (VBR), который бы загружал написанный собственный загрузчик (loader). Приличный загрузчик, как минимум, должен уметь работать с диском, с файловой системой, и разбирать elf образы. Это означает необходимость написания множества ассемблерного кода, и немало кода на С. Одним словом, проще использовать Grub, который уже умеет делать все необходимое.

Начнем с того, что для дальнейших действий необходим определенный набор компиляторов и утилит. Проще всего воспользоваться каким-нибудь Linux (например, Ubuntu), поскольку он уже будет содержать все что нужно для создания загрузочной флэшки. Если вы привыкли работать в Windows, то можно настроить виртуальную машину с Linux (при помощи Virtual Box или VMware Workstation).

Если вы используете Linux Ubuntu, то прежде всего необходимо установить несколько утилит:
1. Grub. Для этого воспользуемся командой:


2. Qemu. Он нужен, чтобы все быстро протестировать и отладить, для этого аналогично команда:


Теперь наш план выглядит так:
1. создать программу на C, печатающую строку на экране.
2. собрать из нее образ (kernel.bin) в формате miniboot, чтобы он был доступен для загрузки с помощью GRUB.
3. создать файл образа загрузочного диска и отформатировать его.
4. установить на этот образ Grub.
5. скопировать на диск созданную программу (kernel.bin).
6. записать образ на физический носитель или запустить его в qemu.


а процесс загрузки системы:

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

Скрипт компановщика для ядра.

Код на ассемблере, который вызывается Grub’ом и передает управление функции main из программы на С.

Папка с заголовочными файлами.

Папка с файлами Grub’а.

Папка с функциями общего назначения. В том числе реализация printf.

Шаг 1. Создание кода целевой программы (ядра):

Сигнатура формата Multiboot

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

0xE4524FFE= -(MAGIC + FLAGS)

Если все указанные условия выполнены, то Grub через регистры %eax и %ebx передает указатель на структуру multiboot Information и значение 0x1BADB002 соответственно. Структура multiboot Information содержит различную информацию, в том числе список загруженных модулей и их расположение, что может понадобиться для дальнейшей загрузки системы.
Для того, чтобы файл с программой содержал необходимые сигнатуры создадим файл loader.s, со следующим содержимым:

Весь последующий код попадет в исполняемую секцию .text.

Объявляем символ loader видимым для линковщика. Это требуется, так как линковщик будет использовать loader как точку входа.

Этот код формирует сигнатуру формата Multiboot. Директива .set устанавливает значение символа в выражение справа от запятой. Директива .align 4 выравнивает последующее содержимое по 4 байта. Директива .long сохраняет значение в четырех последующих байтах.

И теперь последняя часть:


Первой инструкцией происходит сохранение значения верхушки стека в регистре %esp. Так как стек растет вниз, то в %esp записывается адрес конца диапазона отведенного под стек. Две последующие инструкции сохраняют в ранее зарезервированных диапазонах по 4 байта значения, которые Grub передает в регистрах %eax, %ebx. Затем происходит вызов функции main, которая уже написана на Си. В случае возврата из этой процедуры процессор зациклится.

Шаг 2. Подготовка дополнительного кода для программы (системная библиотека):

Поскольку вся программа пишется с нуля, то функцию printf нужно написать с нуля. Для этого нужно подготовить несколько файлов.
Создадим папку common и include:


Потом, удалить функцию printf_init_global и все ее упоминания в этом файле:

Затем удалить переменную printf_lock и все ее упоминания в этом файле:


Функция printf использует функцию putchar, которую так же нужно написать. Для этого создадим файл common\screen.с, со следующим содержимым:


Указанный код, содержит простую логику печати символов на экран в текстовом режиме. В этом режиме для записи символа используется два байта (один с кодом символа, другой с его атрибутами), записываемые прямо в видео память отображаемую сразу на экране и начинающуюся с адреса 0xB8000. Разрешение экрана при этом 80x25 символов. Непосредственно печать символа осуществляется при помощи макроса PUT.
Теперь не хватает всего несколько заголовочных файлов:
1. Файл include\screen.h. Объявляет функцию putchar, которая используется в функции printf. Содержимое файла:


2. Файл include\printf.h. Объявляет функцию printf, которая используется в main. Содержимое файла:

Таким образом папки include и common содержат минимальный код системной библиотеки, которая необходима любой программе.

Шаг 3. Создание скрипта для компоновщика:

Создаем файл linker.ld, который будет использоваться компоновщиком для формирования файла целевой программы (kernel.bin). Файл должен содержать следующее:


Встроенная функция ENTRY() позволяет задать входную точку для нашего ядра. Именно по этому адресу передаст управление grub после загрузки ядра. Компоновщик при помощи этого скрипта создаст бинарный файл в формате ELF. ELF-файл состоит из набора сегментов и секций. Список сегментов содержится в Program header table, список секций в Section header table. Линковщик оперирует с секциями, загрузчик образа (в нашем случае это GRUB) с сегментами.

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


Говорит о том, что далее описываются секции.

Это выражение указывает линковщику, что все последующие секции находятся после адреса LMA.

Директива выше, означает, что секция выровнена по 0x1000 байт.

Отдельная секция multiboot, которая включает в себя секцию .text из файла loader.o, сделана для того, что бы гарантировать попадание сигнатуры формата multiboot в первые 8кб образа ядра.

Теперь скомпилируем код в бинарный файл следующими командами:

С помощью objdump’а рассмотрим, как выглядит образ ядра после линковки:



Как можно видеть, секции в образе совпадают с теми, что мы описали в скрипте линковщика. Линковщик сформировал 3 сегмента из описанных секций. Первый сегмент включает в себя секции .multiboot, .text, .rodata и имеет виртуальный и физический адрес 0x00100000. Второй сегмент содержит секции .data и .bss и располагается по адресу 0x00104000. Значит все готово для загрузки этого файла при помощи Grub.

Шаг 4. Подготовка загрузчика Grub:
Создать папку grub:


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


Создать файл grub/menu.lst, со следующим содержимым:

Шаг 5. Автоматизация и создание загрузочного образа:

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

В файле объявлены две основные цели: all – компилирует ядро, и image – которая создает загрузочный диск. Цель all подобно привычным makefile содержит подцели .s.o и .c.o, которые компилируют *.s и *.c файлы в объектные файлы (*.o), а так же цель для формирования kernel.bin, которая вызывает компоновщик с созданным ранее скриптом. Эти цели выполняют ровно те же команды, которые указаны в шаге 3.
Наибольший интерес здесь представляет создание загрузочного образа hdd.img (цель image). Рассмотрим поэтапно, как это происходит.

Эта команда создает образ, с которым будет происходить дальнейшая работа. Количество секторов выбрано не случайно: 16065 = 255 * 63. По умолчанию fdsik работает с диском так, как будто он имеет CHS геометрию, в которой Headers (H) = 255, Sectors (S) = 63, а Cylinders( С ) зависит от размера диска. Таким образом, минимальный размер диска, с которым может работать утилита fdsik, без изменения геометрии по умолчанию, равен 512 * 255 * 63 * 1 = 8225280 байт, где 512 – размер сектора, а 1 – количество цилиндров.
Далее создается таблица разделов:

Первая команда монтирует файл hdd.img к блочному устройству /dev/loop1, позволяя работать с файлом как с устройством. Вторая команда создает на устройстве /dev/loop1 таблицу разделов, в которой находится 1 первичный загрузочный раздел диска, занимающий весь диск, с меткой файловой системы FAT32.
Затем форматируем созданный раздел. Для этого нужно примонтировать его как блочное устройство и выполнить форматирование.

Первая команда монтирует ранее созданный раздел к устройству /dev/loop2. Опция –offset указывает адрес начала раздела, а –sizelimit адрес конца раздела. Оба параметра получаются с помощью команды fdisk.

Утилита mkdosfs форматирует раздел в файловую систему FAT32.
Для непосредственной сборки ядра используются рассмотренные ранее команды в классическом синтаксисе makefile.
Теперь рассмотрим как установить GRUB на раздел:

После выполнения вышеприведенных команд, образ будет готов к установке GRUB’а. Следующая команда устанавливает GRUB в MBR образа диска hdd.img.


Все готово к тестированию!

Шаг 6. Запуск:

Для компиляции, воспользуемся командой:

После которой должен появиться файл kernel.bin.
Для создания загрузочного образа диска, воспользуемся командой:

В результате чего должен появиться файл hdd.img.
Теперь с образа диска hdd.img можно загрузиться. Проверить это можно с помощью следующей команды:




Для проверки на реальной машине нужно сделать dd этого образа на флэшку и загрузиться с нее. Например такой командой:


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

Ссылки на следующие статьи цикла:
"Как запустить программу без операционной системы: часть 2"
"Как запустить программу без операционной системы: часть 3: Графика"
"Как запустить программу без операционной системы: часть 4. Параллельные вычисления"
"Как запустить программу без операционной системы: часть 5. Обращение к BIOS из ОС"
"Как запустить программу без операционной системы: часть 6. Поддержка работы с дисками с файловой системой FAT"

Читайте также: