Linux installazione Full su pendrive USB e multibootusb

Le pendrive USB oramai offrono  a costi ragionevoli una quantità di spazio in termini GB di tutto rispetto (64/128GB) ,  con prestazioni superiori ad un hard disk tradizionale velocità superiori ai 250MB/s in velocità di lettura che possono superare  i 100 MB/s in scrittura ( Benchmark di chiavette USB flash drive memoria stick pendrive USB in Linux ). Le tradizionali distribuzioni linux Live seppur assistite dalla persistenza purtroppo non risultano abbastanza funzionali. Infatti per la persistenza viene utilizzato un unico file il cui accesso dall’esterno risulta problematico. Inoltre se su partizione FAT32 non rappresentano il massimo in termini di stabilità. Quindi è preferibile anche disporre di una installazione di Linux completa direttamente su USB ( full Linux USB) .

Questa operazione può essere portata agevolmente in porto installando linux direttamente su chiavetta usb come se si trattasse di un hard disk interno.
Il problema del booting può essere affrontato con successo sfruttando la praticità di un tools come multibootusb (  Multibootusb installazione e utilizzo in debian 9.xx ) che consente anche l’avvio diretto delle ISO.
Anzi grazie a multibootusb  potremmo avere a disposizione su una pendrive USB :

  • distribuzioni LIVE avviabili magari con la persistenza
  • distribuzioni linux in formato ISO
  • installazioni complete Linux su USB
  • installazioni clonate full linux
  • copie di backup delle configurazioni di grub ( grub.cfg) dei propri computers.

Il tutto può essere testato ( menu e distribuzioni ) senza riavviare il computer grazie all’opzione Boot ISO/USB che si appoggia all’emulatore  QEMU.

Fattore critico, la chiavetta, che deve essere di buona qualità. Diversamente se ad esempio viene persa la connessione USB si ha il “freeze” del sistema Linux.

Dopo aver installato 2 Live, 4 full distro ( Debian, MX, Ubuntu, Starky )  e aver copiato diverse copie di backups su una chiavetta samsung muf da 128GB il menu GRUB si potrebbe presentare nel modo seguente.

Le voci evidenziate sono ottenute rinominando  i file grub.cfg generati dalle procedure di grub-install  e/o update-grub e copiandoli nella directory grub di multibootusb.

Viste le diverse copie di configurazioni grub.cfg utilizzate  la directory grub di multibootusb potrebbe diventare un po’  affollata.

Le modifiche al file principale grub.cfg sono fatte manualmente e consistono in semplici menuentry che richiamano gli altri file grub.cfg copiati:

#start Avvio MX183-full msdos3
menuentry 'x Avvio MX183-full - msdos3/USB' {configfile /multibootusb/grub/grub_MX183_full.cfg}

Cliccando ad esempio il menu entry  sopra elencato ‘x  avvio MX183 …. ‘  infatti si ottiene un nuovo menu grub.

Come evidenziato sono presenti diverse copie di backup di file grub.cfg rinominati di vari computers.
Infatti può fare comodo avere copie di backup di grub.cfg  per avvi di emergenza sopratutto quando si attivano procedure di manutenzione che coinvolgono gli hard disk.
La schermata di un GRUB.cfg di backup.

Alcune distribuzioni  potrebbero essere installate utilizzando l’opzione per l’avvio diretto delle ISO di nultiboot.
La funzionalità dell’avvio diretto delle ISO è supportata dalla versione 8.9 di multibootusb e utilizza la procedura  ( MultiBoot USB avviare ISO da pendrive USB ) di Agus Lopez. Le ISO che sono accessibili con menu <scan and boot ISOs under /multibootusb/iso -> però non possono trovarsi nella stesso disco su cui si effettua l’installazione.

Un elenco di  ISO automaticamente individuate e direttamente avviabili in una chiavetta con multibootusb.

L’installazione della distribuzione linux su chiavetta USB avviene in modo tradizionale.
E’ importante prestare attenzione alla gestione del partizionamento.
E preferibile partizionare preventivamente la chiavetta USB. La partizione per multiboot è bene che sia di tipo FAT32. In questo caso è di circa 40 GB.
Il partizionamento potrebbe essere sia MBR che GTP.  Visto l’uso anche come chiavetta per avvi di emergenza si può optare per la soluzione più conservativa la MBR.

