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:

Annunci

MultiBoot USB avviare ISO da pendrive USB

MultiBoot USB ( mbusb ) è un progetto mantenuto da Agus Lopez con una collezione di oltre un centinaio di GRUB files e script che permettono di creare una chiavetta USB capace di avviare molte distribuzioni Linux a partire dai rispettivi ISO files. Questi file ISO e Utilities Kernel consentono utilizzo di LiveCD ed eventualmente anche l’installazione del sistema operativo.

Una modalità interessante di utilizzo consiste nell’aggiunta di MultiBoot USB a una pendrive con già installato GRUB2.

Per attivare la modalità in una pendrive con installato GRUB2 si deve copiare la directory mbusb.d contenente tutti i files di configurazione GRUB2 nella directory <grub> di boot della pendrive, in genere in /boot/grub/  e quindi modificare il file di configurazione grub.cfg

Se la chiavetta si trova in /dev/sdc montare la chiavetta con

su

mkdir /media/sdc1 

mount -t auto /dev/sdc1 /media/sdc1

copiare i files GRUB di configurazione con

cp -rf mbusb.d  /media/sdc1/boot/grub/

copiare il file mbusb.cfg da utilizzare per l’inserimento del menu <Multiboot > per l’avvio delle ISO nel menu di  GRUB 2.0

cp mbusb.cfg   /media/sdc1/boot/grub

Modificare manualmente il file di configurazione grub.cfg per consentire l’utilizzo del file mbusb.cfg per la generazione del menu con le ISO avviabili

# add  mbusb configuration 
source /boot/grub/mbusb.cfg

A questo punto non resta che copiare le ISO desiderate nella chiavetta. Come si legge nel file mbusb.cfg  il path  atteso  per le iso è /boot/isos

...
# Custom variables
set isopath="/boot/isos"
export isopath
...

creare la directory isos

mkdir /media/sdc1/boot/isos

quindi copiare le ISO

 

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

La pendrive può essere testata con kvm-qemu con un comando tipo

kvm -hda /dev/sdc

 

per installare qemu kvm

sudo apt-get install qemu-kvm

Comando più articolato per il test della pendrive USB con vari parametri

kvm -rtc base=localtime -m 2G -vga std -drive file=/dev/sdc,readonly,cache=none,format=raw,if=virtio
o
qemu-system-x86_64 -enable-kvm -rtc base=localtime -m 2G -vga std -drive file=<USB device>,readonly,cache=none,format=raw,if=virtio

Per una descrizione completa delle modalità di installazione fare riferimenro alla pagina:  https://mbusb.aguslr.com/install.html

 

Oltre a ISO Linux, Unix, Android risultano supportate anche le seguenti  utilities

AVG Rescue CD
Avira Rescue System
Boot-Repair-Disk
boot.rackspace.com
Clonezilla Live
DBAN
FalconFour’s UBCD
FreeDOS
Hiren’s BootCD
KolibriOS
Memtest86+
MemTest86
MenuetOS
netboot.xyz
Plop Boot Manager
Redox
Seagate SeaTools
SpinRite
Super Grub2 Disk
Ultimate Boot CD

 

Risorse: