Ho finalmente terminato il mio aggiornamento a Xubuntu 11.10, con i soliti piccoli problemi, nulla di troppo preoccupante.
Ma ora, quando faccio boot non vedo più la voce “Windows” nel menu di avvio, creato con grub2, ho anche installato os-prober che dovrebbe aiutare a trovare voci aggiuntive per il menù di grub2 scansionando i dischi rigidi, ma anche questo non ha risolto il problema.
In alternativa si potrebbe avere la vostra voce Windows, ma quando si seleziona si ottiene un errore del tipo:
- you need to load kernel first
- chainloader: no such command.
- no such partition
Quindi questa è una piccola guida per ripristinare la voce di Windows nel vostro sistema con Grub2.
Grub2 howto super breve
Questa parte viene dal tutorial completo su grub2 del sito Dedoimedo , mentre ero alla ricerca di un aiuto ho letto la sua guida completa su grub2 e vi consiglio di prendervi il tempo di leggerlo per averne una panoramica completa.
GRUB 2 ha 3 parti principali:
- /etc/default/grub – Il file contenente le opzioni del menu di GRUB 2.
- /etc/grub.d/ – la directory contenente gli script per creare il menu di GRUB 2.
- /boot/grub/grub.cfg – il file di configurazione di GRUB 2, non editabile.
Il comando update-grub legge la directory /etc/grub.d e cerca gli script eseguibili contenuti all’interno di essa. Gli script sono letti, nel loro ordine numerico, e scritti nel file grub.cfg, insieme alle configurazioni del menu lette dal file /etc/default/grub.
Le voci con cui fare boot provengono da diverse fonti – le voci di default vengono dalla distribuzione, altri sistemi operativi, presenti sui dischi e scoperti con osprober, e script personalizzati dall’utente, tutti seguono una rigida sintassi. Gli script sono scritti in shell (sh)
Passo 1, conoscere il vostro hard disk
La prima cosa che dovete sapere è la mappatura esatta del vostro hard-disk, per questo useremo il comando fdisk , vecchio ma sempre buono, con l’opzione -l, questo è il disco fisso della mia macchina Xubuntu
linuxaria@xubuntu-home:~$ sudo fdisk -l [sudo] password for linuxaria: Disk /dev/sda: 40.0 GB, 40007761920 bytes 255 heads, 63 sectors/track, 4864 cylinders, total 78140160 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 identifier: 0xcccdcccd Device Boot Start End Blocks Id System /dev/sda1 * 63 36817199 18408568+ 7 HPFS/NTFS/exFAT /dev/sda2 36817200 42698879 2940840 c W95 FAT32 (LBA) /dev/sda3 42700798 78139391 17719297 5 Extended /dev/sda5 42700800 43698175 498688 82 Linux swap / Solaris /dev/sda6 43700224 59322367 7811072 83 Linux /dev/sda7 59324416 78139391 9407488 83 Linux |
Quindi, per farla breve :
/dev/sda1 = Windows
/dev/sda2 = partizione extra formattata con fat32
/dev/sda5 = Linux swap
/dev/sda6 = Xubuntu partizione /
/dev/sda7 = Xubuntu partizione /home
La mia partizione windows è /dev/sda1 che in Grub2 è mappata come (hd0.1), notare che questo è diverso da grub (non 2) in cui la prima partizione del primo disco era (hd0, 0).
Passo 2 creare uno script personalizzato per Grub 2
Create il file /etc/grub.d/15_Windows, e metteteci le seguenti linee di codice:
#! /bin/sh -e echo "Adding Windows" >&2 cat < < EOF menuentry "Windows" { set root=(hd0,1) chainloader +1 } EOF |
E ora fate questo script eseguibile con il comando:
chmod +x /etc/grub.d/15_Windows |
Passo 3 aggiornare la configurazione di grub 2
Ora, dobbiamo dire a grub 2 a ricreare il suo file di configurazione, per farlo eseguire, come root, il comando update-grub2
root@xubuntu-home:/etc/grub.d# update-grub Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.0.0-12-generic Found initrd image: /boot/initrd.img-3.0.0-12-generic Adding Windows Found memtest86+ image: /boot/memtest86+.bin done |
Adesso il vostro script personalizzato è incluso nel file /boot/grub/grub.cfg
Dovete solo riavviare il sistema e godervi (?) la vostra partizione Windows.
Popular Posts:
- Nightingale un bellissimo riproduttore audio per Linux
- (English) Linux shell: Dfc – Check your disk space with style
- Livarp – Una distribuzione Linux molto leggera
- Come convertire facilmente i Video di Youtube ad MP3 su GNU/Linux
- 5 Visualizzatori di fumetti per Linux
Find me on Google+

nice; I’ve been adding it manually every update …
why not just run update-grub?
Done it, it doesn’t see my windows partition, otherwise it would be much easier
root@xubuntu-home:/etc/grub.d# ls00_header 05_debian_theme 10_linux 15_windows 20_linux_xen 20_memtest86+ 30_os-prober 40_custom 41_custom README
r
oot@xubuntu-home:/etc/grub.d# mv 15_windows /tmp/
root@xubuntu-home:/etc/grub.d# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.0.0-12-generic
Found initrd image: /boot/initrd.img-3.0.0-12-generic
Found memtest86+ image: /boot/memtest86+.bin
done
No windows entry with a simple update-grub.
There is something wrong in my Xubuntu 11.10 ?
It’s a fresh install with all the defaults.. so it took less time to add the windows entry manually than finding than problem.
Quicker way:
Boot the Live disc
Mount the Ubuntu partition: sudo mount /dev/sdaX /mnt
Run grub-install: sudo grub-install –root -directory=/mnt/ /dev/sda
Reboot, then run sudo update-grub
This gives you a newly installed grub2, which recognizes Windows
Thanks for the feedback Emery,
i tried that but it didn’t work, check my answer to the other comment.
Best Regards
I have always this f*#§ing error…
Generating grub.cfg …
Found linux image: /boot/vmlinuz-3.0.0-12-generic
Found initrd image: /boot/initrd.img-3.0.0-12-generic
Found memtest86+ image: /boot/memtest86+.bin
errore: syntax error.
errore: Incorrect command.
errore: syntax error.
error: line no: 98
Syntax errors are detected in generated GRUB config file.
Ensure that there are no errors in /etc/default/grub
and /etc/grub.d/* files or please file a bug report with
/boot/grub/grub.cfg.new file attached.
What is, by the way?
Hello,
Have you add something on grub.cfg on the directoy /etc/grub.d/ ?
It seem to be a syntax error somewhere.