Lo puoi fare con grub! Non ricordo se nella configurazione di default di voyage grub sia configurato per far partire immediatamente voyage senza chiedere nulla, ma grub è un boot loader che ti permette di scegliere da un menù quale sistema avviare. È molto più versatile del boot loader di windows e può avviare non solo Linux ma (direttamente o tramite chain-loader) anche windows e praticamente qualsiasi altro OS che sia installato sulla macchina. È possibile configurarlo sia per attendere indefinitamente una scelta da parte dell'utente che per avviare automaticamente uno dei sistemi configurati (quello che si vuole) dopo un timeout a piacere.
http://it.wikipedia.org/wiki/GRUB
Fare il contrario (cioè caricare di default il boot-loader di windows e poi utilizzare questo per avviare grub e da questo Linux) IMHO non conviene assolutamente. Se quello che ti disturba è il doppio passaggio (menù di grub prima e del boot loader di windows poi), questo può facilmente essere evitato. Basta inserire tutte le entries per le varie versioni di windows direttamente nel menù di grub ed eliminare il menù nel boot loader di windows.
BTW:
andreaea ha scritto:
Il problema è che io vorrei (per varie ragioni che non sto a elencare) che il boot fosse fatto in ambiente Windows e non in ambiente Linux.
Un boot loader è un programma di basso livello che interagisce direttamente con l'hardware, non è in nessun "ambiente".
Se proprio vuoi usare quella schifezza del boot loader di windows, come giustamente hai fatto devi installare grub nel
boot sector della partizione di voyage (/dev/sda3) anziché nel
MBR del disco (/dev/sda) e poi "imbrogliare" il boot loader di windows per fargli caricare grub (in effetti gli fai caricare una copia del boot sector che contiene la specifica installazione di grub). IIRC, la procedura che hai seguito è corretta, salvo un errore sostanziale:
andreaea ha scritto:ho creato un file boot.lnx (lunghezza 512 bytes), su una chavetta, e messo il file sulla partizione primaria Windows dove risiede anche il boot.ini
Codice: Seleziona tutto
dd if=/dev/sda1 of=/dev/sdf1/boot.lnx bs=512 count=1
questo!
in primo luogo, cosa diavolo è /dev/sdf1/ ?!
Nei sistemi Unix (e similari come Linux) qualsiasi cosa al mondo è rappresentata da un file. Il file system "/dev" non è una directory qualsiasi, ma il luogo deputato a contenere i device files e SOLO quelli (nei sistemi moderni di solito non è neanche un vero file system su un disco, ma un file system virtuale generato dal kernel).
I "device file" non sono null'altro che le "interfaccie" attraverso le quali i programmi comunicano con il kernel. Più precisamente, sono le interfaccie a quelli che nel mondo windows sono chiamati "device driver".
Non devi assolutamente confondere i device file, che in questo caso rappresentano un disco e le sue partizioni con il "mount point" su cui tali partizioni sono eventualmente montate.
("sd*" sta' per "scsi disk", in quanto l'accesso avviene attraverso il sottosistema SCSI anche se in realtà si tratta di dispositivi SATA, USB, firewire, ecc. Su voyage i dischi PATA appaiono invece come "hd*" in quanto il suo kernel utilizza il vecchio sottosistema dedicato. La lettera che segue -a,b,c,...,z- è solo un numero progressivo che serve a distinguere i vari dischi. Il numero -1,2,...,n- che eventualmente segue indica la partizione. Il device senza numero rappresenta l'intero disco, mentre quelli seguiti da un numero servono all'accesso diretto alle varie partizioni eventualmente presenti).
Nel caso di dischi e partizioni, il device file è una interfaccia a basso livello ai dati grezzi che ci sono scritti fisicamente. Scrivere su un device file significa by-passare completamente qualsiasi file system o altra sovrastruttura. Copiare qualcosa con "dd" (che non fa altro che copiare pedissequamente un certo numero di bytes da un file ad un altro) su un device file anziché nel suo mount point significa distruggere il file system, sovrascrivendo l'inizio della partizione (e quindi di solito anche le strutture del file system che eventualmente ci era stato creato) con i bytes che ci hai copiato. Cosa che ovviamente è ben diversa dal copiare un file nel file system!
Insomma occhio a quello che fai, perché con un comando sbagliato puoi distruggere tutto (ma proprio tutto) in un colpo solo. Senza che ti venga chiesta alcuna conferma.
Altra cosa fondamentale è che i file system dei sistemi Unix e Linux sono organizzati in modo rigido: non puoi (*) scrivere quello che ti pare dove capita, ma devi sempre seguire rigorosamente l'organizzazione prevista. Nel caso di Linux, questa è definita dal "
Filesystem Hierarchy Standard" (FHS), a sua volta parte della "
Linux Standard Base" (LSB).
http://it.wikipedia.org/wiki/Linux_Standard_Base
http://it.wikipedia.org/wiki/Filesystem ... y_Standard
(*) non è che non puoi nel senso che ti viene impedito: sei tu che devi stare attento a non farlo! I sistemi Unix assumono che gli utenti (ed in particolar modo l'amministratore di sistema) sappiano esattamente cosa stanno facendo. Su Linux nulla ti impedirà mai di fare ciò che vuoi, compreso darti la zappa sui piedi o distruggere il sistema in un colpo solo. Qualsiasi cosa tu gli dica di fare (se hai i permessi per farlo) lui la fa':
"
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things".
Tornando al punto, IIRC il file "boot.lnx" deve contenere una copia del
boot sector della partizione di voyage che contiene grub (ed ovviamente la copia deve essere fatta
dopo che grub è stato correttamente installato in quel boot sector).
Quindi, assumendo che il disco sistema visto dal live system sia "sdf", prima devi montare il file system /dev/sdf1 da qualche parte (ad es. sotto /mnt/windows oppure /media/disk o quello che ti pare) e poi dare il comando:
Codice: Seleziona tutto
dd if=/dev/sdf3 of=/mnt/windows/boot.lnx bs=512 count=1
che copia i primi 512 bytes della 3a partizione del disco sdf (cioè il
boot sector) nel file boot.lnx (nella root del file system montato su /mnt/windows/, qualunque esso sia).
Ma, ripeto, si tratta di una procedura macchinosa e poco affidabile. È infinitamente più comodo ed affidabile avere grub nel MBR ed avviare qualsiasi OS direttamente con quello, fidati.
Ciao, Paolo.
«Se tu hai una mela, e io ho una mela, e ce le scambiamo, tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»