Nowe posty

Autor Wątek: Niechcący nadpisałem tablicę partycji GPT bootsektorem z BIOSa.  (Przeczytany 3685 razy)

Offline zielony12

  • Nowy na forum
  • *
  • Wiadomości: 2
    • Zobacz profil
grub-install :D

Z tego co mi wiadomo to gdzieś powinna być zapasowa tablica, próbowałem użyć do tego sgdisk(8 ) z pakietu extra/gptfdisk na archu ale taki komunikat:

$ sudo sgdisk -e /dev/nvme0n1

Warning! Secondary partition table overlaps the last partition by
1359 blocks!
Try reducing the partition table size by 5436 entries.
(Use the 's' item on the experts' menu.)
Aborting write of new partition table.

Mam opisowy zrzut tablicy partycji przez `fdisk -d`
« Ostatnia zmiana: 2024-01-06, 02:44:36 wysłana przez zielony12 »

Offline overcq

  • Nowy na forum
  • *
  • Wiadomości: 34
    • Zobacz profil
    • ‛overcq’
Odp: Niechcący nadpisałem tablicę partycji GPT bootsektorem z BIOSa.
« Odpowiedź #1 dnia: 2024-01-06, 09:52:56 »
Całe szczęście, że wystąpiła sprzeczność adresu zapasowej tablicy partycji w przypadku wydanego przez Ciebie polecenia i tablica partycji nie została zapisana, ponieważ “sgdisk -e” przenosi zapasową tablicę partycji na koniec dysku, a tutaj potrzeba odtworzyć podstawową tablicę partycji z zapasowej.

Normalnie zapasowa tablica jest na końcu dysku, tak jak jest napisane tutaj. Ale chyba nie ma gotowych poleceń, by ją przywrócić do podstawowej tablicy partycji GPT, gdy jest już obecna tablica starego typu (MBR). Ale w Twoim przypadku można umiejętnie użyć poleceń “dd” i masz rozwiązany problem, o ile nic więcej nie zmieniłeś na dysku.

Czyli potrzeba:
  • Skopiować do pierwszego pliku ‘header’ zapasowej tablicy partycji GPT czyli ostatni sektor dysku (512 bajtów).
  • Skopiować do drugiego pliku zapasową tablicę partycji GPT czyli 32 sektory przed ostatnim sektorem dysku (32 × 512 bajtów).
  • Sprawdzić poprawność danych w tych plikach.
  • Sprawdzić, czy na docelowym dysku znajdują się przed partycjami wolne 34 sektory.
  • Skopiować pierwszy plik do drugiego sektora dysku (licząc sektory od 1).
  • Skopiować drugi plik do sektorów dysku od 3 (licząc od 1).
« Ostatnia zmiana: 2024-01-06, 10:36:22 wysłana przez overcq »

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3062
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Niechcący nadpisałem tablicę partycji GPT bootsektorem z BIOSa.
« Odpowiedź #2 dnia: 2024-01-06, 11:21:39 »
Instrukcja jest tutaj i tutaj.

W skrócie:

1. gdisk /dev/nvme0n1
2. Powinno pojawić się, że główna tablica (main) ma "ERROR" ale zapasowa tablica (backup) jest "OK"
3. Dajesz polecenie r (recovery)
4. Wybierasz opcję b (use backup GPT header)
5. Poleceniem p wyświetlasz odzyskaną tablicę.
6. Jak wszystko jest ok, poleceniem w zapisujesz odzyskaną tablicę na dysk.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy