¿Cómo arreglar manualmente una tabla de particiones?

10

Recientemente tuve problemas con la tabla de partición / MBR en mi computadora portátil. Logré reconstruir la tabla de particiones usando testdisk e instalar GRUB para que se reinicie correctamente (estoy usando un arranque dual con Windows 7). Sin embargo, ya no puedo ejecutar gparted correctamente cuando recibo el error Can't have a partition outside the disk!.

fdisk -l la salida se ve así:

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x188f12a9

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         154     1228800    7  HPFS/NTFS/exFAT
/dev/sda2             154       13446   106775171    7  HPFS/NTFS/exFAT
/dev/sda3           13447       28745   122880000   83  Linux
/dev/sda4           28745       30402    13317664+   f  W95 Ext'd (LBA)
/dev/sda5           28745       29127     3069944   82  Linux swap / Solaris
/dev/sda6           29127       30402    10240000    7  HPFS/NTFS/exFAT

Entonces el disco tiene 30401 cylinders, pero sda6termina en cylinder 30402; presumiblemente ahí es donde está el problema.

Cuando ejecuto testdisk, la sexta partición termina en cylinder 30401, pero escribirla en la tabla de particiones no hace ninguna diferencia.

¿Hay una manera fácil de arreglar esto?

He leído en otra parte que podría solucionar esto editando manualmente la tabla de particiones, ¡pero me gustaría obtener instrucciones realmente específicas ya que realmente no sé mucho sobre esta área!

jwaddell
fuente
1
¿Eres capaz de correr gparted /dev/sda6? ¿Puedes ejecutar el editor de particiones desde un Live CD? De lo contrario, el manual puede ser el camino a seguir ...
Rasman
Lo mismo sucede cuando se usa un Live CD. Lo intentaré gparted /dev/sda6esta noche.
jwaddell

Respuestas:

11

Usa fdisk. Póngalo en modo sector con el ucomando, luego pimprima la tabla, delimine la partición y luego nvuelva a crearla. Cuando lo vuelva a crear, use el mismo sector inicial, pero un sector final que realmente encaje dentro del disco. Cuando haya terminado y haya verificado dos pveces ( nuevamente), guarde y salga con w.

psusi
fuente
1
Resultó ser la partición extendida que era el problema, pero fdiskfuncionó bien para recrearla y las particiones lógicas dentro de ella. gpartedahora se abre correctamente
jwaddell
¿No causaría esto que se pierdan los datos? Una advertencia, tal vez ...
ADTC
@ADTC, no; El punto es recuperar datos.
psusi
1
@ADTC, el nuevo no estará en blanco porque eliminar y volver a crear una partición no toca los datos en la partición; solo establece los límites en la tabla de particiones. Al eliminar y volver a crear la partición con el mismo inicio pero con un final diferente, está arreglando efectivamente el tamaño de la partición.
psusi
1
Sí, es importante entender qué es una partición: son simplemente un poco de datos en el disco duro que dicen 'comienza aquí, termina aquí, llámalo número 4 ...'. La tabla de particiones es solo un poco de datos que contienen todas esas pequeñas asignaciones. Los datos aún están allí, solo necesita decirle al sistema operativo dónde están los datos.
John Hunt
1

Descargue e instale Boot Repair , una herramienta de recuperación automatizada que generalmente resuelve este tipo de problemas.

Julien Chau
fuente