GNU/Linux >> Znalost Linux >  >> Linux

Obnovit tabulku oddílů stále přítomnou v běžícím systému

Rozsahy oddílů lze číst z /sys/block/sda/sda1/start , /sys/block/sda/sda1/size a tak dále. Hodnoty jsou v sektorech. Tyto hodnoty si zapište, než uděláte cokoliv jiného, ​​zejména restartování.

Jakmile budete mít hodnoty, můžete znovu vytvořit oddíly pomocí fdisk . Použijte u přepněte jednotku na sektory a poté vytvořte oddíly zadáním

  • n
  • p rimary/l ogical/e rozšířen
  • Číslo oddílu (kromě logických oddílů:dělejte je v pořadí)
  • počáteční sektor
  • + velikost v sektorech

Od položení otázky uplynuly téměř dva roky. Včera jsme byli v úplně stejné situaci:Máme Linux Software RAID Level 1 se 2 disky. Jeden z disků se porouchal a musel být vyměněn. Nechali jsme vyměnit disk a pak jsme chtěli zkopírovat tabulku oddílů ze zbývajícího (pracovního) disku na nový disk. Bohužel jsme zkopírovali prázdnou tabulku oddílů z nového disku na starý disk. Naštěstí jsme to okamžitě objevili před restartováním počítače, takže správná tabulka oddílů byla v jádře stále aktivní. Pro vyřešení problému jsme udělali následující:

  • Ze /sys/block/ jsme extrahovali data oddílu souborový systém, jak je popsáno v Gillesově odpovědi.
  • Náš systém používá tabulku oddílů GUID, takže jsme nemohli použít fdisk ale musel použít gdisk místo toho.
  • gdisk funguje v podstatě stejně jako fdisk kromě toho není potřeba zadávat u pro sektory.
  • Vytvořili jsme oddíly s přesným data extrahovaná z /sys/block/ . Existují další odpovědi na podobné otázky, které říkají, že je třeba zmenšit velikost oddílu o jednu, ale to pro nás nebylo nutné.
  • U tabulky oblastí guid již není rozdíl mezi primárními a rozšířenými oblastmi.
  • sys/block souborový systém neobsahuje žádné informace o typech souborových systémů, takže jsme je extrahovali pomocí mount .
  • U tabulky oddílů guid již není příznak spouštění. Pokud je tabulka oddílů k obnovení ze spouštěcího disku, musí existovat oddíl typu BIOS boot partition (obvykle první oddíl).

Po zapsání tabulky oddílů pomocí gdisk , podařilo se nám restartovat systém a vše běželo v pořádku.


Linux
  1. Obnovte oddíly a soubory pomocí TestDisk

  2. GRUB na systému s podporou EUFI

  3. Obnovit ztracená data/oddíl?

  1. Jak změnit velikost (rozšířit) souborový systém založený na oddílech v Linuxu

  2. Dokáže python zjistit, pod kterým OS běží?

  3. Je oddíl /boot vždy nutný?

  1. Linux:nevytvářejte swapovací oddíl?

  2. NTP běží, systémové hodiny stále nejdou včas - co dává?

  3. Změřte Linux IOPS pro běžící systém