Las extensiones de las particiones se pueden leer desde /sys/block/sda/sda1/start
, /sys/block/sda/sda1/size
y así. Los valores están en sectores. Anote estos valores antes de hacer cualquier otra cosa, especialmente reiniciar.
Una vez que tenga los valores, puede recrear las particiones con fdisk
. Utilice el u
comando para cambiar la unidad a sectores, luego cree las particiones ingresando
n
p
primario/l
lógico/e
extendido- número de partición (excepto las particiones lógicas:hacerlo en orden)
- sector inicial
+
tamaño en sectores
Han pasado casi dos años desde que se hizo la pregunta. Estábamos exactamente en la misma situación ayer:tenemos un nivel 1 de RAID de software de Linux con 2 discos. Uno de los discos se rompió y tuvo que ser reemplazado. Cambiamos el disco y luego quisimos copiar la tabla de particiones del disco restante (en funcionamiento) al nuevo disco. Lamentablemente, copiamos la tabla de particiones vacía del disco nuevo al disco antiguo. Afortunadamente, descubrimos esto de inmediato antes de reiniciar la máquina, por lo que la tabla de particiones correcta todavía estaba activa en el kernel. Esto es lo que hicimos para resolver el problema:
- Extrajimos datos de partición del
/sys/block/
sistema de archivos como se describe en la respuesta de Gilles. - Nuestro sistema usa una tabla de particiones GUID, por lo que no pudimos usar
fdisk
pero tuve que usargdisk
en su lugar. gdisk
funciona más o menos igual quefdisk
excepto que no hay necesidad de especificaru
por sectores.- Creamos particiones con el exacto datos extraídos de
/sys/block/
. Hay otras respuestas a preguntas similares que dicen disminuir el tamaño de la partición en uno, pero eso no era necesario para nosotros. - Con una tabla de particiones GUID ya no hay distinción entre particiones primarias y extendidas.
- El
sys/block
El sistema de archivos no contiene información sobre los tipos de sistemas de archivos, por lo que los extrajimos conmount
. - Con una tabla de particiones GUID, ya no hay un indicador de arranque. Si la tabla de particiones para restaurar es desde un disco de arranque, debe haber una partición con tipo
BIOS boot partition
(generalmente la primera partición).
Después de escribir la tabla de particiones con gdisk
, pudimos reiniciar el sistema y todo funcionaba bien.