Page 1 of 1

Mandriva Linux con MS Windows su un secondo HardDisk

PostPosted: 18 February 2011, 13:12
by NicCo
Con le vecchie versioni di Mandriva che usavano Lilo, non incontravo nessun problema ad indirizzare un secondo Hard-Disk dove fosse stato precedentemente installato Windows, e poterlo poi selezionare comodamente dal menu di Mandriva, e avviarlo correttamente.

Dalla prima Mandriva con Grub, mi sono subito reso conto che sia se viene preparato e scritto il boot automaticamente all'installazione di mandriva sia che lo si aggiunga anche dopo dal Mandriva Control Center (MCC), il link a Windows che viene aggiunto sul menù non funziona affatto!

Nessun problema si riscontra se utilizzassimo per Windows una partizione iniziale primaria sullo stesso harddisk dove c'è anche Linux, così:
Hard Disk 0 ---> Windows + Linux
Hard Disk 1 ---> Dati / Archivi

Il problema si pone solo nel caso che:
Hard Disk 0 ---> Linux
Hard Disk 1 ---> Windows


Per iniziare, sul grub menù, il file /boot/grub/menu.lst, contiene tutti i comandi di boot

Analizzando la parte dei comandi, che dovrebbe avviare Windows, possiamo riscontrare questi
Code: Select all
title Windows
root (hd1,0)
chainloader +1

ma il link Windows che viene aggiunto al menù non funziona affatto, e viene restituito l'errore
(hd 0,1)
Filesystem type unknown, partition type 0x7
chainloader +1

Quindi o la cosa non può funzionare, o tali comandi scelti da mandriva sono errati!
Cosa fare allora?
Rinunciare al Grub e dover utilizzare un Boot manager differente come GAG o altri?

Certamente non è comodo entrare continuamente sul Bios per invertire l'ordine degli HD


Soluzione:
Da amministratore avviare il vostro editor di testo preferito e caricare il file
/boot/grub/menu.lst

Cercate la parte del testo che riguarda il Windows, e rimpiazzatela con la parte seguente
Code: Select all
title Windows
map (hd0) (hd1)
map (hd1) (hd0)
chainloader (hd1,0)+1

Salvate il files, fare un reboot, e adesso la voce Windows dal Grub menù sarà funzionante


Se dovreste incontrare ancora problemi, potete provare questa variazione, come sotto
Code: Select all
title Microsoft Windows
map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
makeactive
chainloader +1


In pratica abbiamo detto al comando map di far credere a windows di essere il primo hardisk (hd0)

Legenda:
La numerazione dei dischi e delle partizioni parte da zero, e così
hd0 = primo hard disk
hd1 = secondo hard disk
hd2 = terzo hard disk
hd3 = quarto hard disk
hd1,0 = secondo hard disk , prima partizione


Si possono rimpiazzare le definizioni degli HD con quelle visualizzabili con il comando
Code: Select all
fdisk -l


Il boot loader di windows, deve ritenere di essere sempre il primo disco nel sistema, quindi occorre dire al grub di rimappare i due dischi nella parte della entry riguardante windows:
la modifica è un cambio che avviene solo in memoria nel modo in cui il bootloader vede concatenati i dischi.

Può essere necessario nel caso di un numero maggiori di dischi, per esempio nel caso di un windows in hd2, una configurazione ancora diversa, ma dove è sempre l'hd di windows (hd2) ad essere rimappato come fosse quello principale (hd0)
esempio

Code: Select all
# on /dev/sdc1
title      Windows Vista Ultimate (loader)
root       (hd2,0)
savedefault
map    (hd0) (hd2)
map    (hd2) (hd0)
chainloader +1


Ciao,
NicCo

Re: Mandriva Linux con MS Windows su un secondo HardDisk

PostPosted: 2 September 2011, 23:10
by fabio75
Ciao!
Io ho queto problema dopo aver formattati i miei 2 Hd, ma non riesco a risolverlo :cry:

fabio@localhost ~]$ df
File system Dim. Usati Dispon. Uso% Montato su
/dev/sda5 222G 6,8G 204G 4% /
/dev/sdb2 174G 19G 155G 11% /.c
/dev/sdb1 61G 7,8G 53G 13% /media/Volume
[fabio@localhost ~]$


[root@localhost ~]# fdisk -l

Disk /dev/sdb: 251.0 GB, 251000193024 bytes
240 testine, 63 settori/tracce, 32422 cilindri, totale 490234752 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x00000001

Dispositivo Boot Start End Blocks Id System
/dev/sdb1 2048 125954047 62976000 7 HPFS/NTFS/exFAT
/dev/sdb2 * 125954048 490211327 182128640 7 HPFS/NTFS/exFAT

Disk /dev/sda: 250.1 GB, 250059350016 bytes
60 testine, 12 settori/tracce, 678329 cilindri, totale 488397168 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x6846f7c8

Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 12 16588799 8294394 82 Linux swap / Solaris
/dev/sda2 16588800 488396879 235904040 5 Esteso
/dev/sda5 16588812 488396879 235904034 83 Linux
[root@localhost ~]#



timeout 5
color black/cyan yellow/cyan
gfxmenu (hd0,4)/boot/gfxmenu
default 0

title linux
kernel (hd0,4)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=bbc2c045-b182-4cd9-becb-8b3595f32364 nokmsboot logo.nologo quiet resume=UUID=a97d1be1-57b7-4b71-b43b-a995c2bef46b splash=silent vga=788
initrd (hd0,4)/boot/initrd.img

title linux-nonfb
kernel (hd0,4)/boot/vmlinuz BOOT_IMAGE=linux-nonfb root=UUID=bbc2c045-b182-4cd9-becb-8b3595f32364 nokmsboot resume=UUID=a97d1be1-57b7-4b71-b43b-a995c2bef46b
initrd (hd0,4)/boot/initrd.img

title failsafe
kernel (hd0,4)/boot/vmlinuz BOOT_IMAGE=failsafe root=UUID=bbc2c045-b182-4cd9-becb-8b3595f32364 nokmsboot failsafe
initrd (hd0,4)/boot/initrd.img

title windows
root (hd1,1)
map (0x81) (0x80)
map (0x80) (0x81)
makeactive
chainloader +1



Potreste per favore aiutarmi?
Ci sto sbattendo sopra da due giorni :ugeek: