Nuovi portatili con Vista: suggerimenti per installare Linux

Forum dedicato agli studenti del corso linux e a tutti gli amanti del pinguino!

Moderatore: matteo

Nuovi portatili con Vista: suggerimenti per installare Linux

Messaggioda andrea » ven ott 12, 2007 9:14 pm

Ciao a tutti! Su proposta di Michele ho postato questa piccola miniguida tramite cui è possibile installare Linux agevolmente nei nuovi portatili con Windows Vista, senza avere problemi ne con Windows Vista, che cerca di gestire automaticamente tutte le partizioni, ne con le nuove garanzie di questi portatili che sono legate a windows. Infatti queste garanzie non consentono di avere assistenza sul portatile nel caso in cui è stata cambiata la configurazione software (ad esempio se si modifica il partizionamento dell'hard disk per inserire linux). Una soluzione sarebbe quella di cambiare comunque il partizionamento dell'hard disk, e, se poi si ha bisogno di assistenza, ripristinare la configurazione "di fabbrica" utilizzando i dischi di ripristino, che rimetteranno le partizioni come erano inizialmente e formatteranno tutto. Il problema è che così facendo si perde il linux ed è necessario fare il backup di tutti i file e poi rifare il partizionamento, reinstallarlo e rimetterci dentro tutti i dati e i programmi che c'erano prima, il che è abbastanza fastidioso.
La soluzione che ho trovato io è stata quella di utilizzare un hard disk esterno USB (da mediaworld vendono hard disk esterni da 320 giga a soli 80 euro! io infatti ho preso quello :) ) e di installare linux in quel disco. Durante l'installazione di linux, però, verrà chiesto di installare un boot loader sul primo settore dell'hard disk interno del portatile oppure opzionalmente sul primo settore del disco USB o infine su un floppy. Il problema è che:

- Se si installa il boot loader sul primo settore del disco interno si cambia la configurazione software e non si potrebbe ricevere assistenza

- Se lo si installa sul primo settore del disco esterno, non potrà essere caricato perché il BIOS all'avvio va a leggere solo quello interno (e cambiando il BIOS si potrebbe invalidare la garanzia)

- Nei nuovi portatili è impossibile installarlo su floppy perché i nuovi portatili non hanno più l'unità floppy

Dove installare allora il boot loader? L'idea che ho avuto io è stata quella di non installare il boot loader, per poi installarlo successivamente su un CD-ROM! Infatti, tramite un protocollo chiamato El Torito, è diventato possibile installare i boot loader su CD-ROM. Inoltre, i nuovi portatili consentono, senza modificare il BIOS, di effettuare l'avvio da CD-ROM (lo consentono allo scopo di poter utilizzare i dischi di ripristino :p)

In questo post spiegherò come creare un CD di avvio con il boot loader GRUB, che funziona con tutti i PC poiché ha un'interfaccia testuale che consente selezionare a mano il sistema operativo da avviare tramite alcuni semplici comandi. In particolare, questa versione generica di GRUB funziona su tutti i computer, e questo CD-ROM può anche essere usato come disco di avvio di emergenza in quei computer in cui è già installato un boot loader sul MBR dell'hard disk ma il MBR si è corrotto oppure è stato modificato da windows.


Per creare il CD di avvio masterizzate l'immagine grub.iso (presente in allegato in fondo a questo post) su un CD. Dopodiché Inserite il CD all'avvio del computer. Apparirà una semplice interfaccia testuale tramite cui potrete selezionare il sistema operativo da avviare. In particolare, il boot loader GRUB è predisposto per l'avvio di linux, cioè consente di impostare opzioni (anche avanzate) per l'avvio di linux. Il procedimento per avviare un sistema operativo varia tra i sistemi windows e i sistemi linux. Illustrerò il procedimento tramite un paio di esempi, in cui si suppone che Windows è installato nella seconda partizione del primo disco e Linux è installato nella prima partizione del secondo disco. Ovviamente, per quanto detto in precedenza, si suppone che il secondo disco (quello con linux) sia un disco esterno USB.

Per avviare Windows si eseguono i seguenti comandi:

