[Risolto] Aggiungere windows al menù grub2

Salve a tutti, da poco ho installato windows (8.1) e fedora sullo stesso ssd ma Windows non è presente tra le scelte del grub.

Le partizioni sono gestite così:

[code]fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sda: 250.1 GB, 250059350016 bytes, 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt

Start End Size Type Name

1 2048 514047 250M EFI System
2 514048 229275647 109,1G Microsoft basic
3 229275648 229537791 128M Microsoft reser Microsoft reserved partition
4 229537792 230561791 500M Microsoft basic
5 230561792 488396799 123G Microsoft basic
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes, 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt

Start End Size Type Name

1 2048 16590847 7,9G Linux filesyste
2 16590848 39323647 10,9G Linux filesyste
3 39323648 613181439 273,7G Linux filesyste
4 613181440 623626239 5G Linux filesyste
5 623626240 2930276351 1,1T Microsoft basic
[/code]

Windows è all’interno della partizione NTFS e la prima partizione EFI è del /boot/efi di Fedora.

Ho tentato così ma non trova il bootloader Windows:

grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.9.5-301.fc19.x86_64 Found initrd image: /boot/initramfs-3.9.5-301.fc19.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-5d94e72721064fbab9fe1a3a92f6b04c Found initrd image: /boot/initramfs-0-rescue-5d94e72721064fbab9fe1a3a92f6b04c.img done

Come aggiungere windows al grub?

Grazie.

Dovresti essere intanto in grado di selezionarlo a prescindere da grub (avviandolo dal menù UEFI).
Vediamo anche

$ tree /boot/efi

[code]tree /boot/efi
/boot/efi
└── EFI
└── fedora
├── fonts
│ └── unicode.pf2
├── gcdx64.efi
├── grub.cfg
├── grubx64.efi
├── MokManager.efi
├── shim.efi
└── shim-fedora.efi

3 directories, 7 files
[/code]

Può essere che si sia corrotto windows che prima dell’installazione di fedora funzionava?

Non vedo una separata partione EFI per l’altro OS, né lo vedo comparire nella cartella EFI montata sotto Fedora…
Vediamo per sicurezza

[code]# efibootmgr -v

parted /dev/sda p

parted /dev/sdb p

$ cat /etc/fstab

blkid[/code]

efibootmgr -v BootCurrent: 0000 Timeout: 2 seconds BootOrder: 0000,0003,0002 Boot0000* Fedora HD(1,800,7d000,9081c7f2-53e1-45c7-9499-52aef024391f)File(\EFI\fedora\shim.efi) Boot0002* Hard Drive BIOS(2,0,00)AMGOAMNO........o.S.a.m.s.u.n.g. .S.S.D. .8.4.0. .E.V.O. .2.5.0.G.B....................A...........................>..Gd-.;.A..MQ..L.1.S.B.D.S.N.D.A.9.9.4.2.9.3. .B. . . . ......AMBOAMNO........o.S.T.3.1.5.0.0.3.4.1.A.S....................A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .V.9.4.S.S.W.Y.R......AMBO Boot0003* CD/DVD Drive BIOS(3,0,00)AMGOAMNO........o.A.T.A.P.I. . . .D.V.D. .W. . .D.H.1.6.W.1.S....................A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . . . . . . . . . ......AMBO

[code]parted /dev/sda p
Modello: ATA Samsung SSD 840 (scsi)
Disco /dev/sda: 250GB
Dimensione del settore (logica/fisica): 512B/512B
Tabella delle partizioni: gpt
Flag del disco:

Numero Inizio Fine Dimensione File system Nome Flag
1 1049kB 263MB 262MB fat16 avvio
2 263MB 117GB 117GB ntfs
3 117GB 118GB 134MB Microsoft reserved partition msftres
4 118GB 118GB 524MB ext4
5 118GB 250GB 132GB ext4
[/code]

[code]parted /dev/sdb p
Modello: ATA ST31500341AS (scsi)
Disco /dev/sdb: 1500GB
Dimensione del settore (logica/fisica): 512B/512B
Tabella delle partizioni: gpt
Flag del disco:

Numero Inizio Fine Dimensione File system Nome Flag
1 1049kB 8495MB 8493MB linux-swap(v1)
2 8495MB 20,1GB 11,6GB ext4
3 20,1GB 314GB 294GB ext4
4 314GB 319GB 5348MB ext4
5 319GB 1500GB 1181GB ntfs
[/code]

[code]cat /etc/fstab

/etc/fstab

Created by anaconda on Tue Nov 5 18:26:41 2013

Accessible filesystems, by reference, are maintained under ‘/dev/disk’

See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

