Actualización final:
Ya sabía lo que tenía que hacer para solucionar este problema; Simplemente no sabía cómo hacerlo. Esperaba que hubiera alguna herramienta lista para hacerlo automáticamente, pero no pude encontrar ninguna. Acepto la respuesta de Rod porque, a pesar de no resolver directamente mi problema, proporciona una muy buena información sobre el problema del tamaño del sector y me dio la confianza de que el problema realmente era la alineación y el direccionamiento de la partición. Para aquellos que llegan a esta pregunta que tienen el mismo problema, léalo detenidamente y cuidadosamente, incluidos los comentarios, antes de hacer nada.
Al principio
Tenía una computadora y necesitaba más espacio, compré una nueva unidad de 500 GB y una carcasa USB. Pronto me di cuenta de que si particionaba la unidad en el gabinete y la movía a la computadora, no reconocería las particiones (y viceversa). Asumí que era un problema con el gabinete y no me preocupé por eso.
Entonces, tragedia
Un día maravilloso, mi computadora decidió no encender más. Resulta que la placa base (sin marca, solo una gran MADE IN CHINA impresa en ella) está muerta. Lo he estado usando como servidor de archivos y esa unidad de 500 GB ahora está llena de datos que no puedo permitirme perder. Ahora estoy en bancarrota y no puedo pagar una computadora nueva, así que mi única esperanza era la carcasa USB "defectuosa".
La investigación
Armado con varias distribuciones de Linux, una computadora portátil, VirtualBox y el gabinete, hice un análisis forense sobre el tema. dmesg informó que el tamaño de la partición estaba más allá del final de la unidad. Así que revisé las hojas de datos del disco duro, recuentos de sectores calculados desde cero, probé los límites de la unidad manualmente con dd, y todo parecía estar bien, hasta que encendí fdisk y dijo:
Note: Sector size is 4096 (not 512).
Qué modesto de fdisk. Esta "nota" fue la raíz de todos los problemas. Después de un poco más de violín se sacaron estas conclusiones:
La carcasa USB no está defectuosa.
El controlador SATA en la placa base ahora muerta es el que era "extraño", al menos. No informó sectores de 4096 bytes al sistema operativo, por lo que el sistema operativo creó felizmente el MBR utilizando direcciones de sector de 512 bytes.
Ahora, cuando intento acceder a la partición, el sistema operativo intenta usar las direcciones basadas en 512 bytes en una unidad de sector de 4096 bytes y, por supuesto, no funcionará.
La pregunta
Entonces, ¿cómo puedo corregir las direcciones en el MBR para que sean válidas en un tamaño de sector de 4096 bytes, además de editar manualmente el MBR en un editor hexadecimal, y
Las particiones no están alineadas para sectores de 4096 bytes. ¿Hay alguna herramienta disponible para alinearlos además de copiar dentro y fuera de otra unidad? (No tengo unidades de repuesto), ¿o tendré que crear alguna herramienta que "desplace" los datos a un lado un poco a la vez? Las particiones son ext3.
¡Gracias!
Actualizar:
Descubrí que hay una manera inteligente de usar dd para cambiar la partición en su lugar en esta pregunta: ¿Cómo mover una partición en GNU / Linux? Sin embargo, no sé si funcionará en una porción de un sector. No puedo probarlo ahora, pero lo haré cuando tenga algo de tiempo.
Actualización 2:
Así que alineé con éxito la partición usando el método anterior y edité manualmente el MBR en un editor hexadecimal. ¡Tan pronto como volví a enchufar el HDD, la partición de brazo se montó automáticamente! Sin embargo, no recomiendo esto, hubo errores de E / S durante el proceso y podría haberlo perdido todo, vea el comentario sobre la respuesta de Rod. Para la otra partición, no me arriesgaré y utilizaré un disco duro antiguo y alinearé los fragmentos a la vez copiando los datos y luego pegándolos nuevamente en una posición diferente.
fdisk
para editar el MBR (aprendí esto más tarde, no es necesario tener editores hexadecimales :)) Puede cambiar el punto de inicio y el tamaño de cada entrada, y revisar los cambios antes de aplicar. Entonces: comience fdisk
, anote la configuración actual (o mejor, respalde el MBR con dd
), multiplique la dirección de inicio y los valores de tamaño por 8 y modifíquelos. Asegúrese de verificar todo con una calculadora y de comprender qué significan los valores. Verá que Tamaño = Fin - Inicio + 1, y eso fdisk
muestra el tamaño en la unidad de 1000 sectores, por lo que es posible que deba activar el modo experto para ver el valor real, etc.