LINUX.ORG.RU

удаление mbr с таблицей разделов

 


0

2

Объясните непосвященному - полагал что для удаления mbr c таблицей разделов необходимо затереть блочное устройство диска. Разве не так?

Смотрю диск:

$ sudo fdisk -l /dev/sdd

Disk /dev/sdd: 7,5 GiB, 8022654976 bytes, 15669248 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x064f1f4a

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdd1          63 15663374 15663312  7,5G 83 Linux

Затираю mbr (446 bytes) + таблицу разделов (64 bytes) + сигнатуру активности (2 bytes):

$ sudo dd if=/dev/random of=/dev/sdd bs=512 count=1
0+1 записей получено
0+1 записей отправлено
 скопировано 113 байт (113 B), 0,00288571 c, 39,2 kB/c

Проверяю блочное устройство диска и вижу - все на месте! Как так?!

$ sudo fdisk -l /dev/sdd

Disk /dev/sdd: 7,5 GiB, 8022654976 bytes, 15669248 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x064f1f4a

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdd1          63 15663374 15663312  7,5G 83 Linux

kpartx -d /dev/sdd 
partprobe /dev/sdd 
Deleted ()
Ответ на: комментарий от anonymous

Так был уверен в команде, что даже на выхлоп не посмотрел. Ходил, не мог понять в чем дело)

Надо было затирать так:

sudo dd if=/dev/urandom of=/dev/sdd bs=1 count=512

Интересно, неужели 113 байт оказалось недостаточно, чтобы все там поломать...

sukhorukov ()
Ответ на: комментарий от sukhorukov

Обычно тру пару мегабайт от начала.

И по уму надо размер блока задавать кратным размеру физического кластера диска, т.е. bs=512 count=1, чтобы dd записал это за один проход.

Ну и partprobe, как ранее советовали, чтобы информация о разделах обновилась.

Radjah ★★★★★ ()
Ответ на: комментарий от Radjah

Обычно тру пару мегабайт от начала.

Не хочется, что-нибудь лишнее затереть, на случай если придется вернуть как было.

И по уму надо размер блока задавать кратным размеру физического кластера диска, т.е. bs=512 count=1, чтобы dd записал это за один проход.

С радостью, да только в выхлопе, как бы видно, что в этом случае вместо 512, 113 байт затерлось. В памяти, что-то всплывает, что /dev/ranom и /dev/urandom генерят псевдослучайные последовательности блоками - похоже нестыковка в размере считываемого и генерируемого блока происходит. Но могу ошибаться, если кто знает откуда ноги растут поделитесь знаниями.

Ну и partprobe, как ранее советовали, чтобы информация о разделах обновилась.

Предпочитаю использовать dd, если это можно решить средствами dd. Означает что сработает всегда и везде.

sukhorukov ()
Ответ на: комментарий от sukhorukov

Предпочитаю использовать dd, если это можно решить средствами dd. Означает что сработает всегда и везде.

это я не про partprobe, а про kpartx -d /dev/sdd

sukhorukov ()
Ответ на: комментарий от sukhorukov

Интересно, неужели 113 байт оказалось недостаточно, чтобы все там поломать...

Ну какбэ это. Первые 448 байт - загрузчик. Дальше таблица разделов. Загрузчик ты поломал, таблица цела.

lenin386 ★★★ ()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от Radjah

таки побольше нужно. запись идёт блоками.

так что чтобы снизить write amplification поставить bs=1m

anonymous ()
Ответ на: комментарий от anonymous

man /dev/zero. Нахрен рендом вообще??

паранойя, работаю преимущественно с шифрованными устройствами

sukhorukov ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.