Questo blog non rappresenta una testata giornalistica in quanto viene aggiornato quando posso senza nessuna periodicità predefinita (non può pertanto essere considerato un prodotto editoriale ai sensi della Legge n°62 del 7 marzo 2001).

Installare Linux mantenendo il Boot Loader di Windows

Autor IronX.net

Se avete installato nel vostro disco Windows, e volete installare una distribuzione di Linux, mantenendo però il boot loader NTLDR (NT Loader), questa è la strada giusta!

Facciamo partire l’installazione della nostra distribuzione preferita; arrivati alla fase di partizionamento supponiamo di avere questa configurazione:

/dev/sda1          ntfs          windows xp
/dev/sda2          ext3          /
/dev/sda3          ext3          /home
/dev/sda4          swap

Procediamo con l’installazione e quando arriviamo alla configurazione del Boot Loader, non lo facciamo caricare nel MBR, ma nella partizione root /dev/sda2. Riavvio…

Come per magia in boot loader di NTLDR ignorerà quanto appena fatto e caricherà Windows normalmente… niente panico!

Ora scarichiamo dd for windows e scompattiamo la cartella sul nostro desktop e apriamo il Prompt dei Comandi di Windows e diamo i seguenti:

cd Desktop\dd-0.5
dd –list

in questo modo vengono elencate tutte le partizioni a nostra disposizione, individuiamo la partizione che in linux viene identificata con sda2: generalmente \\?\Device\Harddisk0\Partition2
Quindi diamo il comando:

dd bs=512 count=1 if=\\?\Device\Harddisk0\Partition2 of=C:\boot.lnx

In questo modo avremo scritto nel file C:\boot.lnx i primi 512 byte della partizione dove abbiamo installato il boot loader.

Ora chiudiamo il Prompt dei Comandi di Windows, e tasto destro su Risorse del Computer, poi Proprietà, Avanzate, Impostazioni di Avvio e ripristino. Clicchiamo su Modifica per modificare l’elenco dei sistemi operativi che NTLDR deve caricare, in fondo alla sezione “operating systems”, aggiungiamo una nuova riga, e scriviamo

C:\boot.lnx=”Descrizione della nostra distribuzione linux”

Chiudiamo il file boot.ini salvando le modifiche, riavviamo il PC, e come per magia ci verrà proposto il menù dove scegliere se caricare Windows o Linux.

