Dual Boot su Acer Aspire One con SSD

Un amico mi ha chiesto, dopo numerosi tentativi e scarsa documentazione online, di configurare un'Acer Aspire One (AAO d'ora in poi) con Solid State Disk per il dual boot.

La macchina era la seguente, ora non più in produzione:

  • Acer Aspire One branded TIM, con chiavetta 3G incorporata della TIM
    ometto versione del BIOS e processore perché ininfluenti ai fini dell'howto.
  • 16GB SSD internal disk
  • 1GB RAM
  • Windows XP Home SP3
  • 2 DVD di ripristino del sistema + cd dei drivers ALICE per la pennetta 3G

Il SSD montato su questa macchina è lentissimo, probabilmente a causa di un triste collo di bottiglia del chipset che ha un pessimo controller o semplicemente memoria di scarsa qualità.

Il risultato è che windows XP, con tutte le fregnacce che carica tra antivirus, software branded e varie inutilità è praticamente inutilizzabile. Stiamo parlando di ritardi di 5 secondi nell'aprire explorer per navigare nelle cartelle.

;-) Consiglio dell'autore: rimuovete Windows XP e installateci Linpus o Linux4One. Le prestazioni migliorano in modo inimmaginabile.

La macchina viene venduta anche con l'infame Linpus, una distro strana che è un'accozzaglia delle altre distro e che per quanto ho visto è molto deludente, rende l'utente ancora più utonto di windows e il sistema ancora più intricato (stiamo parlando di IceWM con le finestre gestite da KDE e le applicazioni Gnome, con no so quale sistema di repositoring). Ve la sconsiglio.

Abbiamo invece installato il buon Linux4One, una distro basata su Ubuntu che gira bene anche sull'eeePC, che vanta un kernel ricompilato per queste macchine e l'hardware che supportano e una selezione di software più adatti ai netbook. Inoltre ci si può vantare del fatto che è stata progettata da un team di italiani :-D

Installare Linux4One è facile perché usa l'installer di ubuntu.

Perché questo howto?

La versione di Windows inclusa con la macchina contiene tutti i driver e la licenza OEM, ma il disco di ripristino è semplicemente un'immagine dell'intera chiavetta SSD, quindi il ripristino crea una partizione primaria di 16GB.

Sfortunatamente gparted nell'installer di Linux4One incasina la partizione di windows nel ridimensionarla, rendendo windows non più avviabile.

Come mai?

Andando a vedere bene le info sulla partizione nel master boot record, la partizione inizia da 1049KB. settore 2048 anziché dal blocco 0. Inoltre la SSD è firmata da windows, quindi una parte del settore di boot deve restare intatta.

Gparted nel ridimensionare la partizione la fa partire da 0k e sovrascrive l'MBR che cerca di avviare windows dal primo blocco del primo settore, che in realtà è vuoto.

Personalmente questo lo ritengo un grave bug di GParted, probabilmente legato alla semplificazione dell'interfaccia dell'installer.

In ogni caso la acer o la microsoft hanno fatto una bizzarra scelta a lasciare libero il settore 0, chissà perché l'hanno fatto… per non far installare altri sistemi operativi? LOL

Cosa serve

  • Ghost for linux, g4l, un tool per il cloning degli hard disk che contiene anche altre applicazioni utili. Scaricate la iso dal sito e masterizzatela.
    → Va bene anche una qualsiasi live che contenga parted o un programma per partizionare a basso livello che permetta di definire con precisione numerica inizio e fine della partizione.
  • un lettore CD/DVD usb esterno,
    oppure
    una penna usb e un computer col quale creare una penna usb di avvio per far funzionare g4l (potete usare unetbootin per creare la penna avviabile dalla iso )
  • Linux4One, scaricate la ISO da mettere su un DVD se avete un lettore CD esterno oppure anche qui usate unetbootin per creare una pennetta avviabile dalla iso.

Opzionale:

  • un hd esterno per fare qualche backup
  • dischi di ripristino di windows forniti con il netbook

Prima di iniziare

Vi consiglio prima di iniziare di fare il backup completo di dati importanti che avete in modo da evitare disastri. Il bios dell'AAO è pessimo, su internet ci sono casi di netbook che non si accendevano più dopo diverse volte che veniva modificata la sequenza di boot :-(

Sulla chiavetta da 16G si è deciso di lasciare circa 9GB a linux e 6.7GB a windows; l'installazione base di XP occupava 4.8GB; l'occupazione si può ridurre rimuovendo l'immancabile immondizia a corredo.

Prima di procedere è bene fare un defrag così i dati vengono spostati nella parte iniziale del disco;

Con un lettore CD USB esterno, io ho reinstallato windows da 0 con i dischi di ripristino non sapendo cosa l'utente avrebbe dovuto poi installare. Quindi la mia situazione iniziale è: windows che si avvia su una partizione di 16GB e il sistema che occupa 4.8GB.

Potrebbe esservi utile fare un'immagine del disco così com'è usando g4l oppure semplicemente fare una copia di backup dell'MBR1) prima di procedere ma la spiegazione di come fare esula dallo scopo di questo howto.