root (hd0,1)
chainloader +1
boot

Per avviare Linux si eseguono i seguenti comandi:

root (hd1,0)
kernel /vmlinuz root=/dev/sdb1
initrd /initrd.img
boot

Ecco una breve spiegazione dei comandi:

root: serve a specificare su quale disco e su quale partizione posizionarsi. Con hd0 si intende il primo disco, con hd1 il secondo disco, hd2 il terzo e così via... (insomma i dischi sono numerati a partire da 0 :) ). Il secondo numero serve ad indicare la partizione, 0 per la prima, 1 per la seconda, 2 per la terza e così via.

chainloader: serve a caricare in memoria il settore dell'hard disk contenente le informazioni per l'avvio (per sistemi windows). In genere si tratta del primo settore, perciò si scrive chainloader +1 .

kernel: serve a indicare il file contenente il kernel sulla partizione selezionata (per sistemi linux). In genere il file si chiama vmlinuz e si trova nella directory radice della partizione selezionata, perciò in genere si scrive kernel /vmlinuz. Questo comando ammette anche dei parametri, che non sono parametri di GRUB, ma che saranno passati al kernel al momento dell'esecuzione. In particolare, il parametro root consente di specificare quale partizione montare sulla directory radice, cioè la partizione su cui è installato linux. In questo caso, il dispositivo è /dev/sdb1. In genere questa informazione è ottenibile alla fine dell'installazione di Linux, ma solo se si sceglie di non installare un boot loader. Ad esempio, quando si installa Linux Kubuntu, se l'utente chiede di non installare un boot loader, comparirà una schermata finale in cui ci sono le istruzioni per lanciarlo, e sarà indicato appunto il percorso del disco su cui è stata fatta l'installazione (in questo caso /dev/sdb1).

initrd: serve a indicare il file immagine contenente al suo interno i driver da caricare all'avvio di linux. Tra questi driver sono presenti anche i driver per l'USB, perciò nel nostro caso caricare questo file è fondamentale perché altrimenti non si potrebbe accedere all'hard disk esterno collegato all'USB. In genere il file immagine si chiama initrd.img e si trova sulla directory radice della partizione selezionata, perciò in genere si scrive initrd /initrd.img.

boot: una volta impostate le varie opzioni, tramite questo comando si avvia il sistema operativo selezionato.


Volendo è possibile personalizzare ed automatizzare GRUB per il proprio pc. Per farlo, bisogna aprire l'immagine ISO allegata (ad esempio con programmi come WinImage in windows oppure semplicemente montandola in linux), e aggiungere un file menu.lst nella cartella grub (che è una sottocartella della cartella boot). Questo file dovrà essere appositamente creato e dovranno essere inserite al suo interno le informazioni sui dischi e sulle partizioni (con una sintassi simile a quella usata quando si danno i comandi manualmente). Una volta aggiunto questo file, salvata l'immagine ISO, e masterizzata l'immagine su un CD, se inserite il CD all'avvio otterrete una semplice interfaccia che consente di selezionare il sistema operativo senza inserire comandi a mano. Questo non impedisce al GRUB di funzionare su altri pc, perché, quando è visualizzata l'interfaccia, premendo il tasto C è ancora possibile inserire i comandi manualmente.

Prossimamente (appena l'avrò imparato anch'io :) ) posterò una guida per generare in maniera corretta il file menu.lst

ciao!

Andrea

PS: Per gli utenti avanzati che vogliono generare l'immagine ISO da soli, ho messo in allegato anche la guida che ho trovato su internet che mi ha permesso di generare il file immagine grub.iso.
PPS: Consiglio di installare Kubuntu perché ho trovato maggiore compatibilità rispetto ad altre distribuzioni come Mandriva, e ringrazio Michele per avermelo suggerito. :)

Allegati:

Immagine ISO di GRUB da masterizzare su CD
Guida per creare manualmente l'immagine ISO
Ultima modifica di andrea il dom ott 14, 2007 5:23 pm, modificato 3 volte in totale.
andrea
 
Messaggi: 42
Iscritto il: mar ott 09, 2007 10:28 am

