如何用dd复制分区信息?

如何用dd复制分区信息?

我正在尝试使用恢复分区信息测试盘。为了尝试,我使用以下命令将所有数据从原始硬盘复制到另一个物理驱动器DD如下:

$ dd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,noerror,sync

在原始驱动器上运行 TestDisk 显示如下:

Disc /dev/sda - 500 GB / 465 GiB - CHS 969021 16 63

Warning: the current number of heads per cylinder is 16
but the correct value may be 255
You can use the Geometry menu to change this value.
It's something to try if
- some partitions are not found by TestDisk
- or the partition table can not be written because partitions overlaps.

继续执行而不更改任何内容后,“快速分析”输出:

Disk /dev/sda - 500 GB / 465 GiB - CHS 969021 16 63
     Partition             Start        End    Size in sectors
 * HPFS - NTFS               2   0 33    205   3 19     204800 [System-reserviert]
 P HPFS - NTFS             205   3 20 203174   9 41  204593152 [W764]
 P Linux                203176  10 11 305359   3 51  103000064
 L Linux                313112   6  7 373707   2 50   61079552
   HPFS - NTFS          373707   2 51 969022  15 47  600078336 [DATA]
   HPFS - NTFS          373707   2 58 969020  15 63  600076329

在测试驱动器上运行 TestDisk“快速分析”显示如下:

Disk /dev/sdb - 500 GB / 465 GiB - CHS 969021 255 63
     Partition             Start        End    Size in sectors
   HPFS - NTFS               0  32 33     12 223 19     204800 [System-reserviert]
   HPFS - NTFS              12 223 20  12748  53 41  204593152 [W764]
   Linux                 12748  86 11  19159 202 51  103000064
   Linux                 19646  68  7  23448  74 50   61079552
   HPFS - NTFS           23448  74 51  60801 112 47  600078336 [DATA]

这些光盘不是同一品牌的。测试的硬盘是SSD。好像分区信息没有复制到测试驱动器上。为什么?


的输出软盘两张光盘都是一样的。这里是为了/dev/sda

$ sudo sfdisk -d /dev/sda
# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=376696782, size=600076386, Id= 7, bootable
/dev/sda2 : start=        0, size=        0, Id= 0, bootable
/dev/sda3 : start=        0, size=        0, Id= 0, bootable
/dev/sda4 : start=        0, size=        0, Id= 0, bootable

这是输出分手了. 光盘型号不同-其他数据相同:

$ sudo parted /dev/sda print
Model: Disk Name (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End    Size    Type     File systems  Flags
 1      193GB  500GB  307GB  primary  ntfs          boot

S-ATA 光盘的几何结构(如内核所见)...

$ sudo sfdisk -g /dev/sda
/dev/sda: 969021 cyclinders, 16 heads, 63 sectors/track

...以及 SSD 磁盘

$ sudo sfdisk -g /dev/sdb
/dev/sdb: 60801 cyclinders, 255 heads, 63 sectors/track

答案1

最后,我能够在第二个驱动器上重现 TestDisk 的输出。我只是将几何设置更改为原始驱动器的几何设置。我做了以下事情:

查找原始驱动器的几何设置:

$ sudo sfdisk -g /dev/sda
/dev/sda: 969021 cyclinders, 16 heads, 63 sectors/track

打开TestDisk,选择“测试光盘”并应用Geometry菜单中的上述设置。不要害怕 - 该设置不是永久性的。

然后选择Quick analyze,结果应该与原始驱动器显示的结果相同。这次它像原始驱动器一样识别了所需的 Linux 分区。这次我可以省力地写入分区表,因为它只应用了“测试盘”。


进一步阅读,非常有帮助:如何挂载加密的主分区?

相关内容