Reader's Comments

  1. VaneX79 |

    perché dovrei volere il boot loader di win e nn il grub?!!?!?!

    cmq..buono a sapersi…

  2. nick |

    Ho seguito le istruzioni alla lettera, ma quando dal menu del boot di ntldr scelgo il mio linux mi esce il seguente messaggio di errore: “\system32\hall.dll mancante o danneggiato”
    Eppure ho controllato in system32 e quel file invece è presente e funzionante

  3. IronX.net |

    @VaneX79: Ad esempio perchè se decidi di togliere linux windows è talmente onesto che non ti permette di reinstallare il suo bootloader… e considerando che se togli linux togli anche i file di config di Grub, questo potrebbe creare qualche problemuccio.

    @nick: Se invece carichi windows funziona tutto bene? Sei sicuro di aver esportato con dd la partizione linux corretta?

  4. nick |

    Sì Iron, sono sicuro perchè ho confrontato anche le dimensioni… poi da Partition Magic risulta che nella prima partizione ho ntfs con XP, nella seconda ho l’area di swap e nella terza ext3 con linux: per cui dal software dd sono andato a prendere la partizione n.3
    Per quanto riguarda XP l’ntldr lo carica correttamente e funziona tutto bene…

  5. IronX.net |

    Non è che durante l’installazione hai fatto mettere il bootloader in sda2 come nella guida? che per te dovrebbe essere la partizione di swap…

  6. nick |

    No l’ho fatto installare in ext3 della partizione 3, con punto di mount / generico di root.

  7. IronX.net |

    la partizioni le hai fatte tutte primarie o hai fatto un’estesa?
    puoi postare il risultato di “dd --list“?
    che distro hai installato?
    sto cercando di replicare la situazione…

  8. nick |

    Dovrebbero essere tutte e tre primarie, stando a quanto leggo da Partition Magic, ma non le ho fatte con P.M., quella di linux l’ho fatta creare automaticamente durante l’installazaione di linux stesso (ubuntu 8.04). Ecco il risultato di “dd –list”:

    NT Block Device Objects
    \\?\Device\CdRom0
    size is 2147483647 bytes
    \\?\Device\CdRom1
    size is 2147483647 bytes
    \\?\Device\Floppy0
    \\?\Device\Harddisk0\Partition0
    link to \\?\Device\Harddisk0\DR0
    Fixed hard disk media. Block size = 512
    size is 250059350016 bytes
    \\?\Device\Harddisk0\Partition1
    link to \\?\Device\HarddiskVolume1
    \\?\Device\Harddisk0\Partition2
    link to \\?\Device\HarddiskVolume2
    Fixed hard disk media. Block size = 512
    size is 1003484160 bytes
    \\?\Device\Harddisk0\Partition3
    link to \\?\Device\HarddiskVolume3
    Fixed hard disk media. Block size = 512
    size is 104345902080 bytes
    \\?\Device\Harddisk1\Partition0
    link to \\?\Device\Harddisk1\DR1
    Fixed hard disk media. Block size = 512
    size is 163928604672 bytes
    \\?\Device\Harddisk1\Partition1
    link to \\?\Device\HarddiskVolume4
    Fixed hard disk media. Block size = 512
    size is 18720705024 bytes
    \\?\Device\Harddisk1\Partition2
    link to \\?\Device\HarddiskVolume5
    Fixed hard disk media. Block size = 512
    size is 145200835584 bytes

    Virtual input devices
    /dev/zero (null data)
    /dev/random (pseudo-random data)
    – (standard input)

    Virtual output devices
    – (standard output)

    Ed ecco il comando che ho dato seguendo le istruzioni:

    “dd if=\\?\Device\Harddisk0\Partition3 of=G:\ubuntu_loader.bin count=1 bs=512”

  9. IronX.net |

    Ho visto che hai messo il loader in G:, è l’altro disco? Prova a metterlo in C: (dove suppongo tu abbia installato windows), e assicurati che il percorso in boot.ini sia corretto.

  10. nick |

    No C è il disco dove è presente solo windows, quindi il percorso è corretto, ti faccio un miglior quadro della situazione:

    primo disco: [C](windows); [D](dati)
    secondo disco: [G](windows); [nessuna lettera](linux)

  11. nick |

    Ah dimenticavo, il percorso è corretto in quanto da bios parte prima il secondo disco, quindi G, ecco perchè necessariamente devo intervenire sul boot.ini di G….

  12. IronX.net |

    Dall’esito del dd --list sul primo disco hai tre partizioni di cui quella centrale è da un giga (swap?), ma se linux l’hai installato nella seconda partizione del secondo disco quando dai il comando dd devi mettere
    dd if=\\?\Device\Harddisk1\Partition2 of=G:\ubuntu_loader.bin count=1 bs=512

  13. nick |

    No Iron, l’ho installato nella terza partizione del primo disco, dopo quella da 1 giga di swap. Prima ho sbagliato a postare scrivendo come primo disco C e D, in realtà quelle sono le partizioni del secondo disco, per cui dovrebbe essere corretto il percorso, non capisco dove sbaglio….

  14. nick |

    Ti rifaccio il quadro generale, più chiaro di così non posso:

    -disco1 (250GB): part.1[G](XP); part.2[swap]; part.3[Linux]
    -disco2 (160GB): part.1[C](XP); part.2[D](dati)

    Da questo quadro si evince che quando avvio il sistema facendo partire il primo disco mi trovo su G, dove peraltro ho installato dd, per cui non credo che debba mettere un’altra lettera… che dici? Spero che sia stato chiaro con quest’ultimo quadro.

CommentComment