Основная загрузочная запись - это традиционный способ хранения информации на жестком диске вместе с некоторым загрузочным кодом. То есть таблица содержится внутри MBR, которая хранится в секторе №1: цилиндр 0/головка 0/сектор 1 или, альтернативно, LBA 0.
Персональные компьютеры по-прежнему используют этот загрузочный стандарт диска с информацией о разделах на нем. Традиционные таблицы разделов MBR в современном мире технически устарели, потому что 32-разрядная структура полей LBA начинает «переполняться» при работе с 2 Тб дисками. Одной из возможных ее замен является GPT.
Характеристика разделов и секторов
MBR - первый 512-байтный раздел физического сектора жесткого диска. Его аббревиатура от Master Boot Record - стандарт, который начал функционировать в 1983 году до сегодняшнего времени. Тем не менее он уже не соответствует новым технологическим требованиям. Одним из основных ограничений является максимальный размер, с которым он может работать - 2 Тб. Другое ограничение в том, что MBR может взаимодействовать только с 4 основными разделами.
Методы доступа:
- В CHS (цилиндры / головки, старый режим доступа) - это сектор No 1, головка No 0 и цилиндр No 0.
- в LBA (линейный доступ, начиная с нуля) - это первый физический сектор No 0.
В LBA они имеют абсолютное число, причем первый является нулевым номером. Например, таблица разделов MBR на диске MAXTOR объемом 80 Гб имеет 160 071 660 секторов: в режиме LBA они пронумерованы от 0 до 160 071 659.
MBR содержит 2 элемента, важных для запуска ПК:
- программа загрузки, которую BIOS запустит после аппаратного теста;
- главная таблица.
Он содержит 4 дескриптора, описывающих физическое положение на жестком диске. Физическая позиция указывается в таблице:
- абсолютный номер сектора № 1 в LBA;
- количество секторов и тип раздела.
Структура основной таблицы
Поскольку таблица разделов MBR содержит только 4 дескриптора, это объясняет, почему жесткий диск состоит из четырех разделов. Если пользователю нужно больше, ему придется создать расширенный вариант.
Условия создания расширенного раздела:
- На жестком диске допускается создание только одного раздела.
- Его можно разделить на столько логических частей, сколько нужно.
- Первый сектор расширенного раздела содержит таблицу логических элементов.
- В середине твердого диска находится таблица MBR разделов.
Возможны две конфигурации с использованием 4 дескрипторов:
- 4 основных раздела без расширенного.
- 3 основных и 1 расширенный, разделенный на несколько логических частей.
Определение структура МБР:
- Вначале находят программу BOOT.
- Посередине находят таблицу разделов MBR.
- Подтверждают, что это сектор BOOT.
- Найденные два байта являются шестнадцатеричными значениями 0x55 и 0xAA.
Загрузочная программа Grub
MBR содержит таблицу, которая отличается от одного диска к другому, поскольку разделы не имеют одинакового размера с сектором. Чтобы дублировать загрузочную программу, например, для Grub, таблицы MBR разделов с диска 1 на 2, нельзя копировать его непосредственно во второй, так как при перезаписи потеряется все.
Общие ограничения:
- Содержит таблицу из 4 разделов диска.
- Не имеет логических разграничений.
- Из 4 основных только один может быть расширенным.
- Если на диске создается расширенный логический раздел, то он сохраняется в первом секторе.
На жестком диске есть две таблицы:
- MAIN, сохраненная в первом секторе, которая находится на выбранном диске таблицы MBR разделов.
- Таблица логических разделов, сохраненная в первом секторе в середине диска.
Сохранение и изменение основных элементов
Учитывая хрупкость структуры в отношении вирусных программ, важно создавать резервные копии таблиц, чтобы восстановить их в случае возникновения проблем, например, в отношении MAIN. Когда на выбранном разделе находится таблица MBR разделов, учитывают, что жесткий диск содержит 4 основных из них и не имеет расширенного, потеря или уничтожение первичной происходит в одном из двух случаев:
- вирус, целью которого является уничтожение таблицы;
- плохое обращение пользователем с MBR.
Для резервного копирования существуют два решения: создать резервную копию дискеты (512 байт), где на выбранном разделе находится таблица MBR разделов и скопировать жизненно важную информацию для хранения в надежном месте.
Резервное копирование в файл может быть сделано с помощью утилиты dd под Linux, следующим образом:
dd if=/dev/hda of=secteur_mbr_disque_hda bs=512 count=1.
Затем создают файл: sector_mbr_disque_hda, который содержит 512 байт MBR.
Чтобы просмотреть его в шестнадцатеричном формате, используют mc под Linux: mc -v sector_mbr_disque_hda.
Алгоритм последующих действий, когда на диске находится таблица MBR разделов:
- Нажимают F4, чтобы увидеть файл в шестнадцатеричном формате.
- Нажимают F10 для выхода из mc.
- Находят резервный файл sector_mbr_disque_hda на резервном диске.
Резервное копирование
Во избежание дополнительных проблем с чтением резервной копии необходимо сохранять таблицу. Из всей информации, содержащейся в дескрипторах по 16 байт в MBR, только следующие 3 представляют интерес и позволят сохранить или восстановить основные разделы:
- абсолютное число в LBA первого;
- размер разбиения на сектора;
- тип раздела (шестнадцатеричное число от 0x00 до 0xFF).
Чтобы получить ее, используют программу fdisk под Linux. Например, чтобы просканировать диск, запускают: fdisk / dev / hdb. Входят в экспертное меню: команда «x». Просматривают таблицы: команда «p». Затем Fdisk отображает содержимое 4 дескрипторов MBR, начало и конец в режиме CHS, начало и размер в абсолютных секторах (режим LBA), последний столбец (ID).
Чтобы сохранить основную, необходимо указать тип, начало и размер каждого из 4 разделов. Например, для MAXTOR объемом 80 Гб используют следующую схему.
Hdb1 начинается в 63, а не в первом. Это означает, что с 1 по 62 сектор не используются на диске, что подтверждает команда fdisk v.
Таблица под Linux fdisk
В экспертном режиме отмеченная выше структура, имеет для единицы абсолютный сектор в доступе LBA. Но некоторые программы предоставляют fdisk в обычном режиме и предлагают в качестве единицы цилиндр (1 цилиндр = 16 065, секторов = приблизительно 8 Мо). Поэтому делают выбор: либо поднять таблицу перегородок и использовать сектор в качестве единицы, либо поднять цилиндры и применить цилиндрическую единицу. Цель состоит в том, чтобы избежать преобразования, например, для переключения из режима CHS в режим LBA, что в случае неправильного расчета может стать катастрофой для сохраненных данных.
Хотя цилиндр кажется более подходящим для описания разделов на выбранном диске, где находится таблица MBR для больших жестких дисков, используют только сектор по двум причинам:
- Он является самой малой единицей и позволяет определять разделы, даже если они не заканчиваются на пределе цилиндра, то есть, если не содержит число ENTIER цилиндров.
- Программа GRUB (запуск) позволяет вручную восстанавливать таблицу при условии ввода информации в абсолютных секторах LBA, а не в цилиндрах.
Освоение содержимого жесткого диска
Чтобы восстановить основную таблицу разделов, используют GRUB либо из командной строки при запуске ПК, либо загрузившись с дискеты, содержащей Grub, запустив его в оболочке Linux. Когда он представляет меню загрузочных систем (Linux, Windows), нажимают «С», чтобы перейти к командной строке.
Клавиша TAB показывает на экране все команды, которые можно использовать в Grub. Среди них есть функция partnew, которая создает новый раздел. На самом деле она ничего не делает, кроме записи (перезаписи) одного из 4 дескрипторов в MBR.
Синтаксис partnew: partnew partition type début taille,
где:
- Partition - это раздел для восстановления в форме (hd0,0) или (hd0,1) или (hd1,0). Grub начинает нумерацию дисков с нуля. Например, (hd0,0) представляет hda1 для Linux. Аналогично, Linux hdb3 будет представлен, как (hd1,2).
- Type - тип раздела в виде шестнадцатеричного числа (с префиксом 0x) на 1 байт.
- Début - абсолютный номер LBA первого сектора.
- Taille - представляет размер сектора.
Например, чтобы восстановить 4 раздела MAXTOR объемом 80 Гб, на данном диске находится таблица MBR разделов, поэтому набирают следующие 4 команды:
- grub> partnew (hd1,0) 0x83 63 7180992;
- grub> partnew (hd1,1) 0x82 7181055 1076355;
- grub> partnew (hd1,2) 0xc 8257473 73674027;
- grub> partnew (hd1,3) 0x83 81931563 78140097.
Чтобы воспроизвести таблицу, сохраненную в MBR, используют команду: grub> geometry (hd1).
Затем Grub возвращает тип каждого первичного раздела, а также общее количество секторов на диске в LBA, но не дает характеристики (начало и размер) каждого раздела, поэтому позволяет войти в таблицу.
По желанию Grub позволяет вводить информацию из места, где на данном разделе находится таблица MBR в дескрипторы. Это также «опустошает» один или несколько из 4 дескрипторов ОС Linux, DOS, Виндовс.
Настройка размера в реестре
MFT - центральная структура NTFS и FAT. В разделе есть резервная копия (MFT Mirror) для защиты от возможной потери информации. В этой конструкции он занимает несколько тысяч кластеров. По умолчанию NTFS резервирует 12,5 % доступного пространства на разделе, данные не могут быть записаны в этой зарезервированной области, что позволяет избежать фрагментации.
В реестре определен размер MFT в зависимости от типа файла, который был использован для регистрации. Если пользователь записывает много маленьких файлов, то лучше иметь большой MFT. Можно увеличить его и это улучшит производительность, если на разделе достаточно свободного места. Недостатки метода: если есть немного свободного места на разделе, увеличение MFT может способствовать его фрагментации и появление обратного эффекта.
Существует определенное программное обеспечение, которое позволяет дефрагментировать MFT, выполняя ее при запуске компьютера. Для настройки размера MFT в реестре, сначала сохраняют его с помощью Erunt, а затем находят следующий ключ: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem.
Нажимают правой кнопкой мыши значение NtfsMftZoneReservation и назначают значение от 1 до 4 в соответствии с требуемым пространством для MFT (12,5 %, 25 %, 37,5 %, 50 %). Затем выходят из реестра и перезагружают компьютер.
Предварительная дефрагментация в безопасном режиме не требуется, но в идеале лучше установить размер MFT в только что отформатированном разделе перед вводом данных. Рекомендуется заранее знать, какой тип данных будет размещаться: фильмы, музыка и фотографии, документы, это позволяет в лучшем случае адаптировать размер.
Камуфляж для операционной системы
Такая операция выполняется для того, чтобы скрыть данные на жестком диске. Маскировка делает данные недоступными для ОС. Таким образом, даже системный администратор (root Linux) не сможет больше получить доступ к этим скрытым данным.
Камуфляж не сводится к простому сокрытию файла путем активации его назначения или прав доступа с помощью ограничений файловой системы Ext2 в Linux или NTFS в Windows. Сокрытие - это неиспользование легальных функций, которые всем известны, а применение возможностей (BIOS, MBR и структуры разделов). Операционная система будет полностью игнорировать это пространство.
Первое решение, которое является наименее оригинальным из всех, состоит в том, чтобы скрыть полный раздел с помощью Partition Magic. Таким образом, могут быть скрыты только отформатированные в файловых системах FAT (FAT16 или FAT32) или NTFS. Вот типы, которые нужно использовать для этих разделов.
Реорганизация дескрипторов
Чтобы изменить тип раздела в одном из дескрипторов MBR без изменения других характеристик, можно использовать команду parttype из Grub. Например, чтобы скрыть hdb3 с 0xc в FAT32, вводят следующее в командной строке: grub> parttype (hd1,2) 0x1c.
Таким образом, место, занимаемое разделом, не будет пустым пространством, и он не будет виден из операционных систем Microsoft (MS-DOS, Win 9x, и Windows XP). Для Linux, независимо от того, имеется ли тип 0xc или 0x1c, FAT32 не будет создавать проблем в обоих случаях.
Для того чтобы вновь отобразить hdb3 в Windows, он даст ему параметр 0xc вместо 0x1c: grub> parttype (hd1,2) 0xc. Это решение использует только тип обычного раздела и скрывает данные только для систем DOS и Windows.
Восстановление процедуры загрузки
Под ОС Windows XP можно воссоздать процедуру загрузки MBR под DOS с помощью команды FIXMBR. Master Boot Record переписывают, что устраняет загрузочные вирусы, восстанавливает повреждения, когда ПК больше не загружается или удален загрузчик. Чтобы сохранить и восстановить MBR под Windows, нужно использовать программу отладки. В UNIX и Linux используется команда dd. Необходимо сохранять и восстанавливать только первый сектор, первые 512 байт диска.
Восстанавливать MBR с одного жесткого диска на другой очень рискованно, так как при этом таблица разделов второго будет заменена первым. Единственное исключение из этого правила возможно, когда обе машины имеют строго одинаковую конфигурацию оборудования, особенно, если жесткие диски одинаковы и их разбиение равнозначно.
В Windows Vista для восстановления используется команда bootrec / FixMbr. Это доступно из консоли восстановления. Следует отметить, что если первоначальная MBR указывала на загрузчик Linux (GRUB, LILO), она становится недоступной после этого сбоя. Затем он должен загрузиться с компакт-диска Linux (установка / восстановление) и, таким образом, восстановить его.
Система безопасности компьютера
Независимо от того, используется ли компьютер под управлением Windows, Macintosh или Linux для повседневного использования, необходимо выполнять минимальные действия для защиты конфиденциальных данных на машинах, подключенных к сети.
Алгоритм действий:
- Регулярно выполнять операцию chkdsk для ремонта или изоляции поврежденных секторов, что, важнее, чем дефрагментация или очистка дисков.
- Выполнять и сохранять загрузочные сектора всех разделов MBR. Для этого существует различное программное обеспечение: EditHexa, PTedit, DiskMap. Эти программы позволяют создавать резервные копии и показывают созданные таблицы.
- Использовать программное обеспечение для восстановления данных, если юзеры забыли сделать резервные копии.
Сравнение стандартов
Несмотря, что MBR еще полностью функционален, ему на замену выпущен новый стандарт GPT для GUID, связанный с новыми системами UEFI. Он не имеет ограничений, кроме установленных и самими ОС, как по размеру, так и по количеству, например, Windows имеет ограничение в 128 разделов. Надежность GPT-дисков намного выше, чем у MBR. В случае утери, повреждения или перезаписи, GPT создает несколько избыточных копий по всему диску, так что в случае сбоя, проблемы или ошибки таблица автоматически извлекается из любой из этих копий.
С точки зрения совместимости при создании или редактировании разделов инструмент должен быть сооотнесен с новым форматом, в противном случае редактировать таблицу MBR разделов невозможно, так как будет активирована защита, чтобы несовместимый инструмент не спутал GPT с MBR стандарты.
Что касается ОС "Виндовс", можно загружаться только с GPT в 64 версиях, начиная с Vista. Современные версии Linux также совместимы с этим типом диска и даже Apple начала использовать GPT в качестве таблицы по умолчанию вместо APT (Apple Partition Table).
Есть несколько способов узнать, использует ли диск ту или иную таблицу разделов MBR. Для этого можно открыть диспетчер дисков Windows, любой инструмент разметки, включенный в MS-DOS.
Открывают окно CMD с правами администратора и вводят в нем diskpart. Как только инструмент загружен, он выполняет свою работу, а пользователю остается ознакомиться с результатом.