This is an old revision of the document!
Table of Contents
Boot da USB
Installare GRUB sul MBR di una chiavetta USB
I file di GRUB devono risiedere su una partizione, per comodità si crea una partizione primaria /dev/sdc1
, formattata FAT32.
Questa stessa partizione può essere usata come partizione dati. Nota che Windows XP riconosce solo la prima partizione presente su una chiavetta USB, quindi questa è l'unica utilizzabile per lo scambio dei dati.
mkfs.vfat /dev/sdc1 mount /dev/sdc1 /mnt/sdc1 cp -p /usr/lib/grub/i386-pc/* /mnt/sdc1/boot/grub/ grub --no-floppy --device-map=/dev/null grub> device (hd0) /dev/sdc grub> root (hd0,0) grub> setup (hd0) grub> quit
Ovviamente si deve creare anche un file menu.lst
.
Installare GRUB su una partizione FAT32
Nel nostro caso si è scompattata la distribuzione GRML sulla partizione FAT32 /dev/sdc6
e si vuole rendere la partizione stessa avviabile (tramite chainloading da un boot manager che si trova su /dev/sdc
):
mount /dev/sdc6 /mnt/sdc6 cp -p /mnt/sdc6/usr/lib/grub/i386-pc/* /mnt/sdc6/boot/grub/ grub --no-floppy --device-map=/dev/null grub> device (hd0) /dev/sdc grub> root (hd0,5) grub> setup (hd0,5) grub> quit
Ovviamente nella directory grub
si deve installare anche un file menu.lst
.
GRUB: chainload di una partizione logica
Supponiamo che GRUB sia installato sul MBR di /dev/sdc
, vogliamo una voce nel menu che passi il controllo al GRUB (o altro boot manager) che si trova installato sulla partizione /dev/sdc6
:
title GRML 2009.05 Boot Menu (/dev/sdc6) rootnoverify (hd0,5) chainloader +1
Avvio di Ubuntu Live da USB
Come travasare un CD Live Ubuntu in una chiavetta USB. Provato con Ubuntu 8.04 e chiavetta da 2 Gb.
- Formattare la chiavetta (supponiamo che sia
/dev/sdb
), creando una partizione primaria di tipo e (W95 FAT16 LBA) oppure di tipo b (W95 FAT32). Marcare la partizione come attiva. - Montare la partizione /dev/sdb1.
- Montare l'immagine ISO del CD-ROM e copiare tutto il contenuto nella chiavetta, i link simbolici non si copiano sul filesystem vfat, ma non dovrebbero servire. Fare attenzione invece ad eventuali directory nascoste, ad esempio
.disk/
, che sono indispensabili. - Spostare tutti i file contenuti nella directory
isolinux
nella directory radice della chiavetta USB. - Rinominare
isolinux.cfg
insyslinux.cfg
. - Rendere la chiavetta USB avviabile con i comandi
install-mbr /dev/sdb syslinux /dev/sdb1
Problemi con Syslinux
Ci possono essere problemi con immagini Syslinux v.6 e alcuni creatori di chiavette USB che invece installano il binario del boot manager in versione 4. Il problema si manifesta con l'errore in fase di boot:
not a COM32R image
Su un host che abbia installato il pacchetto syslinux versione 6, supponendo che la partizione FAT da rendere avviabile sia /dev/sdb1
, è sufficiente dare il comando:
syslinux --install /dev/sdb1
Viene sostituito il file ldlinux.sys
con la versione più aggiornata.
In altri casi il messaggio di errore potrebbe essere:
Failed to load COM32 file menu.c32
pare che in questo caso sia sufficiente copiare i due file libutil.c32
e menu.c32
da /usr/lib/syslinux/modules/bios/
di una installazione Debian alla directory radice della chiavetta.
Assegnare una label ad una partizione FAT32
ATTENZIONE: Impostare una label MS-DOS su una partizione FAT può corrompere l'installazione di GRUB sulla stessa partizione e viceversa. In particolare l'installazione di GRUB può risultare in un errore rilevato da
dosfsck
.
Una label sulla partizione può tornare utile per l'automount: i punti di montaggio diventano qualcosa del tipo /media/LABEL
:
dosfslabel /dev/sdc6 dosfslabel /dev/sdc6 LABEL
Se ci sono errori sul filesystem si può tentare di ripararli con:
dosfsck -r /dev/sdb6