Old:Dual Boot Linux-Windows: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Nessun cambiamento nella dimensione ,  2 dic 2005
m
Inversione di lettere
m (Inversione di lettere)
m (Inversione di lettere)
Riga 1: Riga 1:
==Personalizzare il prompt==


Dunque come sappiamo bash un tipo, forse il pi� usato, di shell per linux. Spesso per� c'la necessit� di amministrare pi� macchine, anche solo all'interno di una rete casalinga. Possiamo riconoscerle certamente dall'hostname, ma se vogliamo fare una cosa anche pi� carina oltre che utile, possiamo colorare il prompt. Per farlo basta editare il file ~/.bashrc. Al suo interno troveremo (se non le abbiamo cancellate in precedenza) delle righe pi� o meno cosi:
Beh, non tutti possono fare a meno di avere installato anche un sistema Windows sulla propria macchina e quindi spesso � necessario far convivere questi due OS.<br>
Storicamente questa convivenza si dimostrata spesso poco "pacifica", infatti a non pochi di noi capitato di non poter accedere a questo o quel sistema operativo, ben sapendo che all'ultima accensione tutto funzionava per il meglio.<br>
Di solito, per quella che � la mia esperienza in fatto di dual boot, posso "addossare" buona parte della colpa di questi malfunzionamenti, alla poca apertura del boot loadr di Windows rispetto agli altri sistemi operativi esistenti.<br>
Per ovviare a questo tipo di problema � possibile percorrere diverse scelte:


<pre>
1) Installare un bootloader pi� comprensivo (grub, lilo, gag, etc. etc.) e gestire tutto tramite quello;<br>
# Coloriamo bash
2) Usare il bootloader di Windows, per avviare anche gli altri OS a cui siamo interessati;
if [ "$PS1" ]; then
export PS1="\[\033[1;32m\]\u\[\033[1;37m\]@\[\033[1;31m\]\h\[\033[1;0m\]:\w\$ "
fi
</pre>


