如何创建从 128 扇区开始的磁盘分区?

如何创建从 128 扇区开始的磁盘分区?

我在将 USB 闪存插入某台故障计算机后意外丢失了分区表。
此闪存testdisk找不到任何内容,并显示Partition sector doesn't have the endmark 0xAA55。并且gdisk找不到任何分区表。

但是我有两块这个型号的闪存,并且没有更改它们的分区。所以我检查了第二块闪存,发现它有第一个单独的主 FAT32 分区,从 128 扇区开始(!)。

所以我的想法是:使用一些低级工具重新创建 MBR 分区表,而不对其进行格式化。

我应该使用哪个工具?

答案1

我发现只有一个应用程序能够设置太小的起始扇区值。

它被命名sfdisk(来自utils-linux包,通常是预先安装的)。

所需操作的语法如下:

$ sudo sfdisk /dev/sdX

>>> 128,,0xb
>>> write

在哪里

  • 128是起始扇区(后跟逗号,);
  • 没有符号表示自动调整大小(后跟逗号,);
  • 0xbW95 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

注意:其他工具如cfdiskfdisk允许将起始扇区设置为> = 2048。

相关内容