1. Ridimensionare la partizione di windows

  1. Connettere il lettore CD e accendere l'AAO.
    Potrebbe essere necessario un riavvio prima che il bios rilevi un eventuale disco connesso via usb.
    Per partire dal cd premere F12 all'avvio e scegliere il CD/DVD rom come dispositivo di avvio.
  2. Premere invio alla prima schermata che appare e continuare a premerlo finché non appare una finestra con scritto Run Program in basso; digitare g4l e premere invio, poi selezionare YES nel dialog che compare.
  3. nell'elenco di modi disponibili, selezionare UTILITIES
  4. nell'elenco di applicazioni disponibili, selezionare parted
    a questo punto parted verrà avviato, generalmente a partire dal dispositivo /dev/sda che è il Solid State Disk interno. 'help' per vedere i comandi; digitare print per vedere la tabella delle partizioni. Nel mio caso si presentava più o meno così:
    Number    Start    End      Size    Type    Filesystem    Flags
      1      1049Kb   16.1GB   16.1GB   primary   fat32      boot,active
  5. Annotare il numero scritto in start (in questo caso 1049Kb)
  6. :!: pericoloso :!: ridimensionare la partizione fat32 con i comandi di parted è immediato e irreversibile, l'esecuzione e l'applicazione del comando è immediata dopo aver premuto invio, quindi state moolto attenti!
    il comando da dare è il seguente:
    resize 1 1049KB 6.7GB

    e premere invio. in questo modo la partizione di windows diverterà da 6.7GB, pur iniziando sempre dal blocco al 1049Kb.

  7. digitare print per verificare che tutto sia come l'abbiamo impostato.
  8. digitare quit per uscire da parted
  9. ctrl+alt+canc per riavviare. Togliere il cd e sperare che windows si avvii ancora…

2. Installazione di Linux4One

Se windows parte, allora si può procedere con l'installazione. Altrimenti qualcosa è andato storto e bisogna ripristinare il master boot record o, nel peggiore dei casi, reinstallare tutto con i dischi di ripristino. Supponiamo che windows si avvii ancora, e proseguiamo.

  1. Inserire la iso di Linux4One nel lettore CD esterno, oppure inserire la penna usb con Linux4One (è possibile crearla usando unetbootin)
  2. Iniziare l'installazione esattamente come fareste per ubuntu. L'unico aspetto critico qui è la creazione delle partizioni: qualsiasi cosa succeda, non cercate di modificare la partizione di windows /dev/sda1, nemmeno per indicare un mount point. L'installer di linux4one potrebbe modificare irrimediabilmente la partizione di windows.
  3. Creare le partizioni per linux. Ognuno può farlo come vuole, io dò delle indicazioni di massima.
    1. Selezionare lo spazio libero e creare un partizione da 8.3GB, primaria, ext3, con mount pount /
    2. Selezionare il rimanente spazio libero e creare una partizione con tutto lo spazio restante, logica, come area di swap.
  4. Procedere con l'installazione. Per ulteriori informazioni su come installare potete consultare il forum di Linux4One. Grub verrà installato nel master boot record senza problemi (diversamente dalla versione dell'AAO con hard disk in cui invece può dare problemi, l'ho letto da qualche parte…) e verranno installati i files.
  5. a un certo punto il sistema vi chiederà di fare il reboot; linux4One installerà il kernel specifico per l'AAO e da quel momento in poi apparirà dentro la lista di grub il kernel custom per far funzionare la macchina al meglio.

3. Configurazione del Timeout di Grub

Linux4One non sa che windows esiste per qualche strano motivo. Dunque setta il timeout iniziale di grub a 0, ma l'installazione di grub inserisce comunque la entry nel file menu.lst. Dunque per poter usare i benefici del dual boot tramite grub bisogna modificare il tempo di timeout per decidere con quale sistema operativo iniziare.

  1. Riavviare l'AAO; quando linux4one sarà partito, cercare tra gli accessori il terminale e avviarlo
  2. digitare il seguente comando:
    sudo gedit /boot/grub/menu.lst

    se richiesta, immettere la password scelta durante l'installazione.

  3. cercare nel file la linea
    timeout     0

    e modificarla con

    timeout     6

    o con un altro numero al posto di 6 che indica quanti secondi grub aspetterà per caricare il sistema operativo predefinito (nel nostro caso, linux4one e vi assicuro che non vorrete cambiarlo :D)

  4. salvare il file col bottone salva di gedit, chiudere gedit e riavviare il sistema.

A questo punto avrete il tempo di scegliere quale sistema operativo avviare ogni volta che accendete il vostro AAO.

Autore

Florido Paganelli — bjaast | 2009/07/16 20:25

1) master boot record, contiene informazioni sulle partizioni del disco e sulla partizione che mantiene il sistema operativo principale della macchina. Maggiori info
 
documentazione/howto/dual_boot_su_acer_aspire_one_con_ssd.txt · Ultima modifica: 2010/04/13 01:16 (modifica esterna)
 
Ad eccezione da dove è diversamente indicato, il contenuto di questo wiki è sotto la seguente licenza:GNU Free Documentation License 1.3
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki