Come creare una chiavetta USB per avviare il PC con GNU/Linux, senza installarlo su hard disk. Al termine della procedura la chiavetta non conterrà una live ma un'installazione. La chiavetta sarà considerato come un hard disk esterno.
Installare su memoria USB è una procedura un po' lenta, perciò, dopo la prima chiavetta, se ne può creare un'immagine di back up da cui poter produrre più velocemente altre chiavette senza ripetere tutta l'installazione.
ATTENZIONE: seguire le istruzioni coscienti del fatto che potrebbero contenre errori o omissioni. Nel caso in cui trovate un errore siete pregati di segnalarmelo…
Prima di iniziare bisogna scoprire se il proprio computer di avvia in modalità UEFI oppure BIOS (Legacy). Nel primo caso, si dovrà usare una tabella delle partizioni GPT, nel secondo caso di tipo MBR (msdos).
dmesg
mount
sfdisk -d /dev/sdc > sfdisk-udb.txt; fdisk -l /dev/sdc > fdisk-usb.txt
sgdisk -p /dev/sdc > sgdisk-usb.txt
l'installazione di Linux, dato che sarebbe modificato durante l'installazione.
parted /dev/sdc rm 1; parted /dev/sdc mkpart primary ext4 2048 19374078 ; parted /dev/sdc mkpart primary linux-swap 19374079 21374807 ;
e2label /dev/sdc1 radic-usb;
tune2fs -L etichetta -U c100d5a2-f162-11cf-9ece-0020afc76f16 /dev/sdxx
mkswap -U d2b005a2-f162-11cf-9ece-0020afc76f96 /dev/sdxx
ls -l /dev/disk/by-uuid
in chroot? swapon -U d2b9d5a2-f162-11cf-9ece-0020afc76f96
wipefs -n /dev/sdc
wipefs -o ........
Nei nuovi computer si possono installare dei sistemi operativi che si avviano in modo diverso dal passato. Le principali differenze sono visibili entrando nella configurazione segreta della scheda madre, premendo un tasto speciale, non appena si preme “Power”
Ad esempio:
UEFI richiede di creare partizioni GPT invece che MBR. UEFI richiede di creare una partizione di 512 MB (fat32)
parted /dev/sdc mklabel gpt
parted /dev/sdc rm 1; parted /dev/sdc mkpart primary fat32 2048 1050623 ; parted /dev/sdc mkpart primary ext4 1050624 20424602 ; parted /dev/sdc mkpart primary linux-swap 20424602 22425330 ;
Il sistema operativo si installa grazie ad un cd (.iso) da scaricare dal sito della distribuzione preferita.
Spesso, invece di masterizzare un CD, si copia il file .iso in una chiavetta USB con questo comando: (quindi serve una seconda chiavetta USB da almeno 4 GB)
dd if=file.iso of=/dev/sdx bs=4M conv=fsync
Attenzione, se il tuo hard disk contiene una pre-esistente partizione swap, devi impedire al programma di installazione di usarla
Come detto il tuo computer potrebbe essere configurato in due diverse modalità di caricamento del sistema operativo
Se hai avviato Ubuntu Live CD e vuoi sapere se è stato avviato in BIOS mode oppure in UEFI mode, basta aprire un terminale e scrivere questo comando:
efibootmgr
Se produce errore, sei nel caso di BIOS mode
Al termine viene installato anche GRUB. Anche GRUB è installato in modo diverso in UEFI mode. Dovrebbe essere installato sempre sulla chiavetta, non sul disco fisso
SE PER ERRORE VENISSE INSTALLATO SUL DISCO FISSO, la chiavetta non si avvierà su un altro pc.
Ho trovato molto utile editare il file /etc/fstab in questo modo per
Aprire firefox e digitare il seguente comando:
about:cache
Modificare /etc/fstab aggiungendo queste righe
none /home/nomeutente/.mozilla/firefox/xxxxxxxxxx.default/Cache tmpfs defaults 0 0
partimage -z 1 save /dev/sdc3 ./file3
partclone.ext4 --clone --source /dev/sdx1 --output file-immagine
Ricordarsi che Linux assegna ad ogni partizione un UUID (si trova nel file /etc/fstab ), quindi è necessario copiare a parte anche questo file
ls -l /dev/disk/by-uuid
partimage -z 1 restore /dev/sdxx ./filex
partclone.ext4 --restore --source file-immagine --output /dev/sdx1
Ora attenzione ai valori UUID della chiavetta originale (già analizzati in fstab)
tune2fs -L etichetta -U c1b9d5a2-f162-11cf-9ece-0020afc76f16 /dev/sdxx
Manca ancora il boot manager (grub2), vedere paragrafo successivo
uname -a
inserire la chiavetta e verificare il nome con cui è stata riconosciuta (sdc?)
dmesg
mount
Preparazione per chroot:
mount /dev/sdc2 /mnt
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do mount --bind $i /mnt$i; done;
chroot /mnt
SE HAI UN SISTEMA EFI DEVI LEGGERE PRIMA QUI
nel caso GPT e UEFI boot si deve installare un ulteriore pacchetto
grub-efi efibootmgr grub-efi-amd64-signed
anche il mount è diverso, in chroot è necessario montare una ulteriore partizione:
mount /dev/sdc2 /mnt ; mount /dev/sdc1 /mnt/boot/efi
grub-setup /dev/sdc
exit
for i in /sys/firmware/efi/efivars /run /sys /proc /dev/pts /dev; do umount /mnt$i; done; sleep 1; umount /mnt
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run ; do mount -B $i /mnt$i; done;
chroot /mnt
efibootmgr (QUESTO COMANDO NON DEVE DARE ERRORE)
update-grub; grub-install /dev/sdc; update-grub