PDA

Visualizza la versione completa : problem scelta s.o. al boot


lollo_92
27-01-2011, 14:15
ho un problema con il boot del mio pc
ho 3 hard disk
uno sata con sopra soltando dati
un'altro ide con istallato xp
un'altro sata con 2 partizioni : w7 e ubuntu

ho installato tutto nel corretto ordine ( xp, poi 7, poi ubuntu )
fino a che c'era soltanto xp con 7, il boot funzionava corretamente ( mi faceva sceglire quale s.o. avviare )
pochi minuti fa ho installato ubuntu, e ora non funziona più il boot di xp ( se ci premo sopra il pc si riavvia in automatico )

come posso risolvere ?

lollo_92
27-01-2011, 19:31
ora ho scoperto una cosa un po strana:

se prima del boot premo esc, posso scegliere da quale dispositivo fare il boot;
se scelgo l'hard disk dove ho windows xp, parte il boot loader di w7, e da qui posso scegliere quale windows far prtire, e tutto funziona correttamente

se invece scelgo l'hard disk dove ho ubuntu e w7, parte il grub, e se scelgo di avviare il boot loader di windows, mi fa scegliere tra xp e w7, ma se premo xp il pc si riavvia


perchè se scelgo xp direttamente da boot loader di 7, il tutto funziona, ma se scelgo xp passando prima dal grub di linux non funziona più ??

francofait
27-01-2011, 19:59
per avere tutti i SO indipendenti , sia windows 7 che XP li devi installare su unità diverse , mantenendo attiva nel bios la sola unità dove esegui l' installazione , in tal modo sia l' uno che l' altro installano il solo proprio bootloader sul MBR della propria unità , poiche essendo tutte le altre disattivate non vengono rilevate.
Sul mio desktopo hardisch ne ho tre , uno da 80 per xp , uno da 500 per winbu7tee , e uno da 350 per linux , con attualmente 2 distribuzioni installate. (ubuntu Maveric e Debian Squeezy Il tutto tranquillamente gestito da grub di ubuntu collocato sull' unità linux .
Aggiornare grub ogni volta che testo altre distro , è un giochetto da mezzo minuto , il tempo per riavviare da ubuntu e dare un bel update-grub ed è fatta. Inoltre nell' evetualità che ubuntu faccia il co..ne e mi lasci a piedi con il bootloader se ho bisogno immediato di wincozza , mi basta mettere una qualunque delle 2 unità windows come prima unità di boot per ripartire senza problemi

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}

function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
insmod vbe
insmod vga
}

insmod part_msdos
insmod ext2
set root='(hd2,msdos1)'
search --no-floppy --fs-uuid --set 3471a938-2e68-443c-99a4-7618c9417bef
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd2,msdos1)'
search --no-floppy --fs-uuid --set 3471a938-2e68-443c-99a4-7618c9417bef
set locale_dir=($root)/boot/grub/locale
set lang=it
insmod gettext
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.35-25-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd2,msdos1)'
search --no-floppy --fs-uuid --set 3471a938-2e68-443c-99a4-7618c9417bef
linux /boot/vmlinuz-2.6.35-25-generic root=UUID=3471a938-2e68-443c-99a4-7618c9417bef ro quiet splash
initrd /boot/initrd.img-2.6.35-25-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-25-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd2,msdos1)'
search --no-floppy --fs-uuid --set 3471a938-2e68-443c-99a4-7618c9417bef
echo 'Loading Linux 2.6.35-25-generic ...'
linux /boot/vmlinuz-2.6.35-25-generic root=UUID=3471a938-2e68-443c-99a4-7618c9417bef ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.35-25-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd2,msdos1)'
search --no-floppy --fs-uuid --set 3471a938-2e68-443c-99a4-7618c9417bef
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=3471a938-2e68-443c-99a4-7618c9417bef ro quiet splash
initrd /boot/initrd.img-2.6.35-22-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd2,msdos1)'
search --no-floppy --fs-uuid --set 3471a938-2e68-443c-99a4-7618c9417bef
echo 'Loading Linux 2.6.35-22-generic ...'
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=3471a938-2e68-443c-99a4-7618c9417bef ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.35-22-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd2,msdos1)'
search --no-floppy --fs-uuid --set 3471a938-2e68-443c-99a4-7618c9417bef
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd2,msdos1)'
search --no-floppy --fs-uuid --set 3471a938-2e68-443c-99a4-7618c9417bef
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows NT/2000/XP (on /dev/sda1)" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 1e0ce7300ce7021f
drivemap -s (hd0) ${root}
chainloader +1
}
menuentry "Windows 7 (loader) (on /dev/sdb1)" {
insmod part_msdos
insmod ntfs
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set 98ceef08ceeedd8e
chainloader +1
}
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-amd64 (on /dev/sdc2)" {
insmod part_msdos
insmod ext2
set root='(hd2,msdos2)'
search --no-floppy --fs-uuid --set 90204dbb-ed6a-4ee7-8c8a-bea7da5ce6f0
linux /boot/vmlinuz-2.6.32-5-amd64 root=UUID=90204dbb-ed6a-4ee7-8c8a-bea7da5ce6f0 ro quiet
initrd /boot/initrd.img-2.6.32-5-amd64
}
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-amd64 (recovery mode) (on /dev/sdc2)" {
insmod part_msdos
insmod ext2
set root='(hd2,msdos2)'
search --no-floppy --fs-uuid --set 90204dbb-ed6a-4ee7-8c8a-bea7da5ce6f0
linux /boot/vmlinuz-2.6.32-5-amd64 root=UUID=90204dbb-ed6a-4ee7-8c8a-bea7da5ce6f0 ro single
initrd /boot/initrd.img-2.6.32-5-amd64
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

