Gestione file system ext2/ext3 e NTFS

You can't request more than 20 challenges without solving them. Your previous challenges were flushed.
Informatica

Ecco riassunti in una pagina dei comandi utili per gestire file system ext2, ext3 e NTFS in gnu/linux. Per ciascun file system vediamo come crearlo, configurarlo, esaminarlo, ripararlo, ridimensionarlo fare backup (dump) e restore.

Sommario

ext2/ext3

  • creare il file system:

    mke2fs -t ext3 -L volumename -O dir_index -m 1 /dev/sda1
    

    oppure:

    mkfs.ext3 -L volumename -O dir_index -m 1 /dev/sda1
    

    L'opzione -L imposta un label, -O dir_index imposta l'indice delle directory per migliori prestazioni (default su sistemi recenti), -m 1 imposta lo spazio riservato all'1% di quello disponibile

  • modificare le opzioni del file system

    tune2fs -c 200 -C 50 -i 2m -L volumename -m 1 /dev/sda1
    

    L'opzione -c imposta il numero massimo di mount prima di un controllo, -i 2m imposta i controlli almeno ogni 2 mesi, -m imposta lo spazio riservato.

  • assegnare un label al file system o vedere il label corrente (limite 16 caratteri)

    e2label /dev/sda1 nuovonome
    

    se non si specifica un nuovo label viene mostrato il label corrente. oppure:

    tune2fs -L nuovonome /dev/sda1
    
  • vedere le opzioni del file system

    tune2fs -l /dev/sda1
    

    oppure:

    dumpe2fs -h /dev/sda1
    
  • montare il file system:

    mount /dev/sda1 /mnt/dest -t ext3 -o noatime
    

    monta con l'opzione -o noatime che disattiva la registrazione dell'ora di accesso per i file aperti, velocizzando le letture. In alternativa usare relatime.

  • controllare il file system

    e2fsck -p -f /dev/sda1
    

    l'opzione -f forza il controllo anche se il file system sembra pulito, -p ripara automaticamente gli errori che si possono riparare in modo sicuro. In alternativa, con l'opzione -n si fa un controllo senza fare alcuna modifica (ro), con -y fa un controllo assumendo risposta affermativa a tutte le modifiche. Senza queste opzioni il controllo è interattivo.

  • ridimensionare il file system. Il modo più semplice è con gparted o parted. In alternativa:

    • Prima lo controlliamo con e2fsck.
    • Allargare fino a riempire: usare fdisk o cfdisk per allargare la partizione. Poi:

      resize2fs /dev/sda1
      
    • Restringere a una dimensione fissata, ad es. 40 GB:

      resize2fs /dev/sda1 39.5G
      
    • scegliamo una dimensione un po' inferiore di quella finale. Poi usiamo fdisk o cfdisk per ridimensionare la partizione alla dimensione finale. Successivamente allarghiamo definitivamente la partizione con:

          resize2fs /dev/sda1
      
    • Infine controlliamo di nuovo il file system con e2fsck.
  • backup e ripristino del file system

    dump -z -0 /dev/sda1 -f sistema.dump.gz
    

    Salva una immagine del file system nel file immagine.dump.gz e la comprime con zlib. In alternativa, -j comprime con bzlib (lento ma alta compressione), -y comprime con lzo (minore compressione, ma molto rapido).

    cd /mnt/destinazione
     restore -r -f /mnt/backup/sistema.dump.gz

    ripristina il file system nella directory corrente. Quando si finisce, rimuovere il file restoresymtable.

    restore -C -f /mnt/backup/sistema.dump.gz

    verifica il backup confrontandolo con il sistema originale.

    Per trasferire un file system da una partizione ad un'altra partizione|directory:

    cd /mnt/destinazione
      dump -0 -f - /dev/sdc5 | restore -r -f -
  • recupero di emergenza. Prima di tutto è importante aver annotata la posizione dei backup del superblocco del file system. per fare questo esaminare l'output di dumpe2fs:

    dumpe2fs /dev/sdc5 | grep -i superbl > /mnt/backup/recovery/sdc5_root.superblock

    In caso di formattazione del file system con un altro file system, come NTFS (ma non ext2/ext3!) o in caso di errore del tipo "Bad superblock", si può provare a usare una copia di riserva del superblocco per riparare e/o montare la partizione per salvare i dati in un luogo sicuro.
    Ma PRIMA fare sempre un backup fisico della partizione con:

    dd if=/dev/sdc5 of=backup-sdc5.img

    oppure con:

    dd if=/dev/sdc5 | gzip > backup-sdc5.img.gz

    Poi provare a riparare il file system usando e2fsck insieme alla posizione di un superblock di backup (eventualmente provare fino a quando non se ne trova uno funzionante).
    (Se non hai annotato queste informazioni, puoi provare a recuperarle dal file system danneggiato usando testdisk)

    e2fsck -b 24577 /dev/sdc5

    Anche se non è possibile riparare interamente il file system, puoi provare a montarlo comunque, passando a mount la posizione di un superblock di backup:

    mount sb=24577 /dev/sdc5 /mnt/data -o ro

    Se questo ha successo, salva il salvabile!

  • undelete: recuperare file rimossi erroneamente: HOWTO recover deleted files on an ext3 file system

