Якщо ми говоримо про розділи в стилі MBR ...
dd if=/dev/zero of=/dev/[disk device] bs=1 count=64 seek=446 conv=notrunc
Пояснення:
dd
Ця стандартна команда копіює байти з джерела і записує їх у пункт призначення. Це найпростіший гнучкий інструмент для цієї роботи.
if=/dev/zero
Тут ми вказуємо, що ми читаємо з /dev/zero
, що є спеціальним пристроєм, який випромінює NUL
байти - нулі.
of=/dev/[disk device]
Тут ми вказуємо, до якого пристрою ми пишемо.
bs=1
dd
мислить з точки зору блоків . За замовчуванням розмір блоку може становити 512 байт, 1024 байти або 4096 байт, залежно від вашої системи. Однак нам потрібно розібратися з речами більш точно, тому ми говоримо dd
використовувати розмір блоку в 1 байт.
кол = 64
Тут ми dd
хочемо записати 64 блоки (або байти через наш bs=1
параметр), оскільки первинна таблиця розділів складається з 4-х 16-байтних розділів розділів, загалом 64 байти.
шукати = 446
Таблиця первинних розділів в MBR (отже, тут не йдеться про GPT) знаходиться на 446 байтах, тому ми доручаємо dd
шукати 446 байтів перед тим, як писати.
Розширені розділи, як правило, створюються за допомогою основного слота розділу для вказівки на розширену таблицю розділів, тому, якщо ми стираємо 4 первинні розділи, ми також ефективно витираємо розширену таблицю розділів; ОС не зможе її знайти, тому не зможе її читати та інтерпретувати. (Якщо ви хочете стерти розширену таблицю розділів, вам потрібно знати більше про операційну систему; різні операційні системи роблять розширені розділи різними способами.)