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 dd
und /null zu formatieren, aber stattdessen habe ich meine sda1
und sda2
Partitionen 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 cat
mein fstab
ich 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 fstab
es funktioniert.
Wenn ich das tue, ll /boot
ist 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/efi
ist leer.
Muss ich die beiden Partitionen erneut mounten oder neu erstellen sda1
und 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 sda1
Partition 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 sda1
Partition 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 sda2
Partition 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 sda2
Partition 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-x64
Pakets 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.