Odzyskaj / ponownie zainstaluj partycję UEFI po dd / null

0

Czy potrafisz zgadnąć z kreski, że jestem kretynem. Rozzłościłam się na klucz USB i próbuję sformatować jego partycje za pomocą dd i / null, ale zamiast tego usunąłem moje sda1 i sda2 partycje.

Szybko zrozumiałem swój błąd i nie zamknąłem komputera, więc mój system operacyjny nadal działa.

Mam teraz tylko moje sda3

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

Jeśli ja cat mój fstab dostaję

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

Muszę powiedzieć, że jestem trochę zagubiony i nie cichłem, ale zrozumiałem, jak działa UEFI, GRUB i jak fstab Prace.

Jeśli zrobię ll /boot to nie jest puste:

-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

ale ll /boot/efi jest pusty.

Czy muszę ponownie zamontować lub odtworzyć 2 partycje sda1 i sda2? Czy mogę pobrać EFI? Co mogę zrobić?

aurelia
źródło

Odpowiedzi:

0

Ludzie są podzieleni na dwie kategorie. Jedni robią kopie zapasowe. Inni już robią kopie zapasowe. Wierzę, że masz kopię zapasową.

Musisz ponownie utworzyć tabelę partycji za pomocą interaktywnej fdisk Jeśli nadal masz uruchomiony system operacyjny, możesz uzyskać granice partycji z pamięci jądra.

Oto przykład z mojego działającego systemu (RHEL7 z 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

Masz luźne informacje / dev / sda1 i / dev / sda2, poniżej sposobu przywracania. Znajdź pliki z informacjami o granicy:

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

Rozpocznij blok sda1 partycja z pamięci jądra

# 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

Koniec bloku sda1 partycja z pamięci jądra

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

Rozpocznij blok sda2 partycja z pamięci jądra

# 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

Koniec bloku sda2 partycja z pamięci jądra

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

Teraz musisz odtworzyć utracone partycje z tymi granicami za pomocą interaktywnych fdisk. Nie zapomnij ustawić typu partycji.

Po przywróceniu partycji należy sprawdzić ich systemy plików. Piszesz, że / boot / efi jest pusty, ale powinien być pusty w przypadku, gdy NIE używasz UEFI. Możesz spróbować przywrócić go przy ponownej instalacji grub2-efi-x64 pakiet.

Widzieć to temat, aby kontynuować przywracanie.

Sasha Golikov
źródło
0

Naprawiłem błąd. Najpierw zapisuję wszystko, co było dla mnie ważne i na wszelki wypadek stworzyłem bootowalny port USB. Następnie użyłem testDisk, a ponieważ moje partycje nie zostały nadpisane, nie miałem problemów z odzyskaniem tabeli partycji i moich danych za pomocą szybkiego wyszukiwania (UEFI sda1 i swupdate sda2). W końcu sprawdziłem, czy działa z gparted i zrestartowałem mój system.

Dla twoich informacji nie rób głębokiego wyszukiwania za pomocą testDisk z dysku i dysku, to błąd i powiedz, że nie ma wystarczająco dużo miejsca.

Na szczęście wszystko jest w porządku. dziękuję za pomoc.

AureliaC
źródło