Il tuoi requisiti
Desideri avviare un sistema Linux da una chiavetta USB.
La procedura
Partizionamento
GRUB è adatto come bootloader. La procedura seguente illustra come installare un bootloader funzionante su una chiavetta USB:
Per prima cosa sovrascriviamo l'intera chiavetta con zero byte. Se al sistema non sono collegati dispositivi di archiviazione SCSI, SATA o altri dispositivi USB, il dispositivo utilizzato per la chiavetta USB è solitamente /dev/sda
. Di seguito si assume che /dev/sda
sia lo stesso della chiavetta USB.
Attenzione: il seguente comando cancella irrimediabilmente tutti i dati presenti su questo dispositivo! Assicuratevi prima di quale file di dispositivo si rivolge realmente la vostra chiavetta USB!
root@linux# cat /dev/zero > /dev/sda
cat: write error: No space left on device
Ora creiamo una tabella delle partizioni con una partizione e la attiviamo (flag avviabile). Questo può essere fatto con fdisk /dev/sda
o cfdisk /dev/sda
, per esempio.
Importante: Affinché il kernel interpreti correttamente la nuova tabella delle partizioni, potrebbe essere necessario scollegare e ricollegare la chiavetta USB una volta.
Creare il file system
La nuova partizione si chiama /dev/sda1
. Su questa partizione si crea un file system, ad esempio del tipo ext2
:
root@linux# mkfs.ext2 /dev/sda1
Installare GRUB
Ora prepariamo una struttura di directory per GRUB e la installiamo sulla chiavetta USB. Per prima cosa montiamo la nuova partizione dopo /mnt
:
root@linux# mount /dev/sda1 /mnt
Grub è memorizzato nella directory /boot/grub
. Creiamo questa directory e vi copiamo le parti del bootloader, più facilmente dal disco rigido del nostro sistema di sviluppo, che si spera si avvii anche con GRUB:
root@linux# mkdir -p /mnt/boot/grub
root@linux# cp /boot/grub/*stage* /mnt/boot/grub
Poiché GRUB nomina i dischi rigidi in modo diverso dal kernel Linux, dobbiamo creare un file dicendo a GRUB che /dev/sda è il suo primo disco rigido:
root@linux# echo '(hd0) /dev/sda' > /mnt/boot/grub/device.map
Ora è possibile installare GRUB nel MBR del disco USB:
root@linux# grub-install --root-directory=/mnt /dev/sda
Importante: Non dimentica di smontare:
root@linux# umount /mnt
Test
Se finora hai fatto tutto correttamente e non hai sbagliato nulla, dovresti essere in grado di avviare un PC da questa chiavetta USB. In caso di successo, verrà visualizzato il prompt di GRUB:
GNU GRUB version 0.96 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub>
Non è ancora disponibile il Kernel, un Ramdisk iniziale e una configurazione per GRUB all'indirizzo /boot/grub/menu.lst
. Il risultato è eccellente come nel caso della Festplatte. Il nome della partizione /dev/sda1
è quello di Grub (hd0,0
).
Suggerimenti:
Alcune chiavette USB non sono trasparenti nei confronti di Linux. Non riescono a capire le migliori schede di memoria, in modo da ottenere informazioni sul funzionamento dei Flashspeichers. Dabei gehen sie z.B. implizit davon aus, dass der USB-Stick mit einem Windows-Dateisystem beschrieben wird, was man aus unserer Sicht durchaus als "Bug" bezeichnen kann. Tuttavia, non è presente nella confezione...
Das oben beschriebene Verfahren kann dazu führen, dass es bei solchen USB-Sticks zu Fehlern kommt. In caso di guasti, la chiavetta USB deve essere inizializzata in modo nuovo con un'apposita finestra. Non è noto se si possa arrivare a un guasto permanente, ma è possibile ottenere una certa sicurezza in un caso del genere.