Mbr – це традиційний спосіб зберігання інформації на жорсткому диску разом з деяким завантажувальним кодом. Тобто таблиця міститься всередині MBR, яка зберігається у секторі №1: циліндр 0/головка 0/сектор 1 або, альтернативно, LBA 0.
Персональні комп’ютери як і раніше використовують цей завантажувальний стандарт диска з інформацією про розділи на ньому. Традиційні таблиці розділів в MBR сучасному світі технічно застаріли, тому що 32-розрядна структура полів LBA починає «переповнюватися» при роботі з 2 Тб дисками. Однією з можливих замін є GPT.
Характеристика розділів і секторів
MBR – перший 512-байтний розділ фізичного сектора жорсткого диска. Його абревіатура від Master Boot Record – стандарт, який почав функціонувати в 1983 році до сьогоднішнього часу. Тим не менш він вже не відповідає новим технологічним вимогам. Одним з основних обмежень є максимальний розмір, з яким він може працювати – 2 Тб. Інше обмеження в тому, що MBR може взаємодіяти тільки з 4 основними розділами.
Методи доступу:
У LBA вони мають абсолютне число, причому перший є нульовим номером. Наприклад, таблиця розділів, MBR на диску MAXTOR об’ємом 80 Гб має 160 071 660 секторів: в режимі LBA вони пронумеровані від 0 до 160 071 659.
MBR містить 2 елемента, важливих для запуску ПК:
- програма завантаження, яку BIOS запустить після апаратного тесту;
- головна таблиця.
Він містить 4 дескриптора, що описують фізичне розташування на жорсткому диску. Фізична позиція вказується в таблиці:
- абсолютний номер сектора № 1 в LBA;
- кількість секторів і тип розділу.
Структура основної таблиці
Оскільки таблиця розділів, MBR містить лише 4 дескриптора, це пояснює, чому жорсткий диск складається з чотирьох розділів. Якщо користувачеві потрібно більше, йому доведеться створити розширений варіант.
Умови створення додаткового розділу:
Можливі дві конфігурації з використанням 4 дескрипторів:
Визначення структура МБР:
Завантажувальна програма Grub
MBR містить таблицю, яка відрізняється від одного диска до іншого, оскільки розділи не мають однакового розміру з сектором. Щоб дублювати завантажувальну програму, наприклад, для Grub, таблиці MBR розділів диска 1 на 2, можна копіювати його безпосередньо у другій, так як при перезапису загубиться все.
Загальні обмеження:
На жорсткому диску є дві таблиці:
Збереження і редагування основних елементів
Враховуючи хиткість структури щодо вірусних програм, важливо створювати резервні копії таблиць, щоб відновити їх у разі виникнення проблем, наприклад, щодо 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 розділів:
Резервне копіювання
Щоб уникнути додаткових проблем з читанням резервної копії необхідно зберігати таблицю. З усієї інформації, що міститься в дескрипторах по 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 для великих жорстких дисків, використовують тільки сектор з двох причин:
Освоєння вмісту жорсткого диска
Щоб відновити основну таблицю розділів, використовують GRUB або з командного рядку при запуску ПК, або завантажившись з дискети, що містить Grub, запустивши його в оболонці Linux. Коли він представляє меню завантажувальних систем (Linux, Windows), натискають «З», щоб перейти до командного рядка.
Клавіша TAB показує на екрані всі команди, які можна використовувати в Grub. Серед них є функція partnew, яка створює новий розділ. Насправді вона нічого не робить, крім запису (перезапису) одного з 4 дескрипторів в MBR.
Синтаксис partnew: partnew partition type début taille,
де:
- Partition – це розділ для відновлення у формі (hd0,0) або (hd0,1) або (hd1,0). Личинка починає нумерацію дисків з нуля. Наприклад, (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, Mac або Linux для повсякденного використання, необхідно виконувати мінімальні дії для захисту конфіденційних даних на машинах, підключених до мережі.
Алгоритм дій:
Порівняння стандартів
Незважаючи, що 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. Як тільки інструмент завантажений, він виконує свою роботу, а користувачеві залишається ознайомитися з результатом.