不小心运行了“sudo gpart -W /dev/sda /dev/sda”——我该如何恢复我的分区?

use*_*169 3 linux hard-drive partitioning partition-recovery

我试图修复位于 /dev/sdb 上的损坏的 MicroSD 卡,但是我不小心在 /dev/sda 上运行了 gpart 工具。(不是gparted,而是gpart)

我最终写了一个分区,所以现在我的内部硬盘驱动器上有 4 个分区,我有 1 个分区。

这是输出fdisk -l

Disk /dDisk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 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
ev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 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
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,但我的系统仍在工作。不过我怕重启后就没有系统了。我有一个双启动 Windows 7/Arch Linux 设置。

当我用 gpart 覆盖它们时,我应该如何恢复我的分区?

use*_*169 5

好的 - 事实证明,我覆盖的只是我的分区表

我使用 恢复了它testdisk,可以在此处找到分步说明:

http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step#Partition_table_recovery

我实际上有比我记得的更多的分区,这是恢复的布局:

磁盘 /dev/sda:320.1 GB,320072933376 字节 255 个磁头,63 个扇区/磁道,38913 个柱面,总共 625142448 个扇区单位 = 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节/I O 大小(最小/最佳):512 字节 / 512 字节磁盘标识符:0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    24578047    12288000    7  HPFS/NTFS/exFAT
/dev/sda2        24578048    24782847      102400    7  HPFS/NTFS/exFAT
/dev/sda3        24782848   500794240   238005696+   7  HPFS/NTFS/exFAT
/dev/sda4       500794245   625153409    62179582+   f  W95 Ext'd (LBA)
/dev/sda5       500794308   620173259    59689476   83  Linux
/dev/sda6       620173323   625137322     2482000   82  Linux swap / Solaris

Disk /dev/sdb: 4158 MB, 4158652416 bytes
128 heads, 62 sectors/track, 1023 cylinders, total 8122368 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
Run Code Online (Sandbox Code Playgroud)