UUID=b32c572d-e8fc-4ca5-bfed-662f74e32d27 / ext4 defaults 1 1
UUID=4c3c6942-043e-4bda-abc8-4fe383c19cf5 /boot ext4 defaults 1 2
UUID=860A-BE6D /boot/efi vfat umask=0077,shortname=winnt 0 0
UUID=8d44036a-9a97-4941-a220-e3fc0b054ae2 /home ext4 defaults 1 2
UUID=2db2bc39-389e-48d2-a9e8-9208e4014134 /tmp ext4 defaults 1 2
UUID=4da895f6-e43a-4964-80a5-0935ef7866d9 /var ext4 defaults 1 2
UUID=03093b3c-34ac-4c33-8966-4d4626859b3a swap swap defaults 0 0
[/code]

blkid /dev/sda1: SEC_TYPE="msdos" UUID="860A-BE6D" TYPE="vfat" PARTUUID="9081c7f2-53e1-45c7-9499-52aef024391f" /dev/sda2: LABEL="Windows" UUID="5D0C06ED10CE9C2D" TYPE="ntfs" PARTUUID="33d8245f-c982-4cc1-afc6-2d0ed64b961d" /dev/sda4: UUID="4c3c6942-043e-4bda-abc8-4fe383c19cf5" TYPE="ext4" PARTUUID="a95ad79e-0578-4450-a98d-ee7fd261af42" /dev/sda5: UUID="b32c572d-e8fc-4ca5-bfed-662f74e32d27" TYPE="ext4" PARTUUID="53810e46-0aef-4f80-8121-ca5de58ef402" /dev/sdb1: LABEL="swap" UUID="03093b3c-34ac-4c33-8966-4d4626859b3a" TYPE="swap" PARTUUID="0c8fd124-bedf-494a-89f9-d0cd4ce511a2" /dev/sdb2: LABEL="/var" UUID="4da895f6-e43a-4964-80a5-0935ef7866d9" TYPE="ext4" PARTUUID="4cad5571-d8d9-48bd-84ce-237e6dd95e7d" /dev/sdb3: LABEL="/home" UUID="8d44036a-9a97-4941-a220-e3fc0b054ae2" TYPE="ext4" PARTUUID="5c906348-9e2d-46e6-832f-2ce384caf609" /dev/sdb4: LABEL="/tmp" UUID="2db2bc39-389e-48d2-a9e8-9208e4014134" TYPE="ext4" PARTUUID="d46d3635-e485-45de-827d-e4ba3bb9efc0" /dev/sdb5: LABEL="Archivio" UUID="51C08FD4153E68E1" TYPE="ntfs" PARTUUID="61f9914a-3057-4b85-bcee-49c4e240f9e5" /dev/sda3: PARTLABEL="Microsoft reserved partition" PARTUUID="58369ff1-bea9-421a-b9a5-5b4d7640de12"

Pare che l’altro OS non abbia nessuna entry nel menù UEFI né un ESP… lo avviavi in modalità UEFI? Aveva una partizione EFI? Sicuro che ripartizionando tu non abbia sovrascritto/formattato l’ESP esistente? Hai scelto un partizionamento manuale durante l’installazione di Fedora?

Windows è stato installato in modalità UEFI dentro la partizione NTFS che li avevo creato, ho partizionato a mano ma non ho sovrascritto nessun file boot di windows

Per vedere se è stato un problema di installazione posso tentare di reinstallare windows all’interno della partizione ntfs senza che si corrompi fedora?

Per avviare in modalità UEFI (qualunque OS) è necessario un ESP (in FAT). Se non c’è, non può essere avviato in modalità UEFI.

Non so quanto l’altro installer sia “rispettoso” nei confronti di OS già installati. Non mi fiderei troppo; se riesci a impedire che le partizioni di Fedora siano toccate, eventuali problemi minori dovrebbero essere risolvibili con un DVD/live CD. Non posso spingermi oltre in prognosi, non avendo l’OS che vai a reinstallare su nessuna macchina.

La partizione ESP (in FAT16) è presente nel mio disco e li è installato il /boot/efi di fedora.

Sì… ma in quella partizione è installata solo Fedora. Dovrebbe essere presente
[list=]
]una differente partizione EFI (in FAT) per l’altro OS/]
[/list] o[list=
]
]una sottocartella che menzioni l’altro OS nella partizione EFI già presente; a quel punto tale partizione EFI potrebbe avvantaggiare entrambi gli OS/]
[/list]
edit: questo, se vuoi che l’altro OS sia avviabile in modalità UEFI.

[quote=tempus]Sì… ma in quella partizione è installata solo Fedora. Dovrebbe essere presente
[list=]
]una differente partizione EFI (in FAT) per l’altro OS/]
[/list]
o[list=
]
]una sottocartella che menzioni l’altro OS nella partizione EFI già presente; a quel punto potrebbe essere montata da entrambi gli OS/]
[/list][/quote]

