GRUB не обнаруживает Windows
Я наконец-то установил 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.
13 ответов
Загрузите Ubuntu и смонтируйте раздел Windows (просто откройте диск на Nautilus)
Запустите следующее в командной строке (Ctrl+Alt+t):
sudo os-prober
Если ваша установка Windows была найдена, вы можете запустить:
sudo update-grub
Обратите внимание, что шаг 2 только для вашего удобства. Вы можете просто смонтировать раздел Windows 7, а затем запустить update-grub
,
Связанный вопрос
Если описанный выше метод os-prober не работает, попробуйте добавить пользовательский пункт меню grub.
задокументировано здесь редактировать /etc/grub.d/40_custom
файл
menuentry "Windows 7" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set a3f1ea41fc67a3f1
chainloader +1
}
вы можете получить UUID по blkid /dev/sdx
команда
У меня была запущена Windows 10, а затем попробовал двойную загрузку. После установки Ubuntu Win 10 не появлялась в моем загрузчике GRUB. Я попробовал следующее -
Прежде всего я отключил Secure Boot в 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.
Я решил похожую проблему, выполнив шаги Boot-Repair
Установить boot-repair
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
Нажмите "Рекомендуемый ремонт" и вставьте в терминал несколько команд, как это было предложено.
Я думаю, что мой Grub не распознает окна из-за плохого завершения работы, и это решило проблему.
Немного другой метод, поскольку я скопировал с рабочего примера на другой компьютер, разместив для своих собственных записей.
Добавить следующее к /etc/grub.d/40_custom
:
menuentry "Windows 10" {
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set <boot_efi_uuid>
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
где <boot_efi_uuid>
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
Перезагрузитесь, теперь вы сможете успешно запустить Windows.
У меня была та же проблема с Windows 10. Я установил Linux Mint 18.1 Cinnamon 64-bit на свой ноутбук для двойной загрузки с WIN10. После установки GRUB предлагается загружать только Linux, но не Windows. Я нашел это видео https://www.youtube.com/watch?v=0fCA7ToywoY и эту статью https://forums.linuxmint.com/viewtopic.php?f=46&t=209082, но, к сожалению, оба не работали для мне, поэтому я использую комбинацию этих двух, чтобы решить мою проблему.
Откройте свой терминал и следуйте этим командам и откройте файл с именем 40_custom:
sudo gedit /etc/grub.d/40_custom
Добавьте эти строки в файл, затем сохраните и выйдите.
menuentry "Windows 10" {
set root='{hd0,1}'
chainloader + 1
}
После сохранения файла обновите GRUB с помощью этой строки:
sudo update-grub
Затем перезагрузите компьютер, чтобы увидеть, работает ли он.
Надеюсь, это будет работать и для других.
Если у вас ранее был установлен RAID, это может вызывать проблемы. В моем случае я построил свой рабочий стол в 2010 году, и я установил два 1,5 ТБ с чередованием RAID. Пользователь gracemercy54 здесь упоминает, что это оставлено поверх метаданных из предыдущей конфигурации RAID.
Когда я впервые попробовал выполнить шаги Гермеса, я получил ошибку, указав "неправильное количество устройств в наборе RAID". Итак, если это произойдет, откройте терминал и запустите:
sudo dmraid -rE
sudo os-prober
sudo update-grub
Это исправило это для меня.
У меня были проблемы как здесь выше, и решение было просто добавить ручной ввод, как показано ниже:
пункт меню "WINDOWS10 (on /dev/sda1)" --class windows --class os { insmod part_msdos insmod ntfs установить root='(/dev/sda,msdos1)' поиск --no-floppy --fs-uuid -set=root 688EB92384B85968 drivemap -s (hd0) ${root} цепной загрузчик +1 }
где UUID выше (688E...) был взят с загрузочного диска Windows через blkid /dev/sdb1
ВНИМАНИЕ: дополнительно строка: set root='(/dev/sda,msdos1)' относится к sda, который виден в Ubuntu как / dev / sdb, даже на самом деле это первый диск в шине sata, а / dev / sda фактически второй диск смонтирован как root / Возможно, поэтому скрипты grub не могли работать должным образом. У меня не было времени изменить физический порядок дисков, но вполне возможно, что это также поможет решить проблему. С наилучшими пожеланиями Люк
Выполните следующие действия, если
os-prober
показывает Windows, а GRUB нет.
- Редактировать
grub-mkconfig
sudo nano /usr/bin/grub-mkconfig
- Найдите эти строки рядом с серединой
# Disable os-prober by default due to security reasons. GRUB_DISABLE_OS_PROBER="true"
- Изменять
true
кfalse
- Выйти из нано (CTRL+X, Y, Enter)
- Обновить GRUB
sudo update-grub
У меня была та же проблема, и я потратил 2 дня, чтобы понять ее. Но сегодня утром у меня появилась эта внезапная идея, и она сработала.
Вам следует проверить настройки BIOS / UEFI. В моем случае мне сначала нужно было запустить Uefi. В противном случае я не смог обнаружить окна из Ubuntu. Я должен был установить Ubuntu> Диспетчер загрузки Windows> DISK1> DISK2> DISK3. Insted DISK1> ubuntu> Диспетчер загрузки Windows> DISK3.
У меня было 2 установки Ubuntu, одна на HDD и одна на SSD. Судя по всему, установка ssd не была показана как UEFI для какой-то причины, но я хотел сначала загрузить более быстрый диск.
Я не ожидал, что порядок загрузки может повлиять на 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 (например, uefi: диспетчер загрузки Windows).
Если WBM отсутствует, убедитесь, что загрузочный диск Windows имеет GPT. Вы можете проверить это в Windows, используя Управление дисками (Win + X, затем Управление дисками).
Существует инструмент Windows: mbr2gpt, который может конвертировать ваш MBR в GPT. После этого (и загрузки через UEFI) os-prober и, наконец, update-grub смогли найти мою установку Windows и добавить ее в параметры загрузки grub.
Итак, у меня была та же проблема, и я долго не мог найти решение для себя, наконец, нашел его, так что вот моя маленькая песчинка в мире. Прежде чем пытаться, не забудьте каждый раз проверять, загружаетесь ли вы с использованием UEFI:
Судя по всему, в процессе установки Debian данные Windows внутри раздела EFI были потеряны, поэтому я сделал восстановление системы с помощью USB-накопителя Windows 10 (я пытался исправить загрузку, но почему-то это не сработало, я даже пробовал на консоль, в любом случае я не потерял данные). После этого теперь я не могу загрузить Debian, поэтому я запускаю Live CD Debian, монтирую все и делаю chroot следующим образом (и не забудьте загрузить USB как UEFI):
mount /dev/your_linux_partition /mnt
cd /mnt
mount -t proc /proc proc/
mount -t sysfs /sys sys/
mount --rbind /dev dev/
mount --rbind /sys/firmware/efi/efivars sys/firmware/efi/efivars/
mount /dev/your_efi_partition /boot/efi/
chroot /mnt /bin/bash
Теперь, здесь
os-prober
не обнаружил Windows 10, но я решил
grub-install /dev/sda
и в любом случае и перезапустить.
Вот что самое смешное, теперь я не мог загрузить Windows 10 и только Debian, НО!, я попытался еще раз
grub-update
и, наконец, нашел загрузчик Windows 10. Честно говоря, это не имеет никакого смысла, но мне все равно. Надеюсь, это поможет любому столь же отчаянному, как я: D.