L’installazione è bene che sia tutta su una sola partizione quella di root ( /).

E’ meglio evitare la creazione della partizione di swap, per non stressare troppo l’unità usb .

All’atto dell’installazione potrebbe essere preferibile non installare grub così da evitare la sovrascrittura e di dover reinstallare il bootloader di multibootusb.

Quando si dispone di una distribuzione linux full installata è possibile con una ISO Live e la modalità chroot lanciare il comando  l’update-grub e ottenere un nuovo file.grub.cfg in grado di avviare TUTTE le full presenti nella pendrive usb. Queste operazioni possono essere eseguite a livello di emulatore QEMU supportato da multibootusb.

In figura MX 8.3 Live da ISO nell’ ambiente QEMU.  I comandi usati per ottenere il file grub.cfg sono visibili nel terminale.

MX è installato nel partizione sda3.

sudo su
mount /dev/sda3 /mnt

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

adesso lavorariamo grazie a chroot sul sistema montato

chroot /mnt

aggiorniamo grub con

update-grub

uscire  da chroot e smontare i percorsi del sistema

exit

umount /mnt/dev
umount /mnt/proc
umount /mnt/sys 

umount /mnt

 

Sempre dall’interno della Live si può copiare il file grub.cfg in multimediausb/grub

mkdir /media/sda1     # partizione FAT32 con multibootusb
mkdir /media/sda3     # partizione ext4 per MX 18.3 

mount /dev/sda1  /media/sda1
mount /dev/sda3  /media/sda3

per sicurezza meglio avere una copia del grub.cfg di multibootusb

cp /media/sda1/multibootusb/grub/grub.cfg   /media/sda1/multibootusb/grub/grub_copia.cfg

copiare rinominando il file grub.cfg prodotto con l’update-grub per l’avvio delle Live

cp /media/sda3/boot/grub/grub.cfg /media/sda1/multibootusb/grub/grub_Lfull.cfg

il menu entry

#start Avvio grub 2 personal 
menuentry 'x Avvio Full Linux - All/USB' {configfile /multibootusb/grub/grub_full.cfg}

consentirà di visualizzare la seguente schermata grub

 

 

Risorse:

Multibootusb installazione e utilizzo in debian 9.xx

Multibootusb è una comoda applicazioni in python per Linux e Windows che consente di avere su una stessa chiavetta usb molte distribuzioni Linux e non solo.

E’ possibile anche avviare diverse distribuzioni direttamente dall’immagine ISO. Questo dalla versione 9.1.

Multibootusb sfrutta il comando dd per scrivere direttamente il file ISO su chiavetta USB.

La chiavetta usb e le distro installare possono essere testare senza riavviare il computer.

Consiglio di utilizzare per la chiavetta USB il partizionamento MBR. Il GPT pur supportato dalla versione 8.9 non sempre funziona.

Il menu di avvio può essere agevolmente modificato e sfruttato per conservare backup delle configurazioni grub 2.0 di altri computers. Vista la disponibilità di chiavette usb veloci e capienti e possibile avere nella stessa chiavetta anche installazioni linux di tipo full appoggiandosi sempre ai menu di multiboot per l’avvio.

La versione corrente di multibootusb è la 9.2.0.

Installare multibootusb

Per installare il programma in Debian si può utilizzare il pacchetto precompilato  python3-multibootusb_9.2.0-1_all.deb.

Questa la pagina github con i pacchetti per la principali distribuzioni:  https://github.com/mbusb/multibootusb/releases

per effettuare il download del pacchetto  da terminale

wget https://github.com/mbusb/multibootusb/releases/download/v9.2.0/python3-multibootusb_9.2.0-1_all.deb

per installare il pacchetto scaricato si può utilizzare il comando da terminale dpkg.

Poichè sono richesti diversi pacchetti si può utilizzare apt-get  install -f per

su

dpkg -i  python3-multibootusb_9.2.0-1_all.deb

apt-get install -f