SI ma Windows crea la sua partizione di boot solamente se non è presente anche una partizione EFI con flag boot nel disco preparata per ospitare il bios (situazione in cui mi trovavo io) e ho dovuto installare l’OS all’interno di una partizione NTFS.
Windows ha creato solamente questa partizione da 128 MB:

/dev/sda3: PARTLABEL="Microsoft reserved partition" PARTUUID="58369ff1-bea9-421a-b9a5-5b4d7640de12"

Sulla quale GParted mi segnala un errore e non riconosce il file system in cui è formattata

Il flag boot è innecessario per Fedora, se la rimozione di detto flag stimola la creazione di altro EFI potresti rimuoverlo.
Se l’altro OS procede a sovrascrivere l’ESP di Fedora, si può eventualmente recuperare. Sarebbe più facile credo installare prima Windows e poi Fedora, eventualmente con un partizionamento manuale volto a condividere l’ESP creato a questo punto dall’altro OS.
edit: prima di procedere a reinstallare prova a spostare il flag d’avvio sulla partizione windows e/o a disabilitare UEFI dal BIOS.

[quote=tempus]Il flag boot è innecessario per Fedora, se la rimozione di detto flag stimola la creazione di altro EFI potresti rimuoverlo.
Se l’altro OS procede a sovrascrivere l’ESP di Fedora, si può eventualmente recuperare. Sarebbe più facile credo installare prima Windows e poi Fedora, eventualmente con un partizionamento manuale volto a condividere l’ESP creato a questo punto dall’altro OS.
edit: prima di procedere a reinstallare prova a spostare il flag d’avvio sulla partizione windows e/o a disabilitare UEFI dal BIOS.[/quote]

Potrebbe essere che togliendo il flag boot permetta a windows di creare il suo EFI boot ma per provare dovrei rimuovere l’attuale partizione e quindi reinstallare windows e poi fedora. Spero però di non incombere nel problema da me sollecitato in http://forum.fedoraonline.it/viewtopic.php?id=21911 perché nel momento in cui windows crea la sua partizione boot non riesco più ad installare fedora per i motivi che ho elencato in quella discussione.

Se volessi reinstallare tutto, mi consigli di lasciare la partizione per il boot/efi all’inizio dell’hard-disk?

Per rimuovere il flag non è necessario rimovere la partizione, basta modificare i flag anche e.g. con gparted (selezioni una partizione, clic destro, “Gestione flag”).

Abbastanza ininfluente. Al limite considererei una partizione con flag bios_grub (codice EF02 in gdisk) in testa al disco, ma solo se vuoi riservarti una opzione non-UEFI.

[quote=tempus]Per rimuovere il flag non è necessario rimovere la partizione, basta modificare i flag anche e.g. con gparted (selezioni una partizione, clic destro, “Gestione flag”).
[/quote]

Si è quello che ho fatto ma per sapere se funziona l’installazione di windows devo prima liberare dello spazio sul disco e quindi formattare la partizione ntfs nella quale è attualmente installato.

Proverò a reinstallare completamente i 2 sistemi operativi partizionando in questo modo (sperando che windows questa volta crei la sua partizione bios):

dev/sda0:

1 partizione NTFS per windows

Per quanto riguarda fedora:

/bios (500 MB)
/bios/efi (250 mb)
/ (tutto quello che rimane)

dev/sda1

Le altre partizioni di fedora come /tmp, /var, ecc…

Questo partizionamento è corretto?

Grazie dell’aiuto

Suggerivo di provare a spostare il flag, prima di procedere a tanto.

Andrà a creare la partizione dedita a fare da ESP in FAT verosimilmente prima della partizione NTFS; durante l’installazione di Fedora potrai scegliere il partizionamento manuale, quindi potrai selezionare la partizione in FAT creata precedentemente dall’altro OS come punto di mount /boot/efi, selezionando però di non formattare tale punto di mount.

Ho provato a spostarlo ma la situazione rimane invariata.

Ok, allora non mi resta che provare e farvi sapere poi i risultati.

EDIT: Alle installazioni precedenti (ho dovuto fare varie prove) windows non creava una partizione efi per il bios ma di un altro file system, se si ripresenta questo caso è possibile comunque impostarlo come punto di montaggio /boot/efi?

Creava pur sempre una partizione in FAT (che sia FAT16 o FAT32 poco importa), è sempre possibile impostarlo come punto di mount /boot/efi.

Ci sono riuscito!

Ho prima formattato il disco, poi reinstallato windows e poi installato fedora con punto di montaggio /boot/efi la partizione boot creata da windows e ora funziona tutto correttamente in entrami i SO.

Ringrazio quindi @tempus che ha dedicato del suo tempo per aiutarmi in modo direi efficace dato che ora mi funziona tutto correttamente, quindi ancora GRAZIE.