lollo_92
28-01-2011, 07:20
ok, credo di aver capito
in pratica dovevo installare tutti i sistemi operativi lasciando staccati gli altri 2 hard disk dove c'erano gli altri s.o.


ma dato che questo non lo posso più fare, c'è soluzione al mio problema ?

lollo_92
28-01-2011, 07:21
per sicurezza riscrivo quale è il mio problema :

se scelgo l'hard disk dove ho windows xp, parte il boot loader di w7, e da qui posso scegliere quale windows far prtire, e tutto funziona correttamente
se invece scelgo l'hard disk dove ho ubuntu e w7, parte il grub, e se scelgo di avviare il boot loader di windows, mi fa scegliere tra xp e w7, ma se premo xp il pc si riavvia

lollo_92
28-01-2011, 08:31
per risolvere mi sarebbe venuta in mente una mezza idea:
se prima del boot premo esc, mi viene vivualizata la schemata del boot menu, cioè questa:
http://img26.imageshack.us/img26/7193/28012011034.th.jpg (http://img26.imageshack.us/i/28012011034.jpg/)

ci sarebbe un modo per far comparire automaticamente questa schermata ad ogni avvio senza dover premere esc ?
e poi, se invece di visualizzare ch0 con il nome dell'hard disk, ci fosse un modo per visualizzare un commento ( in questo caso ci scriverei "windows xp") sarebbe perfetto

c'è un modo per far questo ?

psykopear
28-01-2011, 13:22
Originariamente inviato da lollo_92
per risolvere mi sarebbe venuta in mente una mezza idea:
se prima del boot premo esc, mi viene vivualizata la schemata del boot menu, cioè questa:
http://img26.imageshack.us/img26/7193/28012011034.th.jpg (http://img26.imageshack.us/i/28012011034.jpg/)

ci sarebbe un modo per far comparire automaticamente questa schermata ad ogni avvio senza dover premere esc ?
e poi, se invece di visualizzare ch0 con il nome dell'hard disk, ci fosse un modo per visualizzare un commento ( in questo caso ci scriverei "windows xp") sarebbe perfetto

c'è un modo per far questo ?

Allora spè, penso si possa risolvere anche da grub, intanto posta l'output di

sudo fdisk -l

(meno elle, non meno i maiuscola), e il contenuto dei file di configurazione di grub2 (ora non ricordo esattamente quale sia quello "utile", sono troppo abituato a grub 1, comunque quello dove ci sono i settaggi delle partizioni da avviare)

lollo_92
28-01-2011, 13:54
ecco il risultato di sudo fdisk -l :

Disco /dev/sda: 320.1 GB, 320072933376 byte
255 testine, 63 settori/tracce, 38913 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x06679fb9

Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 1 38913 312568641 7 HPFS/NTFS

Disco /dev/sdb: 500.1 GB, 500107862016 byte
255 testine, 63 settori/tracce, 60801 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x3cfb3cfa

Dispositivo Boot Start End Blocks Id System
/dev/sdb1 1 25497 204800000 7 HPFS/NTFS
/dev/sdb2 25497 60802 283584513 5 Esteso
/dev/sdb5 25497 59673 274516992 83 Linux
/dev/sdb6 59673 60802 9066496 82 Linux swap / Solaris

Disco /dev/sdc: 80.0 GB, 80026361856 byte
255 testine, 63 settori/tracce, 9729 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0xa2dfa2df

Dispositivo Boot Start End Blocks Id System
/dev/sdc1 * 1 9728 78140128+ 7 HPFS/NTFS
lollo@lollo-desktop:~$


però non ho capito cosa intendi per "il contenuto dei file di configurazione di grub2"

francofait
28-01-2011, 15:00
non puoi risolvere da grub
l' avvio di XP è gestito direttamente dal bootloader di windows 7 , non viene utilizzato boot.ini , windows 7 e Svista come bootloader usano BCD che deriva da grub4dos , incorpora le direttive di boot per i 2 SO direttamente nel suo file di configurazione.

Non c' è alcun bisogno di staccare fisicamente le unità per disattivarle , si disattivano e si riattivano da bios , dal menu delle opzioni di boot nelle attuali versioni del bios , direttamente dalla pagina di congurazione delle unità sulle versioni bios più datate .

Loading