La sintassi � abbastanza semplice, esploriamo invece i vari comandi:
Questo articolo prova a spiegare in modo semplice come impostare ed utilizzare il secondo metodo.<br>
Lo spunto e le nozioni riportate derivano dall'articolo di '''Rover''' presente a questo indirizzo.


<pre>
Installeremo in sequenza, prima Windows e poi Linux: per il primo baster� seguire le varie schermate, mentre per il secondo occorr� qualche accortezza in pi�.<br>
u = Il nostro nome utente
Durante l'installazione della distro infatti, verr� richiesto di configurare un bootloader (di solito LILO o grub) e pertanto dovremo fare attenzione alla posizione dove verr� posizionato tale software.<br>
@ = il carattere @
In altre parole, un boot loader pu� essere installato nell'inizio di un disco (il famoso '''MBR''' o Master Boot Record), in una partizione ben precisa o in un floppy.
[\033[1;32m\] = cambio il colore in verde
h = hostname
[\033[1;0m\] = colore di default
: = il carattere :
w = directory corrente
$ = $ se siamo user, # se siamo superuser
</pre>


Nell'esempio riportato sopra, che una parte del mio bashrc, possiamo usare bash con la bandiera italiana. Ovviamente potete personalizzarlo come volete, cambiare caratteri, modificare colori e quant'altro.
Visto che siamo decisi a lasciare al boot loader di Windows l'onere di tutto il lavoro, � necessario scegliere la seconda opzione, specificando la partizione corrispondente alla / usata per installare Linux.
Ad esempio, nel mio caso ho:


==Usare i colori negli script==
/dev/hda7 ---> /<br>
/dev/hda6 ---> /home


Se si vogliono usare spesso i colori negli script bash � molto comodo definire delle variabili mnemoniche alle quali assegnare i codici di ogni colore. Questo pu� essere fatto ad esempio creando un file di nome '''/usr/local/bin/colors''', con il seguente contenuto:
quindi devo scegliere /dev/hda7.<br>
Una volta completata la procedura di installazione, SENZA riavviare il sistema, � nessario accedere come utente.<br>
Dopo aver aperto una shell eseguite questo comando:


<pre>
$ dd if=/dev/hda7 bs=512 count=1 of=/home/USER/linux.bin
#!/bin/bash
export WHITE="\e[1;37m"
export LGRAY="\e[0;37m"
export GRAY="\e[1;30m"
export BLACK="\e[0;30m"
export RED="\e[0;31m"
export LRED="\e[1;31m"
export GREEN="\e[0;32m"
export LGREEN="\e[1;32m"
export BROWN="\e[0;33m"
export YELLOW="\e[1;33m"
export BLUE="\e[0;34m"
export LBLUE="\e[1;34m"
export PURPLE="\e[0;35m"
export PINK="\e[1;35m"
export CYAN="\e[0;36m"
export LCYAN="\e[1;36m"
export Z="\e[0m"
</pre>


In questo modo non ci resta che fare un source del file '''/usr/local/bin/colors''' ogni qual volta vogliamo usare i colori. Per fare il source basta inserire:
dove USER � il vostro utente.<br>
Questo comando crea un file chiamato '''linux.bin''' (ci servir� in seguito), contenente i primi 512 byte della nostra partizione /, la stessa in cui, guarda caso, abbiamo installato il bootloader.<br>
Tale file ci servir� per istruire Windows ad avviare anche l'altro sistema operativo.<br>
Sempre dalla shell, copiamo linux.bin su un floppy vuoto, precendentemente inserito nell'apposito lettore con


<pre>
$ mcopy /home/USER/linux.bin a:
. colors
</pre>


in un punto dello script. A questo punto potremo colorare facilmente il nostro output in questo modo:
NB: mcopy fa parte del pacchetto degli mtools, nel caso non fosse installato e possibile usare i metodi standard di mount del device e di copia di un file.<br>
Nel caso non si disponga di un drive floppy, e possibile usare un qualsiasi supporto utilizzabile in scrittura da Linux (una partizione di fat32, una pen drive, un cdrw, etc etc)<br>
A questo punto dobbiamo riavviare il sistema: � da notare come Windows ancora non rilevi la presenza di Linux.
Una volta loggati come utente Administrator o equivalente, possiamo dedicarci alle modifiche.


<pre>
Il boot manager di Windows (almeno nelle versioni pi� recenti come 2000 o Xp) viene impostato nel file nascosto boot.ini, presente nella directory radice dove � installato il sistema, come ad esempio c:\ .<br>
echo -e "$LGREEN *** $Z Attenzione: la dir $LGREEN documenti $Z sara' eliminata"
Una volta attivata la visualizzazione dei file nascosti e quella dei file di sistema, � possibile aprire boot.ini ed osservarne il contenuto.<br>
</pre>
Il file in questione si presenta originariamente cos�:


che da come risultato nel terminale:
    [boot loader]
    timeout=15
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect


<div style="padding: 10px; background-color: black;color: white;">
<tt><font color="red"> *** </font>Attenzione: la dir <font color="#0FFF2F">documenti</font> sara' eliminata</tt>
</div>


;Nota 1: bisogna usare l'opzione '''-e''' con echo per fargli interpretare correttamente i caratteri di escape.
Per poter gestire Linux � sufficiente aggiungere la seguente riga:


;Nota 2: la variabile $Z ripristina il colore di default del terminale.
c:\linux.bin="Linux"


{{warningbox| I colori sono un caratteristica non POSIX di bash, quindi non usateli se vole fare script portabili}}
personalizzabile sia nel nome del file (linux.bin) che nell'etichetta da visualizzare (Linux).<br>
Preleviamo il file linux.bin che abbiamo prodotto con il comando dd e copiamolo nella directory c:\ .<br>
A questo punto possiamo riavviare il sistema e scopriamo che non si avvia pi� automaticamente Windows, ma ci viene proposta anche la scelta di Linux!!!<br>
Una volta selezionata quest'ultima voce, ci troviamo davanti il bootloader fornito dall'istallazione di Linux.


 
Ai pi� questa soluzione pu� sembrare contorta quanto inutile, ma a mio avviso consente di gestire Linux in modo decisamente pi� trasparente se � presente un dual boot con Windows, visto che quest'ultimo non dovr� essere "spodestato" dall'MBR per far posto al LILO o grub di turno.<br>
----
E, finora, questo metodo non mi ha MAI abbandonato!<br>
Autore iniziale: Bedo
 
Verificata ed estesa da : [[Utente:TheNoise|~ The_Noise]]
4

contributi

Menu di navigazione