Perché dd non è un comando affidabile per scrivere file .iso avviabili su chiavetta USB?


19

Una risposta qui indica che Ubuntu .isonon dovrebbe avviarsi se copiato ddsu una chiavetta USB.

Perché alcune distribuzioni Linux hanno la possibilità di scrivere direttamente il loro .isofile di avvio su una chiavetta USB dd, ma altre (Ubuntu?) No?

In Ubuntu penso che debba essere convertito per .imgprimo. È vero?

È per qualche differenza architettonica in .isos? O è dovuto a qualche limitazione di ddse stesso?

Non so se è fuori tema qui. Posso spostarlo in un posto più appropriato se la comunità lo pensa o lo suggerisce. Qualche spiegazione sarebbe apprezzabile.


1
Questo era il caso degli ISO di Ubuntu, ma dall'11.10 sono compatibili con dd, per così dire.
mikewhatever,

@mikewhatever Grazie per le informazioni. Purtroppo stavo cercando di farlo con 11.04 iso.
Samik,

Risposte:


32

Con Ubuntu 12.04 è possibile ddcreare il file .iso su un disco per creare un disco di avvio. Funziona solo con alcuni isos (incluso Ubuntu 12.04, ma non versioni precedenti di Ubuntu) perché l'avvio da CD e l'avvio da un disco sono gestiti in modo diverso sui sistemi basati su BIOS.

Tra le altre cose, affinché un disco rigido sia avviabile deve contenere il codice di avvio nel primo settore , affinché un CD sia avviabile deve contenere il codice di avvio " al settore 11 (17 decimale) nell'ultima sessione sul CD " in base a le specifiche El Torito . Poiché il codice di avvio, almeno la parte iniziale caricata dal BIOS, viene archiviato in posizioni diverse per CD e dischi rigidi, un'immagine del disco può avere il codice di avvio in entrambe le posizioni in modo che il bootloader venga caricato se l'immagine viene avviata come disco rigido unità o come CD.

La maggior parte dei file iso sono progettati per essere avviabili solo come CD, quindi non contengono alcun codice di avvio nel primo settore dell'immagine e quindi un disco rigido contenente tale immagine non avrà il codice di avvio nel suo primo settore e non sarà avviabile.


Questa è la spiegazione che stavo cercando. Grazie per aver dedicato del tempo a spiegarlo. Sarebbe un po 'più bello vedere alcuni link, ma alla domanda viene data una risposta. Ecco cosa fa UNetbootin, copiando il codice del bootloader dal settore 17 al primo settore della chiavetta USB, giusto?
Samik,

3
No, non è semplice come copiare il codice di avvio. Anche se ciò fosse possibile, sarebbe necessario cancellare l'intero dispositivo (come usare dd fa), il che sarebbe inaccettabile per la maggior parte degli utenti di Unetbootin. Invece, Unetbootin "scarica ed estrae un file ISO sull'unità USB, genera un file di configurazione syslinux appropriato e rende avviabile l'unità USB utilizzando syslinux." unetbootin.sourceforge.net/#faq
Jordan Uggla,

+1 per le specifiche El Torito. E grazie per la spiegazione sopra. :)
Samik,

0

Gli attuali ISO di Ubuntu sono in dd grado e lo sono da un po 'di tempo. Sono ISO "ibridi": hanno un settore di avvio MBR. L'uso ddcorretto creerà un'unità USB completamente avviabile.

L'articolo citato, a proposito, ha solo una risposta affermando che gli ISO di Ubuntu non sono ddutilizzabili, e questo non è vero.

Si prega di vedere la mia risposta qui: Come convertire un ISO ISO 9660 in un ISO USB

Questa risposta fornisce un modo per determinare se un iso è ibridato (è possibile verificarlo per ISO di Ubuntu), come ibridarlo se non lo è (per altri casi) e come utilizzare correttamente ddper creare un'unità avviabile.


-3

Note che non presentano modifiche alla soluzione accettata pubblicata sopra.

La domanda è stata posta come iso affidabile, avviabile e usando dd.

Nella maggior parte dei casi gli utenti di Linux usano la frase iso per indicare un'immagine speciale di un disco ottico. Avviabile in quel caso potrebbe essere uno dei pochi metodi che il bios o uefi comprende e consente di eseguire dal disco ottico.

dd è generalmente considerato affidabile ma potrebbe fallire per molti motivi da solo e non avere nulla a che fare con l'origine o l'output. Nella maggior parte dei casi sembra fallire solo perché non chiede "Sei sicuro di volerlo cancellare ??"

I computer moderni tendono a vedere un usb come un vero disco rigido interno.

Si potrebbe usare uno strumento come 7z anche per copiare alcuni iso su un'unità flash fat32.

Tutto ciò presuppone hardware moderno e una moderna chiavetta USB.

In futuro dovremo creare supporti di avvio uefi nella maggior parte dei casi.

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.