Как загрузочный сектор находит и загружает ОС в ОЗУ, так что выполнение начинается нормально.
Когда загружается процессор, он начинает выполнять код в указанном месте в BIOS.Этот код содержит проверку безопасности (самопроверку при включении), затем он читает в некотором месте в памяти подпрограммы, чтобы узнать, с какого устройства он будет загружаться, и считывает с этого «диска» первый сектор (512 байт).
Этот сектор называется «основной загрузочной записью» и содержит некоторый код (~ 440 байт на ПК) и описание разделов диска.Фактический код зависит от базовой ОС.В Windows он в основном описывает «активный раздел», в котором находится система.В Linux есть более сложный код, выполняемый загрузчиками как grub для загрузки различных систем, но он заканчивается получением номера раздела, в котором находится система.Это часто называют «первой стадией» процесса загрузки.
Затем, после идентификации системного раздела, один считывает загрузочный сектор (первые 512 байт) этого раздела («вторая стадия»).Код этого загрузчика содержит упрощенную ОС, которая имеет средства для чтения содержимого диска относительно файловой системы ОС.Таким образом, он может читать файлы с диска.В общем, есть файл конфигурации (grub.conf для grub или boot.ini в windows), который дает директивы и имя файла системы для загрузки.
Итак, загрузчик считывает файл конфигурации, находит файл, содержащий операционную систему, считывает его с диска и загружает в память.Затем процессор может начать выполнение системы.
Когда мы устанавливаем операционную систему на жесткий диск, то где она находится на жестком диске.Является ли это предопределенным определенным местоположением или ОС оказывается в любом произвольном месте.
Как видите, система расположена на диске в более или менее произвольном месте, но в фиксированных местах находятся программы (загрузочный сектор диска и его разделов), которые используютсячитать диск и получить доступ к системе.Вы можете найти более подробную информацию, например, https://en.wikipedia.org/wiki/Booting.