Recuperar/reinstalar la partición UEFI después de dd a /null

Recuperar/reinstalar la partición UEFI después de dd a /null

¿Puedes adivinar por el título que soy un idiota? Me enojé contra una llave USB e intenté formatear sus particiones con a ddy /null, pero en lugar de eso eliminé mis particiones sda1y sda2.

Me di cuenta rápidamente de mi error y no apagué mi computadora, por lo que mi sistema operativo sigue funcionando.

ahora solo tengo misda3

brw-rw---- 1 root disk 8, 0 Jun  6 19:40 /dev/sda
brw-rw---- 1 root disk 8, 3 Jun  6 19:40 /dev/sda3

si catlo fstabconsigo

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/mint--vg-root /               ext4    errors=remount-ro 0       1

# /boot was on /dev/sda2 during installation
UUID=f16adf40-841d-48de-afb6-bdbe66bd6eae /boot           ext2    defaults        0       2

# /boot/efi was on /dev/sda1 during installation
UUID=2008-2EBF  /boot/efi       vfat    umask=0077      0       1
/dev/mapper/mint--vg-swap_1 none            swap    sw              0       0

Debo decir que estoy un poco perdido y aún no entendí cómo funciona UEFI, GRUB y cómo fstabfunciona.

Si lo hago ll /bootno está vacío:

-rw-r--r--  1 root root  1249214 Dec 11 15:36 abi-4.4.0-104-generic
-rw-r--r--  1 root root  1243479 Dec  2  2016 abi-4.4.0-53-generic
-rw-r--r--  1 root root   190517 Dec 11 15:36 config-4.4.0-104-generic
-rw-r--r--  1 root root   189877 Dec  2  2016 config-4.4.0-53-generic
drwxr-xr-x  2 root root     1024 Jun 23  2017 efi/
drwxr-xr-x  5 root root     1024 Apr 17 23:05 grub/
-rw-r--r--  1 root root 48667470 Apr 18 07:27 initrd.img-4.4.0-104-generic
-rw-r--r--  1 root root 48377536 Jan  6 14:59 initrd.img-4.4.0-53-generic
drwx------  2 root root    12288 Jun 23  2017 lost+found/
-rw-r--r--  1 root root   182704 Jan 28  2016 memtest86+.bin
-rw-r--r--  1 root root   184380 Jan 28  2016 memtest86+.elf
-rw-r--r--  1 root root   184840 Jan 28  2016 memtest86+_multiboot.bin
-rw-------  1 root root  3887726 Dec 11 15:36 System.map-4.4.0-104-generic
-rw-------  1 root root  3874377 Dec  2  2016 System.map-4.4.0-53-generic
-rw-------  1 root root  7104112 Dec 11 15:36 vmlinuz-4.4.0-104-generic
-rw-r--r--  1 root root  7065648 Dec 13  2016 vmlinuz-4.4.0-53-generic

pero ll /boot/efiestá vacío.

¿Necesito volver a montar o recrear las 2 particiones sda1y sda2? ¿Puedo descargar un EFI? ¿Qué puedo hacer?

Respuesta1

La gente se divide en dos categorías. Unos están haciendo copias de seguridad. Otros ya están haciendo copias de seguridad. Creo que tienes respaldo.

Necesita volver a crear la tabla de particiones de forma interactiva. fdisk Si aún su sistema operativo está ejecutándose, puede obtener los límites de las particiones de la memoria del kernel.

Aquí hay un ejemplo de mi sistema de trabajo (RHEL7 con UEFI):

# fdisk -l /dev/sda 

Disk /dev/sda: 300.0 GB, 299966445568 bytes, 585871964 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 262144 bytes
Disk label type: dos
Disk identifier: 0x000a146c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      526335      262144   83  Linux
/dev/sda2          526336     1050623      262144    6  FAT16
/dev/sda3         1050624   585871359   292410368   8e  Linux LVM

Tiene información /dev/sda1 y /dev/sda2 suelta, debajo de la forma de restaurar. Encuentre los archivos con información de límites:

# find /sys -name start
/sys/devices/pci0000:00/0000:00:02.2/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda1/start
/sys/devices/pci0000:00/0000:00:02.2/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda2/start
/sys/devices/pci0000:00/0000:00:02.2/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda3/start
....

Iniciar bloque de sda1partición desde la memoria del kernel

# cat /sys/devices/pci0000:00/0000:00:02.2/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda1/start
2048

Bloque final de sda1partición de la memoria del kernel

echo end $((
$(cat /sys/devices/pci0000:00/0000:00:02.2/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda1/size) \
+ \
$(cat /sys/devices/pci0000:00/0000:00:02.2/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda1/start) \
- 1 \
))
end 526335

Iniciar bloque de sda2partición desde la memoria del kernel

# cat /sys/devices/pci0000:00/0000:00:02.2/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda2/start
526336

Bloque final de sda2partición de la memoria del kernel

echo end $((\
$(cat /sys/devices/pci0000:00/0000:00:02.2/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda2/size)\
+ \
$(cat /sys/devices/pci0000:00/0000:00:02.2/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda2/start)\
- 1 \
))
end 1050623

Ahora necesita volver a crear particiones perdidas con estos límites con interactivo fdisk. No olvide configurar el tipo de partición.

Después de restaurar las particiones, debe verificar sus sistemas de archivos. Está escribiendo que /boot/efi está vacío, pero debería estar vacío en el único caso si NO está utilizando UEFI. Podrías intentar restaurarlo reinstalando grub2-efi-x64el paquete.

VeresteTema para continuar la restauración.

Respuesta2

Arreglé mi error. Primero guardo todo lo que era importante para mí y creé un USB de arranque por si acaso. Luego utilicé testDisk y, como mis particiones no se sobrescribieron, no tuve problemas para recuperar mi tabla de particiones y mis datos con una búsqueda rápida (UEFI sda1 y swupdate sda2). Finalmente verifiqué que había funcionado con gparted y reinicié mi sistema.

Para su información, no haga una búsqueda profunda con testDisk desde su disco y desde su disco, falla y le dice que no tiene suficiente espacio.

Afortunadamente todo está bien. gracias por la ayuda chicos.

información relacionada