GNU/Linux >> Linux Esercitazione >  >> Linux

Cambia il numero della partizione da sda1 a sda2

L'ho appena fatto in un modo più semplice:

# sfdisk -d /dev/sdb > sdb.bkp

lasciare una copia per sicurezza

# cp sdb.bkp sdb.new 

ora modifica sdb.new cambiando SOLO l'ordine delle righe e i numeri di partizione, come nel mio caso:

da

# partition table of /dev/sdb
unit: sectors

/dev/sdb1 : start=  1026048, size=975747120, Id=83
/dev/sdb2 : start=     2048, size=   204800, Id=83
/dev/sdb3 : start=   206848, size=   819200, Id= b
/dev/sdb4 : start=        0, size=        0, Id= 0

a

# partition table of /dev/sdb
unit: sectors

/dev/sdb1 : start=     2048, size=   204800, Id=83
/dev/sdb2 : start=   206848, size=   819200, Id= b
/dev/sdb3 : start=  1026048, size=975747120, Id=83
/dev/sdb4 : start=        0, size=        0, Id= 0

quindi riportarlo alla tabella delle partizioni del disco?

# sfdisk /dev/sdb < sdb.new

La mia sequenza di numerazione è stata alterata dopo che ho ridotto e spostato a destra l'unica partizione (sdb1) per aggiungere due partizioni più piccole all'inizio del disco utilizzando gparted .

Se l'ultimo comando non funziona, come nel mio caso, cambialo con:

# sfdisk --no-reread -f /dev/sdb < sdb.new

Cordiali saluti, è una cattiva idea e puoi perdere tutto. Se vuoi ancora farlo, ecco i passaggi:

  1. No fallo. Se questo non aiuta, allora:
  2. Usa sfdisk tool:Per prima cosa, fai un backup della tabella delle partizioni usando

    sfdisk -d /dev/sda > sda.out
    

    Allora fallo:

    sfdisk /dev/sda -O sda-partition-sectors.save
    

    Vedrai qualcosa di simile

    Checking that no-one is using this disk right now ...
    OK
    
    Disk /dev/sda: 1018 cylinders, 124 heads, 62 sectors/track
    Old situation:
    Units = cylinders of 3936256 bytes, blocks of 1024 bytes, counting from 0
    
       Device Boot Start     End   #cyls    #blocks   Id  System
    /dev/sda1          0+      5       6-     23063+  83  Linux
    /dev/sda2          6    1017    1012    3890128   83  Linux
    /dev/sda3          0       -       0          0    0  Empty
    /dev/sda4          0       -       0          0    0  Empty
    Input in the following format; absent fields get a default value.
    <start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
    Usually you only need to specify <start> and <size> (and perhaps <type>).
    
    /dev/sda1 :
    

Ora ti sta chiedendo di fornire i nuovi dettagli per la partizione 'sda1'. Quindi devi dare i numeri di sda2 qui. Quindi, metto qui '6 1012' e premo Invio:

    /dev/sda1 :6 1012
    /dev/sda1          6    1017    1012    3890128   83  Linux
    /dev/sda2 :

Ora controlla se i numeri stampati dopo aver premuto Invio sono esatti gli stessi di quelli stampati in precedenza per sda2. Se va bene, continua dando i nuovi numeri per sda2:

    /dev/sda2 :0
    /dev/sda2          0+      5       6-     23063+  83  Linux
    /dev/sda3 :

Questa volta è stato sufficiente inserire "0" nel mio caso, ma devi assicurarti che i numeri non siano incasinati nel tuo.

Quindi, continua con le altre partizioni allo stesso modo. Se hai già raggiunto la fine del disco, è sufficiente premere Invio. Infine, controlla di nuovo che tutti i numeri siano a posto e salva la tabella delle partizioni (o meno). Se hai sbagliato qualcosa, dai un'occhiata a man sfdisk e le descrizioni delle opzioni '-d', '-O' e '-I'.

Nota anche che, una volta apportate modifiche folli, potresti dover eseguire "sync" in modo che le partizioni vengano rilette prima di provare a montarle.


Tutte le soluzioni esistenti sembrano molto sicure, ma di conseguenza piuttosto complicate.

Volevo riordinare tutto le mie partizioni in modo che fossero in ordine.

Se sei più esperto, disponi di dati non essenziali o di backup e sei felice di risolvere eventuali problemi, puoi eseguire l'avvio da un Live CD e farlo in questo modo:

sudo fdisk /dev/sdX

quindi:

  • x per accedere alla Modalità esperto
  • f per correggere l'ordine di guida (probabilmente i per ignorare eventuali avvisi se necessario)
  • r per tornare alla modalità normale
  • w per scrivere le modifiche sul disco ed uscire

Ulteriori

Non ricordo i passaggi esatti successivi poiché l'ho fatto solo una volta e non ho ripetuto il test, ma poiché stavo anche spostando l'installazione, ho anche montato le partizioni e copiato tutti i file:

sudo mkdir /mnt/sda4
sudo mount /dev/sda4 /mnt/sda4
sudo mkdir /mnt/sda5
sudo mount /dev/sda5 /mnt/sda5
date;cp -a /mnt/sda4/* /mnt/sda5;date

E poi ho ottenuto gli ID delle partizioni:

sudo blkid

e aggiornato quanto segue per riflettere i nuovi valori UUID delle partizioni:

  • /mnt/sda5/boot/grub/grub.cfg
  • /mnt/sda5/etc/fstab

Ho quindi aggiornato GRUB2:

sudo grub-install --root-directory=/mnt/sda5 /dev/sda

Linux
  1. Come modificare il kernel predefinito (avvio dal vecchio kernel) in CentOS/RHEL 8

  2. Come posso ottenere l'ultimo numero dalla stringa in bash?

  3. Come cambiare il cursore Terminale dalla casella alla linea?

  4. C'è un modo per modificare l'ID volume di un file .iso dalla riga di comando?

  5. Elenca le etichette delle partizioni dalla riga di comando

Come creare un grafico grafico di una sequenza di numeri dall'input standard?

Modificare il numero di porta del server SSH predefinito

Come modificare lo schema di partizione sul tuo server Linux?

Come posso limitare il numero di risultati restituiti da grep?

Impossibile montare sda1:il dispositivo '/dev/sda1' non sembra avere un NTFS valido.

Come posso cambiare la partizione di swap in Linux?