Nessun problema di frammentazione se le partizioni hanno almeno il 10-20% di spazio libero. Il livello di frammentazione è visibile eseguendo e2fsck. Per deframmentare il file system si consiglia di spostare i dati, ricostruirlo e ricopiare i dati.

Riferimenti utili

How To Resize ext3 Partitions Without Losing Data
ext3 filesystem bad superblock recovery
Surviving a Linux Filesystem Failures
Advanced Find ext2 ext3 Backup SuperBlock
Linux: Replacing atime With relatime

NTFS

  • creare il file system:

    mkntfs -f -L nomevolume /dev/sda1

    formatta rapidamente (-f), senza impostare a zero il volume e senza controllare la presenza di settori danneggiati. Imposta l'etichetta del volume a "nomevolume".

  • assegnare un label al file system

    ntfslabel /dev/sda1 nuovonome

    se non viene specificato un nuovo label viene mostrato quello corrente.

  • montare il file system (oltre al tradizionale mount -t ntfs)

    ntfs-3g /dev/sda1 /mnt/windows

    Aggiungere l'opzione -o umask=0 per consentire accesso completo a tutti.

  • controllare il file system (controlli di base, marca il file system per il controllo completo all'avvio di Windows)

    ntfsfix /dev/sda1
  • ridimensionare il file system (non è necessaria deframmentazione)

    ntfsresize --size 20G /dev/sda1

    La partizione viene automaticamente marcata per il controllo all'avvio di Windows. Se omessa l'opzione --size, il file system è esteso a riempire la partizione corrente.
    Ricorda che è necessario anche ridimensionare la partizione adeguatamente. Vedi sopra il caso per ext2/ext3.

  • backup e ripristino del file system

    ntfsclone -s -o image.img /dev/sda1

    crea una immagine della partizione.

    ntfsclone -s -o - /dev/sda1 | gzip -c > image.img.gz

    crea una immagine compressa della partizione

    ntfsclone --overwrite /dev/sdc1 /dev/sda1

    Clona sda1 (sorgente) su sdc1 (destinazione)

    ntfsclone -r --overwrite /dev/hda1 backup.img

    ripristina il file immagine sulla partizione sda1

    gunzip -c backup.img.gz | ntfsclone -r --overwrite /dev/sda1 -

    ripristina il file immagine compresso sulla partizione sda1

    ntfscmp /dev/sda backup.img

    verifica il backup o un file system clonatoto confrontandolo con l'originale. Non può controllare immagini create con l'opzione '-s', il formato speciale di ntfsclone.

  • undelete: recuperare file rimossi erroneamente:

    ntfsundelete /dev/sda1

Riferimenti utili

Linux-NTFS
Advanced NTFS Boot and MFT Repair

Trackback URL for this post:

http://gerlos.altervista.org/trackback/446

commenti

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Allowed HTML tags: <a> <em> <strong> <del> <cite> <code> <img> <ul> <ol> <li> <dl> <dt> <dd> <pre>
  • Linee e paragrafi vanno a capo automaticamente.
  • Insert Flickr images: [flickr-photo:id=230452326,size=s] or [flickr-photoset:id=72157594262419167,size=m].
  • Indirizzi web o e-mail vengono trasformati in link automaticamente

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
Per provare che sei un visitatore umano, rispondi a questa domanda. È per evitare l'inserimento di messaggi spam.
18 + 1 =
Fai questo semplice calcolo e inserisci il risultato. Ad esempio, per 1+3 inserisci 4.