GNU/Linux >> Linux Esercitazione >  >> Linux

Ripristina la tabella delle partizioni ancora presente nel sistema in esecuzione

Le estensioni delle partizioni possono essere lette da /sys/block/sda/sda1/start , /sys/block/sda/sda1/size e così via. I valori sono in settori. Annota questi valori prima di fare qualsiasi altra cosa, in particolare il riavvio.

Una volta che hai i valori, puoi ricreare le partizioni con fdisk . Usa il u comando per commutare l'unità in settori, quindi creare le partizioni inserendo

  • n
  • p rimary/l logico/e esteso
  • numero di partizione (eccetto per le partizioni logiche:eseguirle in ordine)
  • settore iniziale
  • + dimensione in settori

Sono passati quasi due anni da quando è stata posta la domanda. Ieri eravamo esattamente nella stessa situazione:abbiamo un Linux Software RAID Level 1 con 2 dischi. Uno dei dischi si è rotto e ha dovuto essere sostituito. Abbiamo fatto scambiare il disco e quindi volevamo copiare la tabella delle partizioni dal disco rimanente (funzionante) al nuovo disco. Sfortunatamente, abbiamo copiato la tabella delle partizioni vuota dal nuovo disco al vecchio disco. Fortunatamente, l'abbiamo scoperto immediatamente prima di riavviare la macchina, quindi la tabella delle partizioni corretta era ancora attiva nel kernel. Ecco cosa abbiamo fatto per risolvere il problema:

  • Abbiamo estratto i dati della partizione dal /sys/block/ file system come descritto nella risposta di Gilles.
  • Il nostro sistema usa una tabella delle partizioni GUID, quindi non potremmo usare fdisk ma ho dovuto usare gdisk invece.
  • gdisk funziona praticamente come fdisk eccetto che non è necessario specificare u per i settori.
  • Abbiamo creato le partizioni con l'esatto dati estratti da /sys/block/ . Ci sono altre risposte a domande simili che dicono di ridurre la dimensione della partizione di uno, ma per noi non era necessario.
  • Con una tabella delle partizioni guid non c'è più distinzione tra partizioni primarie ed estese.
  • Il sys/block file system non contiene informazioni sui tipi di file system, quindi li abbiamo estratti con mount .
  • Con una tabella delle partizioni guid, non c'è più un flag avviabile. Se la tabella delle partizioni da ripristinare proviene da un disco avviabile, deve essere presente una partizione di tipo BIOS boot partition (di solito la prima partizione).

Dopo aver scritto la tabella delle partizioni con gdisk , siamo riusciti a riavviare il sistema e tutto funzionava correttamente.


Linux
  1. Come funzionano più caricatori di avvio su una partizione di sistema Efi?

  2. Perché il numero di unità/partizione è ancora utilizzato?

  3. Recuperare dati persi/partizione?

  4. È sempre necessaria una partizione /boot?

  5. Linux:non creare partizioni di swap?

Recupera una password di root dimenticata sul sistema Redhat 7 Linux Selinux

Come creare un nuovo file system Ext4 (partizione) in Linux

Come controllare tutti i servizi in esecuzione in Linux

Installa AndroidX86 su VirtualBox e PC desktop

Recupera i file cancellati su Linux (Tutorial per principianti)

Come modificare un sistema di partizione fisica in LVM?