Как вы думаете, что система знает, где находятся разделы?
Местоположения разделов на вашем диске хранятся в виде записей в таблице, известной как ... подождите ... таблицу разделов, которая записывается на диск, где находятся сами разделы. (Таблица разделов не обязательно должна находиться на том же диске, что и сами разделы. Но эта идея редко встречается практически в мире персональных компьютеров и выходит за рамки этого ответа.)
Как вы видели, существуют различные виды таблиц разделов. Они структурированы совсем по-другому, и то, что сказал Дэвид Дай о том, что они живут в начале диска, верно только для некоторых из них. Важно то, что они живут, по крайней мере частично, в фиксированном и известном месте на диске. Например:
- Таблица разделов EFI занимает два места на диске: несколько секторов в начале диска и несколько секторов в конце диска. Запись "заголовка" в фиксированной позиции в логическом секторе # 1, также отраженная в хорошо известной позиции в самом последнем секторе диска, показывает размеры и расположение собственно записей таблицы.
- Старая таблица разделов в стиле "MBR" распределяется по всему диску, но начинается с фиксированного набора из четырех "первичных" записей таблицы в логическом секторе № 0 диска, который (возможно, подвержен целой загрузке ifs и buts, которые являются вне рамок этого ответа) указывать на односвязные списки "расширенных" записей в других, переменных, местах.
- Схема метки диска BSD (при ее собственном использовании) содержит таблицу из 8 записей разделов в логическом секторе № 0 диска.
Диски не начинаются с записанных в них структур данных таблиц разделов. Чтение таблицы разделов обычно в неоднородном мире, таким образом, включает поиск в фиксированных и общеизвестных местах слов для подписи и выполнение проверок контрольной суммы, чтобы убедиться, что таблица разделов определенного типа фактически находится на диске в первую очередь. Создание таблицы разделов - это процесс записи на диск необходимых подписей, контрольных сумм и нулевых записей для формирования допустимой, но пустой таблицы разделов определенного типа. Создание раздела - это просто акт добавления записи в такую таблицу. (Затем идет форматирование раздела .)