Perché le mie chiavi USB preparate in modo identico differiscono in un byte?


15

Ho due chiavette USB identiche ( TrekStor 16GB ) preparate come segue con l' immagine c't bankix .

  1. Preparazione usando GParted :

    • Eliminata la partizione esistente
    • Creata una nuova tabella delle partizioni DOS
    • Formattato lo stick con FAT32, partizione primaria
  2. Ha caricato l'immagine sullo stick tramite usb-creator-kde.

Quindi ho fatto la stessa procedura per entrambi gli stick, ma uno si avvia e l'altro si arresta in modo anomalo con un messaggio di errore:

(initramfs) mount: mounting /dev/loop0 on //filesystem.squashfs failed: No such device
Can not mount /dev/loop0 (/cdrom/casper/filesystem.squashfs) on //filesystem.squashfs

Quindi ho provato a confrontarli tramite sudo cmp /dev/sdb /dev/sdc. Ciò ha comportato:

/dev/sdb /dev/sdc differ: byte 441, line 5

Cosa c'è che non va qui e come posso ripararlo?


Puoi provare a copiare quello funzionante sopra l'altro usando dd e vedere se aiuta. Oppure puoi semplicemente usare sfdisk per copiare la tabella delle partizioni da quella buona e andare da lì.
Angelo,

Ti dice subito qual è il problema: filesystem.squashfs non è valido per qualche motivo, oppure hai configurato male il processo di avvio. Questo è un file di immagine - compresso - è l'intero filesystem di root. Ma ... il tuo initramfs pensa che sia situato /cdrom. E apparentemente sta cercando di montarsi su se stesso? Questa è una cosa di initramfs: scommetto che va bene. Forse hai entrambe le levette collegate al computer contemporaneamente? O forse hai impostazioni duplicate che avrebbero dovuto essere uniche durante l'installazione. Stai lontano dai creatori di sistemi live: sono problemi.
Mikeserv,

Risposte:


30

Anche se non so perché uno si arresti in modo anomalo (bad stick? Immagine corrotta?), Il solito sospetto per le differenze nei file system creati "in modo identico", siano essi ISO9660 o altro, sono i timestamp , ad esempio per i tempi di creazione. O un'etichetta di file system predefinita casuale . Se si desidera ottenere dati identici su entrambi, ddl'immagine buona sull'altro stick e verificarne i checksum (md5sum o altro; qualsiasi cosa accadrà).

Oh, e il presupposto dal titolo della tua domanda non regge. Non è solo un byte che differisce. cmpti dice solo il primo che è diverso e poi esce.


22

Con ogni probabilità, non differiscono di un solo byte. Questo è solo il primo byte diverso. Esegui cmp -l dev/sdb /dev/sdcper elencare tutte le differenze.

I primi 512 byte dello stick rappresentano il settore di avvio . L'offset 441 (440 se si inizia a numerare da 0) è la posizione della firma del disco che dovrebbe identificare il disco in modo univoco (per i vantaggi di Windows - non ricordo di aver visto Linux). È prevedibile che differiranno. Sono i file sullo stick che dovrebbero essere identici, non le etichette del disco (o i timestamp dei file, comunque).

Verificare che lo stick che si arresta in modo anomalo abbia il contenuto del file corretto. Potrebbe essere danneggiato fisicamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.