Messaggioda Michele » ven ott 12, 2007 9:33 pm

Ottimo how-to Andrè!
Penso che a molti servirà...a me di sicuro! :P
Spero che non sia l'ultimo how-to che ci scrivi! :shock:
grazie
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Messaggioda matteo » dom ott 14, 2007 10:29 pm

Come ce lo vedi il bootloader direttamente sul disco esterno? Ormai tutti i nuovi bios supportano il boot da periferiche usb (tranne il mio portatile . :( che però gode della presenza del floppy e può fare il boot da lì, anche se poi con usb1.1 un S.O. su pendrive non se lo sogna nemmeno).

Il bootloader è possibile metterlo anche su disco, né su mbr né sul 1° settore della partizione win.
Lo si mette in un file che verrà richiamato dal bootloader di windows (ntldr) modificando il boot.ini

Su HD è anche possibile installare linux mantenendo l'ntfs.

Slax si installa su qualsiasi filesystem anche read-only.

Con un poco di lavoro, poi, si può installare qualsiasi distribuzione dentro un file. In questo caso, utilizzando semplicemente il modulo ntfs rw del kernel (senza dover sfruttare ntfs-3g o altri) si crea un file di qualche gigata, lo si formatta del filesystem che più ci piace, poi lo montiamo in loopback come fosse una partizione qualunque e ci installiamo la nostra distribuzione preferita. Poi dovremo fare qualche modifica all'initrd, però, perchè il kernel di solito si aspetta di lavorare con una partizione e quindi gliela dovremo montare preventivamente.
In questo modo ci faremmo una directory C:\LINUX e al suo interno avremmo un boot.map (dubito che grub supporti l'ntfs, quindi ci conviene usare lilo, che comunque andrà caricato da ntldr) un vmlinz, un initrd e un bigrootfile.

A chi poi è costretto ad utilizzare windows per il proprio lavoro ma non vuole rinunciare a linux, suggerisco il progetto cygwin. E' un sistema GNU/Cygnus/Windows. In pratica è formato da tutto il software GNU che si usa per linux, ma sostituendo il kernel da una dll che fa da interfaccia con il kernel di windows.
C'è tutto, X e Kde inclusi. E' anche possibile compilare programmi dai sorgenti che usiamo tranquillamente per linux. E' una manna, ed è la prima cosa che installo dopo aver reinstallato windows.

Ciao,
Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda Michele » dom ott 14, 2007 10:37 pm

:shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:
matt che aspetti a spiegarci con qualche how-to le varie installazione menzionate? :roll:
chissà perchè era convinto che cygwin fosse a pagamento!
:roll:
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Messaggioda matteo » dom ott 14, 2007 11:41 pm

Michele ha scritto::shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:
matt che aspetti a spiegarci con qualche how-to le varie installazione menzionate? :roll:
chissà perchè era convinto che cygwin fosse a pagamento!
:roll:


ok.
Per l'installazione su ntfs è un po' complicato fare il tutorial perchè non ho le condizioni necessarie (per farlo un tutorial simile ho bisogno di installarlo, ed ora non posso... ma lo farò).
Per la slax ok. In questi giorni sto facendo pesanti customizzazioni, per cui tra l'una e l'altra posso magari scrivere qualcosa.

La licenza di cygwin non ho capito bene come sia. Tutto il software è gnu, ma cygwin in se è solo la dll di interfaccia, cosiccome in linux 'Linux' è solo il kernel, e opensolaris è kernel sun+ software gnu. Sul sito non sono riuscito a trovare i sorgenti della dll, e non credo sia opensource. gpl si, però. Cygwin è basata sul gcc di redhat (http://www.redhat.com/software/cygwin/).
Comunque importante, riporto uno frase tratta direttamente dal sito:
* Cygwin is not a way to run native linux apps on Windows. You have to rebuild your application from source if you want it to run on Windows.
Cioè non puoi prendere un precompilato per linux (formato ELF) e avviarlo con cygwin... bisogna compilarlo per cygwin (formato Win32 EXE)
Per l'installazione basta andare su http://www.cygwin.com cliccare su "install or update now"; verrà scaricato un setup.exe; questoè un installer alla windows. Vado a memoria (visto che non ce l'ho sotto mano... sto scrivendo con linux e wine non sembra voglia far partire l'installazione).
All'inizio chiederà se:
1) scaricare ed installare direttamente da internet (default)
2) scaricare in una directory (ma non installare)
3) installare da una directory precedentemente scaricata
Se si ha un pc consiglio la prima opt
Se tocca installarlo in tanti meglio la seconda; poi si porta la directory sui vari pc e si lancia l'opt 3
chiederà informazioni sul path di installazione e sul formato file di testo... lasciare il default.
darà un elenco di mirror da dove insallare; uno molto buono è *.garr.it
ora verrà fornito un lungo elenco, suddiviso in categorie, di tutto il software compilato per cygwin.......... auguri.
cliccate avanti per cominciare l'installazione.
COMPLIMENTI!!! ora avete sul vostro windows un sistema *nix completo.
Doppio click sull'iconina sul desktop ed ecco la vostra shell.

