UEFI-Partition nach dd auf /null wiederherstellen/neu installieren

UEFI-Partition nach dd auf /null wiederherstellen/neu installieren

Wie Sie am Titel erkennen können, bin ich ein Idiot. Ich habe mich über einen USB-Stick geärgert und versucht, seine Partitionen mit einem ddund /null zu formatieren, aber stattdessen habe ich meine sda1und sda2Partitionen gelöscht.

Ich habe meinen Fehler schnell bemerkt und meinen Computer nicht heruntergefahren, sodass mein Betriebssystem noch läuft.

Ich habe jetzt nur noch meinesda3

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

wenn ich catmein fstabich bekomme

# <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

Ich muss sagen, ich bin etwas verloren und habe noch nicht ganz verstanden, wie UEFI und GRUB funktionieren und wie fstabes funktioniert.

Wenn ich das tue, ll /bootist es nicht leer:

-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

aber ll /boot/efiist leer.

Muss ich die beiden Partitionen erneut mounten oder neu erstellen sda1und sda2? Kann ich ein EFI herunterladen? Was kann ich tun?

Antwort1

Die Leute lassen sich in zwei Kategorien einteilen. Die einen machen Backups. Die anderen machen bereits Backups. Ich glaube, Sie haben ein Backup.

Sie müssen die Partitionstabelle interaktiv neu erstellen. fdisk Wenn Ihr Betriebssystem noch ausgeführt wird, erhalten Sie möglicherweise Partitionsgrenzen aus dem Kernelspeicher.

Hier ist ein Beispiel aus meinem Arbeitssystem (RHEL7 mit 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

Sie haben verlorene /dev/sda1- und /dev/sda2-Informationen. Nachfolgend finden Sie die Wiederherstellungsmethode. Suchen Sie die Dateien mit Grenzinformationen:

# 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
....

Startblock der sda1Partition aus dem Kernelspeicher

# 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

Endblock der sda1Partition vom Kernelspeicher

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

Startblock der sda2Partition aus dem Kernelspeicher

# 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

Endblock der sda2Partition vom Kernelspeicher

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

Jetzt müssen Sie verlorene Partitionen mit diesen Grenzen interaktiv neu erstellen fdisk. Vergessen Sie nicht, den Partitionstyp festzulegen.

Nachdem Sie Partitionen wiederhergestellt haben, müssen Sie deren Dateisysteme überprüfen. Sie schreiben, dass /boot/efi leer ist, aber es sollte nur dann leer sein, wenn Sie KEIN UEFI verwenden. Sie könnten versuchen, es durch Neuinstallation des grub2-efi-x64Pakets wiederherzustellen.

SehenDasThema zur Fortsetzung der Wiederherstellung.

Antwort2

Ich habe meinen Fehler behoben. Ich habe zunächst alles gespeichert, was mir wichtig war, und vorsichtshalber einen bootfähigen USB-Stick erstellt. Dann habe ich testDisk verwendet, und da meine Partitionen nicht überschrieben wurden, hatte ich mit einer schnellen Suche (UEFI sda1 und swupdate sda2) keine Probleme, meine Partitionstabelle und meine Daten wiederherzustellen. Schließlich habe ich mit gparted überprüft, ob es funktioniert hat, und mein System neu gestartet.

Zu Ihrer Information: Führen Sie keine Tiefensuche mit „testDisk“ auf Ihrer Festplatte und von Ihrer Festplatte aus durch, da dies zu einem Fehler führt und Ihnen die Meldung anzeigt, dass nicht genügend Speicherplatz vorhanden ist.

Zum Glück ist alles in Ordnung. Danke für die Hilfe, Jungs.

verwandte Informationen