lunedì 23 novembre 2015

Installare una distro linux direttamente dal disco

Sono tanti i motivi che potrebbero spingervi ad evitare di utilizzare "convenzionali" dispositivi per provare/installare una distro Linux. Ovviamente per convenzionali si intende CD/DVD, USB, ecc.


Nel mio caso, mi sono ritrovato impossibilitato ad accedere al menu boot del BIOS (e di conseguenza, a settare come dispositivo di boot il CD o la pendrive) a causa della tastiera wireless che utilizzo, la quale viene riconosciuta solo dopo il caricamento del sistema operativo, sia esso Windows o Linux.
In realtà però, potreste voler utilizzare questo metodo per pura pigrizia, mancanza di CD/DVD, o altro.
Sono passato da Ubuntu 15.10 (con grub naturalmente preinstallato) ad elementary OS (freya).

Occorrente

 

  • Un sistema operativo Linux installato;
    • bootloader utilizzato: grub;
  • Immagine del sistema operativo da avviare (.iso);

Preparazione della ISO 

 

Per quanto non sia strettamente necessario, è bene creare una cartella, ad esempio in /boot/, nella quale posizionare il file. Procediamo dunque, supponendo che la nostra iso si chiami distro.iso, e si trovi in /home/davide/Scrivania (naturalmente modificate poi i vari path e nomi a seconda del vostro caso).

sudo mkdir /boot/iso
sudo mv ~/Scrivania/distro.iso /boot/iso

A questo punto, la nostra iso è pronta per essere aggiunta alle voci del bootloader grub.


Aggiungere una nuova voce in grub

 

Procediamo con l'editare il file /etc/grub.d/40_custom, che appunto ci permette di definire delle voci "custom". Tale file quindi va aperto (con permessi di root) con un qualunque editor di testo (grafico o testuale). Potrete quindi procedere a digitare il comando:

sudo nano /etc/grub.d/40_custom

A questo punto, incollate quanto segue, stando attenti ai parametri in rosso:

#!/bin/sh
echo "Adding 40_custom." >&2
exec tail -n +4 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "testo_da_visualizzare" {
        set isofile="/boot/iso/distro.iso"
        loopback loop (hd0,8)$isofile
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject toram
        initrd (loop)/casper/initrd.lz
}

Procediamo per ordine: 
  • testo_da_visualizzare: il testo che deve apparire nella nuova voce di grub, potete mettere quello che volete, ad esempio "elementaryOS freya iso"; 
  • /boot/iso/distro.iso: il path settato in precedenza, con il relativo nome della iso scelta;
  • hd0,8*: indica da dove avviare il sistema, quindi da dove prendere il path e la relativa iso che avete settato in precedenza.
    • hd0 indica l'hard disk o il dispositivo sul quale risiede la iso;
    • 8 è la partizione, ad esempio in questo caso corrisponde ad sda8;
*Visto che parliamo di un sistema con già installato grub, potreste sfruttare le informazioni già presenti: 

sudo nano /boot/grub/grub.cfg

cerchiamo la voce relativa all'attuale sistema operativo in esecuzione (che quindi è sicuramente nella partizione che ci servirà per localizzare la nostra iso). Nel mio caso, dato che avevo installato ed in esecuzione Ubuntu, la riga era:

menuentry 'Ubuntu 15.10' --class elementary --class ............. gnu-linux --class ............ {

All'interno della parentesi graffa relativa a quella entry, dovreste localizzare 

set root='hd0,msdos6'

Ebbene, questo è il disco e la partizione da utilizzare nel caso di prima (sostituendo dunque hd0,8 con hd0,msdos6);

Si noti infine che toram è un parametro fondamentale qualora vogliate installare il sistema operativo e non solo avviarlo! Infatti permetterà di caricare il sistema in RAM, in modo da risultare effettivamente analogo all'avvio di un LiveCD, e di conseguenza permettere l'accesso alle partizioni del disco, che altrimenti risulterebbero già in uso ed impossibili da modificare/scrivere.

Conclusione

 

Salviamo il file delle entry, ed informiamo grub delle modifiche fatte, procedendo quindi ad eseguire il comando per aggiornarlo:
  
sudo grub-update

Quindi non ci resta che riavviare e selezionare dalle voci del menu grub, quella relativa alla nostra iso.
Il resto è tutto analogo all'avvio ed installazione di un sistema da LiveCD o pendrive.

Qualora, come nel mio caso, foste impossibilitati ad usare la tastiera nel menu di grub, vi rimando a questo piccolo tip che ho scritto.

Happy Linux :)


Nessun commento:

Posta un commento