I pacchetti richiesti dall’applicazioni sono indicativamente: python3-pyqt5, p7zip-full, parted, util-linux, python3-pyudev, mtools, python3-dbus, python3-six

Pertanto è anche possibile installare preventivmente

apt install libqt5clucene5 libqt5designer5 libqt5help5 libqt5test5 python3-pyqt5 python3-pyudev python3-dbus python3-sip python3-six p7zip-full parted mtools util-linux

e quindi installare il pacchetto .deb con dpkg.

Per l’avvio delle distribuzioni multibootusb si appoggia a Syslinux. Multibootusb supporta anche il bootloader GRUB 2.0. anche se non completamente.

E possibile passare al boot loader GRUB2 selezionando l’opzione <Load GRUB2 BootManager>.

Le voci di menu GRUB2 sono convertite dai file di configurazione syslinux  oppure supportate da file di configurazione  grub.cfg/loopback.cfg nativi.

Per poter utilizzare efficacemente tutte le funzionalità di multibootusb si consiglia di utilizzare una chiavetta  o una partizione su USB con formattazione FAT32 .

L’utilizzo classico prevede l’installazione dell’immagine Linux in formato ISO con il pulsante [ Install distro].
L’immagine viene selezionata con il pulsante [Browse].

Per le distribuzioni basate su Debian, Ubuntu e Fedora è offerta anche la possibilità di attivare la persistenza dei dati ( Linux persistence ). E’ possibile variare  le dimensioni del file per la persistenza.

 

Test della chiavetta multibootusb e delle ISO senza riavviare il computer

L’applicazione consente anche di testare  l’avvio della pendrive e delle ISO.  Per poter utilizzare la funzionalità di test della chiavetta usb  è necessario installare l’emulatore  kvm-qemu. con

apt install  kvm-qemu


Facendo attenzione è possibile se si flegga [] All Drives testare l’avvio  di qualsiasi unità presente nel sistema.

E bene fare molta attenzione perchè inavvertitamente si potrebbe non solo installare mutiboot su disco fisso  invece che su chiavetta USB ma con l’opzione write image to disk cancellare un intero disco.

Avviare distribuzioni Linux da file ISO direttamenre

Multiboot grazie a GRUB2 supporta l’avvio diretto di molte distribuzioni direttamente dal file ISO.

Per poter sfruttare questa possibilità è sufficiente copiare le immagini iso nella directory

/multibootusb/ISO

Le immagini iso sono riconosciute automaticamente grazie al progetto mbusb ( multiboot  USB ) di Agus Lopez .  mbusb consiste in una collezione di GRUB files e scripts che consentono di realizzare una pendrive capace di effettuare il boot di molti files ISO. Sono presenti circa un centinaio di file di configurazione per l’avvio delle iso. Percorso mbusb github:  https://gitlab.com/aguslr/multibootusb/tree/master/mbusb.d

MultiBoot USB avviare ISO da pendrive USB

https://gitlab.com/aguslr/multibootusb/tree/master

La lista dei files ISO supportati è disponibile alla pagina:  https://mbusb.aguslr.com/isos.html

In diversi casi è possibile utilizzare le iso non solo come linux in modalità “live” ma anche per l’installazione della distribuzione. Elenco delle distribuzioni supportate .  Considerato che il rilascio di nuova versione della  distribuzione linux può comportare variazioni nella modalità di boot è sempre preferibile fare un test che confermi il riconoscimento della ISO e la possibilità di utilizzo.

Scrittura diretta di una ISO su pendrive USB

MultibootUSB  consente di scrivere direttamente il file ISO nella chiavetta USB. Per fare questo sfrutta il comando dd. Il tab da selezionare è [ Write Image to disk ].

Poichè l’operazione è altamente distruttiva. dd cancella tutti i files nell’unità disco di destinazione deselezionare []All Drives e ricontrollare l’unità selezionata di destinazione.

 

Reinstall Syslinux

Se per varie ragioni Syslinux che è il boot loader di riferimento viene rimosso è possibile reistallarlo.  A questo proposito selezionare il tabulatore  [ Install Syslinux ]

 

 

Il file di log di Multibootusb  è disponibile in /tmp/multibootusb.log

 

Progetti similiari

Risorse:

Risorse: