Я наконец-то установил Ubuntu на свой второй диск. Когда я запускаю свой компьютер, GRUB предлагает мне загружать только Ubuntu, а не Windows 7. Что нужно сделать, чтобы я мог выбирать между Ubuntu и Windows в GRUB?
Когда я нажимаю F12 для загрузки меню при запуске и выбираю Windows Boot Manager
, он загружается в Windows 7.
Я выполнил команду sudo fdisk -l
, а вот журнал ( http://pastebin.com/Cgv1igHc ):
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xc3ffc3ff
Device Boot Start End Blocks Id System
/dev/sda1 1 1953525167 976762583+ ee GPT
Partition 1 does not start on physical sector boundary.
Если у вас ранее был установлен RAID, который может вызывать проблемы. В моем случае я собрал свой рабочий стол в 2010 году и установил два 1.5 ТБ с полосатым RAID. User gracemercy54 упоминает здесь, что это осталось после метаданных прежней конфигурации RAID.
Когда я изначально пытался выполнить шаги Гермеса, я получил ошибку, указав "неправильное количество устройств в наборе RAID". Итак, если это случится, откройте терминал и запустите:
sudo dmraid -rE
sudo os-prober
sudo update-grub
Что исправило это для меня.
У меня была такая же проблема с Windows 10. Я установил 64-разрядную версию Linux Mint 18.1 Cinnamon на свой ноутбук для двойной загрузки с WIN10. После установки GRUB предлагал только загрузку Linux, но не Windows.
Я обнаружил, что видео решение для Windows 10 отсутствует в меню grub и ветка форума Grub не распознает Win10 после обновления / восстановления , но, к сожалению, у меня ничего не вышло, поэтому я использовал комбинацию этих двух для решения моей проблемы.
Откройте свой терминал, следуйте этим командам и откройте файл с именем 40_custom:
sudo gedit /etc/grub.d/40_custom
Добавьте эти строки в конец файл, а затем сохраните его и выйдите:
menuentry "Windows 10" {
set root='{hd0,1}'
chainloader + 1
}
После сохранения файла обновите GRUB с помощью этой команды:
sudo update-grub
Затем перезагрузите компьютер, чтобы проверить, работает ли он.
Надеюсь, это сработает и для других!
У меня была запущена Windows 10, а затем я попробовал двойную загрузку. После установки Ubuntu Win 10 не отображался в моем загрузчике GRUB. Я пробовал следующее -
Прежде всего, я отключил безопасную загрузку в Win10. Затем запустил ниже команды в Ubuntu:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
Работают довольно хорошо. После этого смог найти и Windows, и Ubuntu в GRUB.
Если вышеприведенный метод os-prober
не работает, попробуйте добавить пользовательский пункт в меню grub. Документировано здесь.
Первые два шага - это поиск вашего
.
lsblk
и найдите имя строки с помощью /boot/efi
Вывод примера (здесь ответ sda2):
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 477G 0 disk
├─sda1 8:1 0 450M 0 part
├─sda2 8:2 0 100M 0 part /boot/efi
├─sda3 8:3 0 16M 0 part
├─sda4 8:4 0 47G 0 part /windows
├─sda5 8:5 0 425,6G 0 part /
└─sda6 8:6 0 3,7G 0 part [SWAP]
mmcblk0 179:0 0 14,9G 0 disk
└─mmcblk0p1 179:1 0 14,9G 0 part
sudo blkid /dev/sdaX
, где sdaX
- ответ с предыдущего шага (sda2
в моем случае). Вывод примера (здесь ответ 58E4-427D):
/dev/sda2: UUID="58E4-427D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b81727be-ba90-5f8c-ab98-d3ec67778b7d"
/etc/grub.d/40_custom
:menuentry "Windows 7" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set <UUID>
chainloader +1
}
sudo update-grub
и перезагрузитесь. Я решил аналогичную проблему, выполнив шаги Восстановление загрузки
Установить восстановление загрузки
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
Нажмите «Рекомендуемое восстановление» И введите в терминал несколько команд, как он предлагал.
Я думаю, что мой Grub не распознает окна из-за плохого завершения работы, и это решило проблему.
Загрузите Ubuntu и смонтируйте раздел Windows (просто откройте диск в Nautilus)
Выполните следующее в командной строке ( Ctrl + Alt + t ):
sudo os-prober
Если ваша установка Windows была найдена, вы можете запустить:
sudo update-grub
Обратите внимание, что шаг 2 предназначен только для вашего удобства. Вы можете просто смонтировать раздел Windows 7 и затем запустить update-grub
.
У меня была такая же проблема, и я потратил 2 дня на ее выяснение. Но сегодня утром у меня возникла эта внезапная идея, и она сработала.
Вам следует проверить настройки BIOS / uefi. В моем случае мне пришлось сначала разрешить загрузку Uefi. В противном случае я не смог бы обнаружить окна из ubuntu. Мне нужно было установить ubuntu> Windows Boot Manager> DISK1> DISK2> DISK3. Установлен DISK1> ubuntu> Windows Boot Manager> DISK3.
У меня было 2 установки ubuntu, одна на hdd и одна на ssd. Очевидно, установка ssd не отображалась как UEFI по какой-то причине, но я хотел сначала загрузить более быстрый диск.
Я не ожидал, что порядок загрузки может повлиять на grub при обнаружении систем. Так что стоит рассмотреть это.
Метод немного отличается от того, что я скопировал из рабочего пример на другом компьютере, отправка для моих собственных записей.
Добавьте следующее в /etc/grub.d/40_custom [117683 0]:
menuentry "Windows 10" {
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set <boot_efi_uuid>
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
где
- это UUID вашего раздела / boot / efi
. Чтобы найти это:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 119.2G 0 disk
└─md126 9:126 0 357.7G 0 raid0
├─md126p1 259:0 0 499M 0 md
├─md126p2 259:1 0 100M 0 md /boot/efi
$ sudo blkid | grep md126p2 # Replace with your device
/dev/md126p2: UUID=<boot_efi_uuid>
Затем, конечно, после сохранения файла выполните:
sudo update-grub
Reboot, теперь вы сможете успешно запустить Windows.
У меня были проблемы, как и здесь, и решением было добавление ручной записи, как показано ниже:
menuentry "WINDOWS10 (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 688EB92384B85968
drivemap -s (hd0) ${root}
chainloader +1
}
где UUID выше (688E....) был взят с загрузочного диска через blkid /dev/sdb1
.
ВНИМАНИЕ: дополнительная строка
set root='(/dev/sda,msdos1)'
относится к sda
, что видно под Ubuntu как /dev/sdb
даже на самом деле это первый диск в sata bus, в то время как /dev/sda
на самом деле второй диск, смонтированный как корневой /
.
Может быть поэтому скрипты grub не могли корректно работать. Я не успел изменить физический порядок дисков, но вполне возможно, что это поможет решить проблему.
У меня была такая же проблема после того, как я установил обновления из ubuntu. Следующие команды у меня отлично сработали:
sudo apt-get install os-prober
Сначала установите os-prober для обнаружения окон, а затем обновите grub:
sudo grub-mkconfig -o /boot/grub/grub.cfg
В дополнение к ответу Бартоша Дабровски, который привел меня к решению моей проблемы:
Убедитесь, что если ваш Linux использует загрузку UEFI / GPT, то другая ваша ОС (например, Windows в мой случай) также использует загрузку UEFI / GPT. При переходе от старой установки Win7 к Win10 на жестком диске все еще была старая школа загрузки и MBR. Каким-то образом у os-prober и boot-repair возникли проблемы, чтобы исправить это.
Убедитесь, что в BIOS / Boot order есть ваш жесткий диск с ubuntu (например, uefi: ubuntu) и ваш жесткий диск с Windows Boot Manager (например, uefi: Windows Boot Manager)
Если WBM отсутствует, убедитесь, что загрузочный диск Windows имеет GPT. Вы можете проверить это в Windows, используя Управление дисками (Win + X, затем Управление дисками).
Существует инструмент Windows: mbr2gpt, который может преобразовать ваш MBR в GPT. После этого (и загрузки через UEFI) os-prober и, наконец, update-grub смогли найти мою установку Windows и добавить ее в параметры загрузки grub.