<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alessandro Stella - Appunti di informatica &#187; Grub 2</title>
	<atom:link href="http://www.alessandrostella.it/tag/grub-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alessandrostella.it</link>
	<description>Appunti sparsi di informatica</description>
	<lastBuildDate>Sat, 04 Feb 2012 20:57:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Grub 2 e il multiboot con Windows XP &#8211; Vista &#8211; 7</title>
		<link>http://www.alessandrostella.it/software/2009/11/grub-2/</link>
		<comments>http://www.alessandrostella.it/software/2009/11/grub-2/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 21:01:54 +0000</pubDate>
		<dc:creator>Alessandro</dc:creator>
				<category><![CDATA[guide e manuali]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[trucchi e soluzioni]]></category>
		<category><![CDATA[boot loader]]></category>
		<category><![CDATA[Grub 2]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[multiboot]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows vista]]></category>

		<guid isPermaLink="false">http://www.alessandrostella.it/?p=231</guid>
		<description><![CDATA[Abbiamo detto che il comando 1update-grub2 si occupa di creare il file /boot/grub/grub.cfg. Per ottenere questo risultato esegue, in sequenza, gli script presenti nei file che si trovano nella cartella /etc/grub.d/. Purtroppo non c&#8217;è ancora una procedura automatica per l&#8217;eliminazione e/o la modifica delle voci che ci vengono &#8220;imposte&#8221; da grub2. Tuttavia con un po&#8217; [...]<div id="artCorr">
            <h4>Articoli correlati</h4>
        <ol>
	    	    <li><a href="http://www.alessandrostella.it/software/2009/11/grub-2-facciamolo-piu-bello/" rel="bookmark">Grub 2 &#8211; Facciamolo più bello</a><!-- (19.1)--></li>
	    	    <li><a href="http://www.alessandrostella.it/varie/2010/06/cddvd-sata-windows-xp-linux/" rel="bookmark">CD/DVD SATA e windows xp o linux</a><!-- (12.8)--></li>
	    	    <li><a href="http://www.alessandrostella.it/varie/2009/04/vista-e-la-cartella-programmi/" rel="bookmark">Windows Vista, windows 7 e la cartella programmi</a><!-- (12.3)--></li>
	            </ol>
    </div>]]></description>
			<content:encoded><![CDATA[<p>Abbiamo detto che il comando</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">update-grub2</div></td></tr></tbody></table></div>
<p>si occupa di creare il file /boot/grub/grub.cfg.<br />
Per ottenere questo risultato esegue, in sequenza, gli script presenti nei file che si trovano nella cartella /etc/grub.d/.<br />
Purtroppo non c&#8217;è ancora una procedura automatica per l&#8217;eliminazione e/o la modifica delle voci che ci vengono &#8220;imposte&#8221; da grub2. Tuttavia con un po&#8217; di pazienza possiamo &#8220;usarlo&#8221; per farci aiutare a ingannarlo <img src='http://www.alessandrostella.it/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Andiamo!<br />
Apriamo il file /boot/grub/grub.cfg. Ci servirà!<br />
E&#8217; in sola lettura e noi rispetteremo il volere del suo creatore: non lo modificheremo mai a manina. Però ora cerchiamo di capire come viene creato.<br />
Quando viene eseguito il comando <strong>update-grub2</strong>, viene letto sia il file /etc/default/grub sia i file presenti in /etc/grub.d. In questo modo vengono impostati i parametri di visualizzazione del menù di <strong>Grub2</strong> e viene eseguita una ricerca per la presenza di kernel Linux, altri sistemi operativi ed elementi presenti negli script creati dall&#8217;utente in /etc/grub.d. Tutte queste informazioni finiscono poi nel file grub.cfg.<br />
In questa tabella vengono descritti i principali file presenti in /etc/grub.d/.</p>
<table style="width:100%; border:solid">
<tbody>
<tr>
<td style="background-color:#1111FF;text-align: center;width: 15%;"><strong>File</strong></td>
<td style="background-color:#1111FF;text-align: center;"><strong>Significato</strong></td>
</tr>
<tr>
<td>00_header</td>
<td>Carica le impostazioni da /etc/default/grub, compresa la presentazione visiva, il conto alla rovescia e le opzioni del terminale</td>
</tr>
<tr>
<td>05_debian_them</td>
<td>Imposta lo sfondo, il colore del testo e i temi</td>
</tr>
<tr>
<td>10_hurd</td>
<td>Localizza eventuali kernel Hurd</td>
</tr>
<tr>
<td>10_linux</td>
<td>Localizza i kernel basati sull&#8217;ID del distributore determinato dal risultato del comando <strong>lsb_release -is</strong></td>
</tr>
<tr>
<td>20_memtest86+</td>
<td>Se il file /boot/memtest86+.bin esiste, viene inclusa una voce per <strong>memtest86+</strong></td>
</tr>
<tr>
<td>30_os-prober</td>
<td>Va alla ricerca di altri sistemi operativi e li include nel menù</td>
</tr>
<tr>
<td>40_custom</td>
<td>Rappresenta un modello per aggiungere voci personalizzate al menù</td>
</tr>
</tbody>
</table>
<p>Il nome del file determina l&#8217;ordine nel menù perché i file vengono letti ed eseguiti in ordine alfabetico. Le voci che iniziano con 30 verranno posizionate prima di quelle che iniziano con 40 e così via.<br />
<span id="more-231"></span><br />
Bene.<br />
Vediamo ora come possiamo apportare le 2 modifiche più comuni:</p>
<ol>
<li>modificare il testo di una voce del menù</li>
<li>cancellare una voce del menù</li>
</ol>
<h4>1. Modificare il testo di una voce di menù</h4>
<p>Se dobbiamo modificare il testo della voce di menù che si riferisce a Linux dobbiamo intervenire sul file <strong>/etc/grub.d/10_linux</strong>. Se invece trattasi di voce Windows o altro OS dobbiamo intervenire sul file /etc/grub.d/30_os-prober.<br />
Modifchiamo la voce di menù &#8220;Ubuntu, Linux 2.6.31-14-generic&#8221;, davvero antipatica, e trasformiamola in una più amichevole &#8220;Ubuntu 9.10 &#8211; Karmic Kaola&#8221;.<br />
Apriamo il terminale e digitiamo:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo gedit /etc/grub.d/10_linux</div></td></tr></tbody></table></div>
<p>cerchiamo la stringa</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">menuentry &quot;$1&quot; {</div></td></tr></tbody></table></div>
<p>e sostituiamo $1 con Ubuntu 9.10 &#8211; Karmic Kaola, ottenendo:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">menuentry &quot;Ubuntu 9.10 - Karmic Kaola&quot; {</div></td></tr></tbody></table></div>
<p>Salviamo il file.<br />
Poi da terminale:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo update-grub2</div></td></tr></tbody></table></div>
<p>Fatto.<br />
Approfondimento su questo punto.<br />
In realtà, le voci di menù che riguardano Linux vengono create dalla funzione <strong><em>linux_entry()</em></strong> che si trova sempre nel file <strong><em>10_linux</em></strong>. Tale funzione crea una voce per ogni versione di linux presente sul nostro HD. Questo significa che, procedendo come indicato sopra, i vari aggiornamenti di ubuntu che saranno installati verranno indicati da una nuova riga nel menù di grub, ma che, tutte queste righe, avranno lo stesso identico testo: Ubuntu 9.10 &#8211; Karmic Koala.<br />
Per poter distinguere le varie voci si dovrebbe intervenire sulla funzione citata, ma poi le cose si complicherebbero&#8230;</p>
<p>Il file che si occupa delle altre voci, per OS non Linux, è <strong>/etc/grub.d/30_os-prober</strong> e qui so&#8217; dolori! In teoria dovremmo modificare lo script presente nel file, come abbiamo fatto per la voce di Linux, ma per quanto mi riguarda, preferisco procedere come segue:</p>
<ol>
<li>spostare il file /etc/grub.d/30_os-prober in una cartella di nostro gradimento, eliminandolo quindi da /etc/grub.d/</li>
<li>editare in scrittura (quindi &#8220;sudo&#8221;) il file /etc/grub.d/40_custom</li>
<li>copiare in coda a questo file il pezzo del file /boot/default/grub.cfg che ci interessa apportando semplici modifiche testuali. Il pezzo del file /boot/default/grub.cfg che ci interessa è delimitato dalla stringa ### BEGIN /etc/grub.d/30_os-prober ###</li>
<li>salvare /etc/grub.d/40_custom</li>
<li>updatare.</li>
</ol>
<p>In questo modo, grub 2 non trovando il file 30_os-prober salta la costruzione delle voci degli altri OS che però saranno inserite a nostro piacimento perché verrà trovato il file 40_custom con il testo tutto pronto.</p>
<h4>2. Cancellare una voce di menù</h4>
<p>Beh, lo sappiamo già fare. Basta seguire quanto già fatto alla fine del punto precedente&#8230;<br />
Difficile?<br />
Dai, proviamoci!</p>
<div id="artCorr">
            <h4>Articoli correlati</h4>
        <ol>
	    	    <li><a href="http://www.alessandrostella.it/software/2009/11/grub-2-facciamolo-piu-bello/" rel="bookmark">Grub 2 &#8211; Facciamolo più bello</a><!-- (19.1)--></li>
	    	    <li><a href="http://www.alessandrostella.it/varie/2010/06/cddvd-sata-windows-xp-linux/" rel="bookmark">CD/DVD SATA e windows xp o linux</a><!-- (12.8)--></li>
	    	    <li><a href="http://www.alessandrostella.it/varie/2009/04/vista-e-la-cartella-programmi/" rel="bookmark">Windows Vista, windows 7 e la cartella programmi</a><!-- (12.3)--></li>
	            </ol>
    </div>]]></content:encoded>
			<wfw:commentRss>http://www.alessandrostella.it/software/2009/11/grub-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Grub 2 &#8211; Facciamolo più bello</title>
		<link>http://www.alessandrostella.it/software/2009/11/grub-2-facciamolo-piu-bello/</link>
		<comments>http://www.alessandrostella.it/software/2009/11/grub-2-facciamolo-piu-bello/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 19:15:14 +0000</pubDate>
		<dc:creator>Alessandro</dc:creator>
				<category><![CDATA[guide e manuali]]></category>
		<category><![CDATA[recensioni]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[Grub 2]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.alessandrostella.it/?p=261</guid>
		<description><![CDATA[Con l&#8217;uscita di ubuntu 9.10 karmic koala è stato introdotto un nuovo boot loader: grub 2. Le novità rispetto al precedente sono purtroppo molte, quinidi tutte le vecchie abitudini devono essere cambiate. Vediamo come è possibile interagire con grub 2. E&#8217; bene subito mettere in chiaro una cosa: a meno che non siate degli esperti [...]<div id="artCorr">
            <h4>Articoli correlati</h4>
        <ol>
	    	    <li><a href="http://www.alessandrostella.it/software/2009/11/installare-lamp-linux-apache-mysql-php-in-ubuntu-9-10-per-principianti/" rel="bookmark">Installare LAMP (Linux, Apache, MySql, Php) in ubuntu 9.10 &#8211; Per principianti</a><!-- (6)--></li>
	    	    <li><a href="http://www.alessandrostella.it/guide-e-manuali/2010/01/ubuntu-srt-sottotitoli-avi/" rel="bookmark">Ubuntu e i file srt (file di testo contenenti i sottotitoli)</a><!-- (5.7)--></li>
	    	    <li><a href="http://www.alessandrostella.it/software/2009/12/eclipse-il-gdk-e-ubuntu-9-10/" rel="bookmark">Eclipse, il GDK e ubuntu 9.10</a><!-- (4.3)--></li>
	            </ol>
    </div>]]></description>
			<content:encoded><![CDATA[<p>Con l&#8217;uscita di <strong>ubuntu 9.10 karmic koala</strong> è stato introdotto un nuovo boot loader: <strong>grub 2</strong>.<br />
Le novità rispetto al precedente sono purtroppo molte, quinidi tutte le vecchie abitudini devono essere cambiate. Vediamo come è possibile interagire con grub 2.<br />
E&#8217; bene subito mettere in chiaro una cosa: a meno che non siate degli esperti (ma non lo siete, altrimenti non sareste qui) NON editate il file <strong>grub.cfg</strong>. Sebbene sia il cuore di grub 2, esso deve essere costruito dagli script e non a manina!<br />
Fatta questa precisazione proseguiamo. </p>
<h3>Estetica di base</h3>
<p>Sebbene grub 2 supporti i temi, l&#8217;argomento è molto complesso e non viene trattato in questo post.<br />
Qui ci occuperemo di modificare la risoluzione dello schermo, l&#8217;immagine di sfondo e il colore dei caratteri di grub 2.<br />
A tal fine dovremo modificare 2 file:<br />
<strong>/etc/grub.d/05_debian_theme</strong><br />
<strong> /etc/grub.d/00_header</strong><br />
Iniziamo con la modifica dell&#8217;immagine di sfondo e il colore dei caratteri. Ci occuperemo dopo della risoluzione.</p>
<p>Apriamo il terminale e digitiamo:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo gedit /etc/grub.d/05_debian_theme</div></td></tr></tbody></table></div>
<p>La figura qui di seguito mostra il file 05_debian_theme.<br />
<a href="http://www.alessandrostella.it/wp-content/uploads/2009/11/05_debian_theme.jpeg" rel="lytebox"><img src="http://www.alessandrostella.it/wp-content/uploads/2009/11/05_debian_theme-300x273.jpg" alt="Il file 05_debian_theme" title="Il file 05_debian_theme" width="300" height="273" class="alignnone size-medium wp-image-233" /></a><br />
Alcune zone della figura sono state evidenziate cone 3 colori diversi.<br />
La parte in azzurro indica le cartelle del vostro disco in cui grub 2 dovrà cercare le immagini da usare come sfondo. Possiamo aggiungere quante cartelle vogliamo purché siano divise da una virgola, come mostrato in figura.<br />
La parte in rosso indica il nome vero e proprio del file, seguito da tutte le possibili estensioni.<br />
La parte in verde, infine, setta i colori del testo e dello sfondo che lo evidenzia quando è selezionato. In particolare &#8220;color_normal&#8221; indica &#8220;colore testo&#8221;/&#8221;colore barra di evidenziazione&#8221; quando la voce del menu non è selezionata, mentre &#8220;color_highlight&#8221; indica &#8220;colore testo&#8221;/&#8221;colore barra di evidenziazione&#8221; quando la voce di menù è selezionata. Nel caso proposto quindi il testo sarà di colore marrone con sfondo nero quando non è selezionato e l&#8217;inverso se invece selezionato.</p>
<p>Ora passiamo a modificare la risoluzione dello schermo.<br />
Per fare questo digitiamo:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo gedit /etc/grub.d/00_header</div></td></tr></tbody></table></div>
<p>e andiamo a cercare le seguente riga:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">if [ &quot;x${GRUB_GFXMODE}&quot; = &quot;x&quot; ] ; then GRUB_GFXMODE=800x600 ; fi</div></td></tr></tbody></table></div>
<p>Beh, c&#8217;è poco da dire.<br />
Possiamo scegliere tra le seguenti risoluzioni:<br />
640&#215;480, 800&#215;600, 1024&#215;768, 1280&#215;1024, 1600&#215;1200</p>
<p>Fatta la nostra scelta salviamo il file.<br />
A questo punto dobbiamo riportate tutte queste modifiche nel file grub.cfg. Per fare questo digitiamo sul terminale:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo update-grub2</div></td></tr></tbody></table></div>
<p>Riavviamo il sistema e tutto dovrebbe essere cambiato.</p>
<div id="artCorr">
            <h4>Articoli correlati</h4>
        <ol>
	    	    <li><a href="http://www.alessandrostella.it/software/2009/11/installare-lamp-linux-apache-mysql-php-in-ubuntu-9-10-per-principianti/" rel="bookmark">Installare LAMP (Linux, Apache, MySql, Php) in ubuntu 9.10 &#8211; Per principianti</a><!-- (6)--></li>
	    	    <li><a href="http://www.alessandrostella.it/guide-e-manuali/2010/01/ubuntu-srt-sottotitoli-avi/" rel="bookmark">Ubuntu e i file srt (file di testo contenenti i sottotitoli)</a><!-- (5.7)--></li>
	    	    <li><a href="http://www.alessandrostella.it/software/2009/12/eclipse-il-gdk-e-ubuntu-9-10/" rel="bookmark">Eclipse, il GDK e ubuntu 9.10</a><!-- (4.3)--></li>
	            </ol>
    </div>]]></content:encoded>
			<wfw:commentRss>http://www.alessandrostella.it/software/2009/11/grub-2-facciamolo-piu-bello/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