Le directory /etc, /usr, /bin, ecc si troveranno sotto C:\cygwin
Talvolta la /tmp è un link a C:\Temp
La home dell'utente talvolta è /home/utente, ma potrebbe anche essere C:\documents and settings\utente
è possibile accedere alle varie partizioni da /cygdrive
C: -> /cygdrive/c
D: -> /cygdrive/d
...


Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Re: Nuovi portatili con Vista: suggerimenti per installare L

Messaggioda matteo » mer ott 17, 2007 6:24 pm

andrea ha scritto:Dove installare allora il boot loader? L'idea che ho avuto io è stata quella di non installare il boot loader, per poi installarlo successivamente su un CD-ROM!

Perchè, su pendrive no?

Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda Michele » mer nov 07, 2007 12:51 pm

hanno tirato su un wiki su grub!!!
Ho ancora letto poco!
A me sembra interessante! :P
http://linux.p2pforum.it/wiki/GRUB
:wink:
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Messaggioda Michele » gio nov 08, 2007 10:40 pm

non poteva mancare i twiki per lilo! :P
http://www.linux.p2pforum.it/wiki/LILO
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Messaggioda andrea » sab apr 12, 2008 3:40 pm

Ti rispondo con un po' di ritardo Matteo :P

Ho preferito mettere linux su disco esterno e boot loader su CDROM perché sostanzialmente non volevo lasciare nessun segno della presenza di linux sul portatile, a causa di quel problema legato alla garanzia e all'assistenza che vengono negate se si cambia in un qualsiasi modo la configurazione software.
Le soluzioni che hai proposto tu sono senz'altro ottime, però comportano modifiche al BIOS (ad es. modificando il boot sequence per consentire l'avvio da disco esterno o da pennetta) o ai file di Windows (ad es. modificando il BOOT.INI) e non volevo correre rischi che poi quelli dell'assistenza rompevano :P
Infatti il boot da CDROM è già settato quando compri il portatile (altrimenti non potresti utilizzare i CD di ripristino di Winzozz :P) e mettendo il Linux su disco esterno non tocchi quello interno ed eviti grane...
Praticamente così facendo basta togliere il CD col grub e staccare l'Hard disk esterno e sul PC non rimane niente che abbia a che fare con linux! :wink:
Lo so che sicuramente sono io ad essere paranoico ma ho preferito così per sicurezza :P (e poi 320 giga di hard disk esterno mi hanno fatto molto comodo :) )
andrea
 
Messaggi: 42
Iscritto il: mar ott 09, 2007 10:28 am

Messaggioda matteo » lun apr 14, 2008 3:30 pm

