Ejecuté fdisk en un disco equivocado. ¿Cómo puedo recuperarme?

Ejecuté fdisk en el HD incorrecto. Básicamente borré la tabla de partición, presioné w y dejé fdisk y solo entonces me di count de que ese era mi disco duro principal …

Recibí este post:

ADVERTENCIA: la relectura de la tabla de particiones falló con el error 16: dispositivo o recurso ocupado. El núcleo todavía usa la tabla anterior. La nueva tabla se usará en el próximo reinicio o después de ejecutar los discos de synchronization partprobe (8) o kpartx (8).

Miré a través de / sys / class / block / sdb / sdb * files de inicio y tamaño – Sabía que eso era lo que mantenía el kernel manteniendo los viejos desplazamientos y tamaños de partición hasta el reinicio … Y aquí está la reconstrucción de mi tabla.

name | startsector | size, sectors | type? ------------------------------------------------------------ sdb1 | 2048 | 2048 | sdb2 | 195510270 | 2 | sdb3 | 4096 | 195504128 | / sdb5 | 195510272 | 761716736 | /home sdb6 | 957229056 | 19542016 | swap partition 

Aquí hay testings para qué tipo de partición hubo:

 cr1tter@cr1tterhost:~$ sudo file -s /dev/sdb{1,2,3,5,6} /dev/sdb1: data /dev/sdb2: x86 boot sector; partition 1: ID=0x83, starthead 254, startsector 2, 761716736 sectors; partition 2: ID=0x5, starthead 254, startsector 761716738, 19544064 sectors, code offset 0x97 /dev/sdb3: Linux rev 1.0 ext4 filesystem data, UUID=b6d939b9-c197-4513-a1fe-9c614574afb0 (needs journal recovery) (extents) (large files) (huge files) /dev/sdb5: Linux rev 1.0 ext4 filesystem data, UUID=96f97705-f292-49db-b31d-249fab87d3d7 (needs journal recovery) (extents) (large files) (huge files) /dev/sdb6: Linux/i386 swap file (new style), version 1 (4K pages), size 2442751 pages, no label, UUID=a5744b72-248c-4ceb-8009-db6351cdc231 

Supongo que estoy confundido con lo que son sdb1 y sdb2 . Honestamente, no recuerdo qué son … Cuando instalé el sistema operativo, tuve que especificar las routes, como en / home, o la ruta de acceso de la raíz: / – fdisk no parece permitir eso …

PD> RESUELTO. ¡Gracias Jim Paris! AQUÍ está la transcripción de lo que hice. ¡Ya reinicié y el sistema funciona igual de bien …!

 sudo fdisk /dev/sdb Command (m for help): p Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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 Disk identifier: 0x000cd649 Device Boot Start End Blocks Id System Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-976773167, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-976773167, default 976773167): +1M Command (m for help): p Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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 Disk identifier: 0x000cd649 Device Boot Start End Blocks Id System /dev/sdb1 2048 4095 1024 83 Linux Command (m for help): n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p Partition number (1-4, default 2): 3 First sector (4096-976773167, default 4096): Using default value 4096 Last sector, +sectors or +size{K,M,G} (4096-976773167, default 976773167): +95461M Command (m for help): t Partition number (1-4): 3 Hex code (type L to list codes): 83 Command (m for help): n Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): e Partition number (1-4, default 2): Using default value 2 First sector (195508224-976773167, default 195508224): Using default value 195508224 Last sector, +sectors or +size{K,M,G} (195508224-976773167, default 976773167): Using default value 976773167 Command (m for help): n Partition type: p primary (2 primary, 1 extended, 1 free) l logical (numbenetworking from 5) Select (default p): l Adding logical partition 5 First sector (195510272-976773167, default 195510272): Using default value 195510272 Last sector, +sectors or +size{K,M,G} (195510272-976773167, default 976773167): +371932M Command (m for help): t Partition number (1-5): 5 Hex code (type L to list codes): 83 Command (m for help): n Partition type: p primary (2 primary, 1 extended, 1 free) l logical (numbenetworking from 5) Select (default p): l Adding logical partition 6 First sector (957229056-976773167, default 957229056): Using default value 957229056 Last sector, +sectors or +size{K,M,G} (957229056-976773167, default 976773167): +9542M Command (m for help): t Partition number (1-6): 6 Hex code (type L to list codes): L 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT 1e Hidden W95 FAT1 80 Old Minix Hex code (type L to list codes): 82 Changed system type of partition 6 to 82 (Linux swap / Solaris) Command (m for help): a Partition number (1-6): 1 Command (m for help): p Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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 Disk identifier: 0x000cd649 Device Boot Start End Blocks Id System /dev/sdb1 * 2048 4095 1024 83 Linux /dev/sdb2 195508224 976773167 390632472 5 Extended /dev/sdb3 4096 195508223 97752064 83 Linux /dev/sdb5 195510272 957227007 380858368 83 Linux /dev/sdb6 957229056 976771071 9771008 82 Linux swap / Solaris Partition table entries are not in disk order Command (m for help): w The partition table has been altenetworking! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. 

fdisk solo hace particiones; depende de otras cosas, como la command-line del kernel y el contenido de /etc/fstab para decidir cómo usarlas. Cuando le dijo al instalador que, por ejemplo, /dev/sdb5 debía usarse como /home , hizo /dev/sdb5 cosas para que eso ocurriera (configure la tabla de particiones, formatee la partición, ajuste fstab , etc.).

Para responder a tu pregunta específica:

  • Parece que sdb1 es su partición de arranque, utilizada para mantener el kernel en una location donde grub puede usar las llamadas del BIOS para recuperarlo. Probablemente ext2 , pero puede usar el file -s /dev/sdb1 para tratar de descubrir el formatting.

  • sdb2 parece una partición extendida. Las tablas de particiones de tipo MS-DOS normales solo pueden tener 4 particiones primarias, numeradas del 1 al 4. Si crea una de ellas con el tipo 0x05, puede crear más particiones lógicas con numbers más altos.

  • sdb3 parece a su partición raíz.

Es un poco raro que tu sdb3 y sdb2 estén fuera de service, pero eso es posible. Creo que debes hacer algo como esto en fdisk:

  • nueva tabla de partición
  • nueva partición primaria 1, comienza 2048, tamaño +2047
  • cambiar la ID de la partición 1 a 0x83 (Linux)
  • nueva partición extendida 2, inicie 195504128, tamaño (máximo)
  • nueva partición primaria 3, comienza 4096, tamaño +195504127
  • cambiar ID de la partición 3 a 0x83 (Linux)
  • nueva partición lógica 5, inicie 195510272, tamaño +761716735
  • cambiar ID de la partición 5 a 0x83 (Linux)
  • nueva partición lógica 6, inicie 957229056, tamaño +19542015
  • cambiar ID de la partición 6 a 0x82 (Intercambio de Linux)

Aunque no lo he usado, consulte testdisk – http://www.cgsecurity.org/wiki/TestDisk

He usado photorec, que es parte de las mismas herramientas para la recuperación de files.