Я случайно потерял таблицу разделов после вставки моей флэш-памяти USB к некоторому неисправному компьютеру.
Для этой флэш-памяти testdisk
ничего не может найти и говорит это Partition sector doesn't have the endmark 0xAA55
. И gdisk
не может найти таблицу разделов на нем.
Но я имею две вспышки этой модели и не сделал изменил их разделение. Таким образом, я проверил вторую флэш-память и видел, что она имеет сначала единственный основной раздел FAT32, запускающийся в 128 секторах (!).
Таким образом, моя идея следующая: воссоздайте таблицу разделов MBR с помощью некоторого инструмента низкого уровня, не форматируя его.
Какой инструмент я должен использовать?
Я нашел только одно применение, которое в состоянии устанавливать слишком маленькое значение стартового сектора.
Это называют sfdisk
(от utils-linux
пакет, обычно предварительно устанавливаемый).
Синтаксис для необходимого действия следующий:
$ sudo sfdisk /dev/sdX
>>> 128,,0xb
>>> write
где
128
запускает сектор (сопровождаемый запятой ,
);,
);0xb
короткая маркировка для W95 FAT32
тип раздела.следовать за форматом от справки (или видеть man sfdisk
):
<start> Beginning of the partition in sectors, or bytes if specified in the format <number>{K,M,G,T,P,E,Z,Y}. The default is the first free space. <size> Size of the partition in sectors, or bytes if specified in the format <number>{K,M,G,T,P,E,Z,Y}. The default is all available space. <type> The partition type. Default is a Linux data partition. MBR: hex or L,S,E,X shortcuts. GPT: UUID or L,S,H shortcuts. ```
и наконец я попросил, чтобы система перечитала измененную таблицу разделов:
$ sudo partprobe
Примечания: другие инструменты такой как cfdisk
и fdisk
позволяет устанавливать стартовый сектор как> = 2048.