andrea ha scritto:Infatti il boot da CDROM è già settato quando compri il portatile (altrimenti non potresti utilizzare i CD di ripristino di Winzozz

okkio, non è scontato.
se tu l'hai già fatto allora funziona, ma negli ultimi anni tutti i pc che ho trovato non hanno il cd come primo nel bootsequence. vmware stesso quando crei la vm ha in ordine:
floppy
harddisk
cdrom
e il motivo è semplice.
A sistema non installato l'harddisk viene ovviamente saltato e il controllo va al cdrom.
A posteriori non hai bisogno di avviare da cdrom, visto che il sistema è in piedi, e così se dentro il lettore dimentico un cd avviabile non rischio che questo parta.
Paradossalmente è più probabile che inserendo una pendrive questa se ne possa andare in testa nel bootorder, in quanto se non c'è nessun bootloader nella pendrive viene ignorato, se c'è un bootloader allora è stato messo volontariamente (per default nessuna pendrive ha un bootloader installato).
E comunque se metti linux su disco esterno tanto vale che grub o lilo lo metti sul disco stesso.

La scelta di mettere linux sul disco interno era dettata dal fatto che dopo aver speso una bella cifra per un portatile con un disco da 250G, perchè spendere altri soldi per un altro disco?
Il vantaggio di mettere su disco esterno invece è quello di portarselo a spasso e attaccarlo su un pc qualunque.

Hint: se scegli di fare il boot da cd, almeno scegli un minicd, così lo puoi mettere nella custodia del harddisk.

Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda andrea » mar apr 15, 2008 1:37 pm

matteo ha scritto:okkio, non è scontato.
se tu l'hai già fatto allora funziona, ma negli ultimi anni tutti i pc che ho trovato non hanno il cd come primo nel bootsequence.


Caspita non sapevo di queste cose, comunque a me il CD parte per default quindi ha funzionato tutto! :) Ma poi sei sicuro che il CD non è di default nell'avvio? Tieni conto che anche se il sistema è già installato non è detto che sia funzionante, e infatti anche su altri portatili alcune volte, poiché windows non ti permettere di modificare molte cose, mi è capitato che per ripararlo ho dovuto rifare l'installazione da CD e mi è sempre partito all'avvio.

E comunque se metti linux su disco esterno tanto vale che grub o lilo lo metti sul disco stesso.


Invece purtroppo il boot dall'hard disk esterno non mi si avviava, è proprio per questo che ho trovato questa soluzione di usare il CD.

La scelta di mettere linux sul disco interno era dettata dal fatto che dopo aver speso una bella cifra per un portatile con un disco da 250G, perchè spendere altri soldi per un altro disco?


Sì questo è vero, ma nel mio particolare caso ho unito l'utile al dilettevole, perché mi ritrovo 320 giga in più per mettere dati che poi posso consultare anche da altri pc, e inoltre non ho problemi con la garanzia, e questo mi permette di risparmiare molti soldi in caso abbia bisogno di assistenza ;)

Hint: se scegli di fare il boot da cd, almeno scegli un minicd, così lo puoi mettere nella custodia del harddisk.


E' quello che ho fatto ;)
andrea
 
Messaggi: 42
Iscritto il: mar ott 09, 2007 10:28 am

Messaggioda matteo » mar apr 15, 2008 2:02 pm

andrea ha scritto:Ma poi sei sicuro che il CD non è di default nell'avvio?

Sul portatile nuovo non ho provato e di quello vecchio non ricordo.

Per molti pc ho riscontrato la cosa (su un pc avevo la password al bios; ho dovuto aprire il pc e resettare il bios). Per certo le macchine che creo con vmware hanno floppy -> disco -> cdrom.

Tieni conto che anche se il sistema è già installato non è detto che sia funzionante

E perchè?
Se uno sbaglia l'installazione sono cavoli suoi, altrimenti non c'è motivo che un portatile _certificato_ vista o xp non partano... a detta dell'assistenza.
Se poi uno l'ho incasina sono fatti suoi.


Invece purtroppo il boot dall'hard disk esterno non mi si avviava

purtroppo non sempre la pendrive (o il disco) vengono rilevati nel boot order (almeno come primi), ma una prova ad andare a vedere cosa vede il bios nel bootorder a usb connesso la farei (senza modificare nulla)

è proprio per questo che ho trovato questa soluzione di usare il CD.

con la usb era semplicemente più elegante..., niente più

Voglio provare il mio portatile come si comporta.

Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am


Torna a Unix, Linux & reti

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron