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

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:

Testare la configurazione di avvio presente su hard disk con qemu senza riavviare

L’emulatore QEMU consente di testare agevolmente le ISO delle distribuzioni linux e anche una chiavetta usb avviabile.

L’emulatore  Qemu  – KVM consente anche di testare la configurazione di boot degli hard disk presenti nel sistema senza la necessita di procedere al riavvio.

per testare il disco sda  digitare ad esempio

kvm -hda /dev/sda

o

qemu-system-x86_64 -hda /dev/sda


qemu può essere installato con:

sudo apt-get install qemu

oppure

sudo apt-get install qemu-kvm

Testare una chiavetta usb di avvio

Nella stessa modalità può essere per testata una chiavetta usb di avvio.

kvm -hda /dev/sdc

oppure

qemu-system-x86_64 -hda /dev/sdc


Volendo è possibile specificare più parametri in fase di avvio

kvm  -rtc base=localtime -m 2G -vga std -drive file=/dev/sdc,cache=none,format=raw,if=virtio

oppure

qemu-system-x86_64 -enable-kvm -rtc base=localtime -m 2G -vga std -drive file=/dev/sde,readonly,cache=none,format=raw,if=virtio

Provare una distro live con qemu

L’emulatore Qemu – kvm consente anche di provare distro linux direttamente dal file .iso.

Ad esempio una live antiX su potrà essere eseguita  con  :

kvm -cdrom antiX-16.2_x64-base.iso -m 512

Con -m viene specificata la RAM da dedicare.

Se il PC presenta qualche GB di RAM ( ad esempio 4GB)  L’avvio di ISO con qemu risultarà senz’altro efficace.

Volendo è possibile anche indicare il disco immagine  IDE hard disk 0.
Per creare il disco immagine

qemu-img create  qemu_hda.img 2G

Quindi il comando per lanciare la ISO diventa

kvm  -cdrom antiX-16.2_x64-base.iso  -hda qemu_hda.img   -m 512

oppure

kvm  -cdromantiX-16.2_x64-base.iso  -hda qemu_hda.img   -m 512 -boot d

Nota: Il formato di default per il disco immagine è raw volendo si può precisare anche il formato vmdk di vmware :    qemu-img create  -f vmdk qemu_hda.vmdk 2G

Risorse:

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:

 

 

Testare una chiavetta usb di boot o una ISO con qemu

L’emulatore QEMU consente di testare agevolmente le ISO delle distribuzioni linux e anche una chiavetta usb avviabile.

Installare qemu con:

sudo apt-get install qemu

oppure

sudo apt-get install qemu-kvm

per testare una chiavetta usb di avvio digitare

kvm -hda /dev/sdb

oppure

qemu-system-x86_64 -hda /dev/sdb

Una ISO live potrà essere eseguita  con  :

kvm -cdrom slax-6.1.2.iso -m 512

Con -m viene specificata la RAM da dedicare.

Sel il PC presenta qualche GB di RAM ( ad esempio 4GB)  L’avvio di ISO con qemu risultarà senz’altro efficace.

Volendo è possibile anche indicare il disco immagine  IDE hard disk 0.
Per creare il disco immagine

qemu-img create  qemu_hda.img 2G

Quindi il comando per lanciare la ISO diventa

kvm  -cdrom slax-6.1.2.iso  -hda qemu_hda.img   -m 512

oppure

kvm  -cdrom slax-6.1.2.iso  -hda qemu_hda.img   -m 512 -boot d

 

Nota: Il formato di default per il disco immagine è raw volendo si può precisare anche il formato vmdk di vmware :    qemu-img create  -f vmdk qemu_hda.vmdk 2G

Risorse:

 

 

Provare le immagini ISO live in Ubuntu 12.10 – remastersys – qemu

Grazie all’ emulatore QEMU risulta agevole, in ubuntu 12.10 testare  una distribuzione live per la quale sia diponibile una ISO. Ovviamente la modalità si presta anche per provare le proprie ISO create ad esempio con remastersys

Installare qemu con:

sudo apt-get install qemu-kvm

Se si è generata una custom-backup.iso con remastersys può essere avviata ed utilizzata con

kvm -cdrom custom-backup.iso -m 1024 -vga std

Con l’opzione  -m 1024  si intervenie sulla  la RAM da dedicare alla macchina virtuale,  con  -vga std  sulla risoluzione

Per utilizzare anche l’audio utilizzare l’opzione -soundhw ad esempio:

kvm -cdrom custom-backup.iso -m 1024 -vga std -soundhw all

Di seguito alcune schermate di una macchina virtuale Lubuntu 12.10  ottenuta con remastersys opzione backup file custom-backup.iso:
1) avvio

ubuntu 12.10 qemu-remastersys avvio ubuntu 12.10 qemu-remastersys start

 

2) desktop e windows manager a disposizione

ubuntu 12.10 qemu-remastersys

3) environment awesome si nota pcmanfm con protocollo sftp su macchina remota della rete locale la risoluzione video è 1920×1080.

Comunque con qemu possiamo avviare qualsiasi iso live ad esempio se si dispone della iso slax: slax-6.1.2.iso
La live potrà essere eseguita  con :

kvm -cdrom slax-6.1.2.iso -m 512

Sel il PC presenta qualche GB di RAM ( ad esempio 4GB)  L’avvio di ISO con qemu risultarà senz’altro efficace.

Volendo è possibile anche indicare il disco immagine  IDE hard disk 0.
Per creare il disco immagine

qemu-img create  qemu_hda.img 2G

Quindi il comando per lanciare la ISO diventa

kvm  -cdrom slax-6.1.2.iso  -hda qemu_hda.img   -m 512

oppure

kvm  -cdrom slax-6.1.2.iso  -hda qemu_hda.img   -m 512 -boot d

Nota: Il formato di default per il disco immagine è raw volendo si può precisare anche il formato vmdk di vmware :    qemu-img create  -f vmdk qemu_hda.vmdk 2G

E possibile anche utilizzare interfaccie grafiche per l’avvio di qemu ad esempio qemu-launcher che si installa con:.

sudo apt-get install qemu-launcher

qemu-laucher

Creare un DVD, un CD o una chiave USB Multiboot

Aggiornamento  maggio 2013

Nuovo post con integrazioni e aggiornamenti su MultiCd   MultiCd per creare CD e DVD Multiboot in Linux

—–

Considerato che il rilascio delle distribuzioni linux avviene con una certa frequenza, solo nel caso di Ubuntu sono 2 all’anno e per ciascuna di queste esistono poi diverse varianti. Visto che diverse sono le distro live specializzate in ambiti particolari e che esistono diversi tools vedi antivirus, boot manager , etc., ecco che risulta assai conveniente disporre di un DVD o di un CD o una chiaveta USB che possano contenere diverse di queste ISO permettendo il loro avvio tramite menu.

Nel mondo linux trovo veramente interessante multicd ( http://multicd.tuxfamily.org/ ) uno script, licenza MIT, in grado di costruire multiboot DVD o CD a partire da un buon numero di distribuzioni.

Per l’utilizzo dello script creare una cartella e valutare qualora si intendano realizzare multiboot DVD che potrebbe raggiungere temporaneamente i 15GB. Personalmente in questo caso preferisco utilizzare una partizione dati specifica.

mount -t auto /dev/hda10 /media/dati

mkdir /media/dati/multicd

cd /media/dati/multicd

Scaricare l’ultima versione di sviluppo di multicd con git

git clone git://git.tuxfamily.org/gitroot/multicd/multicd.git

copiare nella directory le iso che si intendono inserire nel DVD multiboot

I files ISO devono talvolta essere rinominati secondo le indicazioni sul sito di multicd supported boot images .

Ad esempio possiamo copiare nella cartella multicd:

slax-6.1.2.iso
ubuntu-11.04-desktop-i386.iso

invece copiamo e rinomiamo
super_grub2_disk_hybrid_1.99b1.iso
in
super_grub2_disk_hybrid_1.99b1.img

jOrganPup-2011.6.iso
in
jo.puppy.iso

Quindi:

chmod +x multicd*.sh

./multicd.sh

Risorse:

Per creare una chiavetta USB multiboot in Linux è possibile utilizzare il programma Multisystemm script di installazione download

Alternative windows xboot, sardu, yumi.

Programmi per creare una chiavetta USBcon sistema operativo live LinuxLIve USb Creator, Unetbootin

MultiCD

Making a Multi Booting CD DVD USB | Phoxis

reboot.pro.

ISO Distro e ISO Tools interessanti:

Super Grub Disk: super_grub2_disk_hybrid_1.99b1.iso

GRUB4DOS grub.exe

Avira AntiVir Rescue Systemavira.iso – 2012-06-24

Finnix 104 – the liveCD for system administrators – 20120207

Trinity Rescue Kit – 20110412 trinity-rescue-kit.3.4-build-372.iso

GParted – Browse /gparted-live-stable/0.12.1-5 at SourceForge.net gparted 2012-05-20

Offline Windows Password & Registry Editor – 2011-‘5-11

Ultimate Boot CD – Overview

EASEUS Disk Copy

FreeDOS base or full CD

Hiren’s BootCD