Linux Live USB Drive creato con dd Corrupt Table Table e problemi di affidabilità


0

Sto cercando di creare un'unità Linux Live USB da un isoibrido ( .iso ) Immagine.

Per portare a termine questo compito, ho adottato questi passaggi in passato:

  1. Pulire in modo sicuro l'unità flash utilizzando il comando:

    sudo dd bs=4M if=/dev/zero of=/dev/sdx

  2. Creare un msdos tabella delle partizioni sul flash drive con gparted

  3. Crea una nuova partizione ( /dev/sdx1 ) che è l'intera dimensione del flash drive con a fat32 filesystem (per compatibilità multipiattaforma) allineato al cilindro con gparted

  4. Impostare il bootable flag sulla partizione appena creata ( /dev/sdx1 ) utilizzando gparted

  5. Controlla il filesystem sulla partizione appena creata ( /dev/sdx1 ) per assicurarsi che tutte le operazioni di formattazione del disco siano state eseguite correttamente gparted

  6. Scrivi la .iso immagine per l'unità flash utilizzando il comando:

    sudo dd bs=4M if=<distro>.iso of=/dev/sdx

Tuttavia, dopo aver completato l'ultimo passaggio, quando ispeziono di nuovo il disco con gparted, viene segnalato che tutto lo spazio sull'unità flash non è allocato e che non c'è alcuna tabella delle partizioni sul disco . Sospetto che questo possa avere qualcosa a che fare con il Master Boot Record (MBR) che viene sovrascritto o corrotto quando scrivo il .iso per l'unità flash utilizzando il dd comando.

Quando monto l'unità flash, tutti i file contenuti nel file .iso sembra essere correttamente estratto dal .isoe sono talvolta in grado di avviare la live USB. Tuttavia, ho avuto vari problemi di affidabilità usando questo metodo durante l'avvio e anche quando provavo a installare una distro su un disco rigido usando l'USB live. Come ho detto prima, ho il sospetto che questo potrebbe avere qualcosa a che fare con la tabella delle partizioni corrotta e il filesystem fat32 non viene rilevato correttamente dopo il .iso è scritto sull'unità flash, che potrebbe causare alcuni problemi di lettura e scrittura con il disco durante l'avvio e l'installazione.

C'è un modo per evitare che questi problemi di affidabilità si verifichino e che la tabella delle partizioni venga danneggiata, pur continuando a utilizzarla gparted e dd?

Risposte:


1

Una volta che corri dd bs=4M if=something.iso of=/dev/sdx, tutto ciò che hai creato con gparted (cioè la tabella delle partizioni) viene sovrascritto da dd.

Il fatto che gparted mostri che il disco non è allocato e che non ha tabella delle partizioni è normale. Almeno, questo è ciò che mostra gparted per tutte le chiavette USB Debian che ho creato finora.

Un modo migliore per verificare se il dd è riuscito a provare a montare la prima partizione sul disco e vedere se il contenuto appare sano (= sembra simile a quello che c'è nell'iso).

mkdir a b
mount /dev/sdx1 a
mount file.iso b
# see if the a and b directories seem to contain the same files

Inoltre, potresti voler usare cp something.iso /dev/sdx invece di dd. È più facile da digitare e solo (se non di più) efficace.

MODIFICARE : Vedo che hai montato il disco e ho visto che i file erano lì. I problemi di affidabilità che stai riscontrando potrebbero essere il risultato di una cattiva chiavetta USB. Provane un altro e verifica se i problemi persistono.

Ulteriori informazioni su ISO e file system.

An .iso è un'immagine disco. È la lunga serie di uno e zero che ottieni se leggi un CD / DVD / ecc dall'inizio alla fine.

cat /dev/cdrom > myfile.iso

Se si scrive un .iso direttamente su una chiavetta USB, lo stick viene trattato come un CD / DVD dal sistema operativo.

Ora vediamo cosa succede se dividi la chiavetta USB, crei un filesystem su una partizione e copi il file .iso come un normale file.

mount /dev/sdx1 folder
cp file.iso folder/

Leggeremo il contenuto della chiavetta USB

cat /dev/sdx > mysecondfile

Adesso:

  • myfile.iso è l'immagine di un disco contenente i file del programma di installazione, il bootloader, ecc
  • mysecondfile è l'immagine di un disco contenente un singolo file, myfile.iso.

Ed è per questo che dovresti scrivere gli iso direttamente sul bastone invece di memorizzarli come file.


Ok, l'ho pensato davvero, potrebbe essere normale. In realtà ho provato più unità flash e problemi di affidabilità sembrano verificarsi Occasionalmente su entrambi. Tuttavia, sono entrambi vecchi flash drive, quindi suppongo che sia possibile che siano danneggiati. Grazie per l'aiuto! L'unica domanda che ho è se l'uso di cp estrae i file da .iso come usando dd does.
Kevin Gurney

Né cp né dd "estrae" i file da .iso. Un iso non è un archivio; è un'immagine del disco. È la lunga serie di numeri e zero che otterresti se leggessi un DVD dall'inizio alla fine. cp e dd scrivono semplicemente questo sul disco, e il sistema operativo o il bios lo leggono proprio come se leggessero un DVD.
user49740

Ok, questo ha senso. Tuttavia, potresti chiarire il motivo per cui quando utilizzi dd o cp i file vengono presentati separatamente sull'unità flash, al contrario se hai semplicemente spostato il file .iso sull'unità flash utilizzando un file manager GUI?
Kevin Gurney

Lo spiegherò in una modifica alla risposta in pochi minuti.
user49740

Ok, grazie ancora per tutto il tuo aiuto!
Kevin Gurney
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.