На этот вопрос уже есть ответ здесь:
У меня была двойная загрузка с моей предыдущей установкой Ubuntu, которая позволяла мне использовать либо Windows XP, либо Ubuntu. Это работало успешно.
Я обновился до Ubuntu 14.4. Новое меню Gnu Grub не показывает мою установку Windows XP в меню запуска. Поэтому я не могу получить доступ к Windows.
результаты sudo fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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: 0xa89aa89a
Device Boot Start End Blocks Id System
/dev/sda1 * 63 976751999 488375968+ 7 HPFS/NTFS/exFAT
Disk /dev/sdb: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 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: 0x00062131
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 195311615 97654784 83 Linux
/dev/sdb2 195311616 625137344 214912864+ 7 HPFS/NTFS/exFAT
Сначала я работал бы sudo os-prober
и посмотрите, находит ли это установку Windows. Если это не установлено выполненное sudo apt-get install os-prober
затем выполните его и если это находит Windows запущенным sudo update-grub
и это должно создать пункт меню.
Если бы это не работает затем, я работал бы sudo fdisk -l
(-l для Списка), и ищите свой жесткий диск. Это будет выглядеть примерно так:
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 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
Disklabel type: dos
Disk identifier: 0x000702fc
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 33554431 33552384 16G 83 Linux
/dev/sda2 33556478 41940991 8384514 4G 5 Extended
/dev/sda5 33556480 41940991 8384512 4G 82 Linux swap / Solaris
/dev/sda6 41940991 50950020 8250580 16G 0b FAT32
Снова это - только пример, Ваш будет выглядеть по-другому и может быть маркирован по-другому. У меня на самом деле нет раздела Windows XP в системе, таким образом, я 'фальсифицировал' ее на этом примере.
Для этого я предположил бы, что мой Windows XP установлен на /dev/sda6
Это будет важно для следующего шага.
Теперь мы должны создать пользовательский элемент меню для GRUB
Откройте терминал и тип:
sudo gedit /etc/grub.d/40_custom
можно заменить gedit с любимым редактором, но он должен быть выполнен как sudo, чтобы смочь отредактировать файл.
добавьте следующее к самому концу 40_custom файл (если файл является полностью пробелом затем, Вы ввели в чем-то не так, или у Вас нет grub2, и эти инструкции не будут работать на Вас... проверяют дважды, чтобы видеть, есть ли у Вас/etc/grub.d папка),
menuentry "Windows XP" {
set root=(hd0,6)
chainloader (hd0,6)+1
}
Объяснение этой записи... необходимо будет измениться hd0,6
в записях для соответствия разделу Windows. hd0 относится к sda, если бы у Вас есть больше чем один жесткий диск, и Ваш раздел окон находится на sdb затем, необходимо было бы использовать hd1 вместо этого, но для Вас, я предполагаю, что Вы находитесь на sda, который Вы определили fdisk, управляют, чтобы Вы работали ранее. 6 в моем примере то, потому что мы решили, что установка Windows шла /dev/sda6 - sda(hd0)6
После того как Вы изменили 40_custom файл, он должен выглядеть примерно так
#!/bin/sh
exec tail -n +3 $0
# 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.
#echo 'Adding 40_custom menu entries' >&2
menuentry "Windows XP" {
set root=(hd0,6)
chainloader (hd0,6)+1
}
сохраните файл и работайте sudo update-grub
это должно добавить, что пункт меню для Windows XP... пытается перезагрузка и проверка, чтобы удостовериться, что это загружается в Windows If, Вы сделали все правильно, что Вы должны быть все установлены.
От новой информации, дающей 40_custom, файл должен быть похожим на это:
#!/bin/sh
exec tail -n +3 $0
# 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.
#echo 'Adding 40_custom menu entries' >&2
menuentry "Windows XP" {
set root=(hd0,1)
chainloader (hd0,1)+1
}
Из-за проблем с "Недопустимой Подписью" мы должны сделать еще некоторую работу
Необходимо открыть терминал и войти sudo blkid
ищите UUID
для /dev/sda1
и скопируйте его. затем необходимо будет отредактировать 40_custom со следующим:
#!/bin/sh
exec tail -n +3 $0
# 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.
#echo 'Adding 40_custom menu entries' >&2
menuentry "Windows XP" {
insmod ntfs
set root=(hd0,msdos1)
search --no-floppy --fs-uuid --set 822CB74E2CB73BCB
chainloader +1
}
(отредактированный с информацией, данной в комментариях)
сохраните файл и sudo update-grub
снова и попытка еще раз.. надо надеяться, теперь Вы привычка получаете Недопустимую Подпись