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.

Linux knowledge

Questi articoli sono stati scritti dal fondatore di Checkmk molti anni fa.
Tuttavia, sono ancora validi e quindi li conserviamo sul nostro sito web.
Da allora Mathias ha sviluppato un software di monitoraggio chiamato Checkmk.

Scopri di più