Еще одна запись Windows 7 отсутствует в Grub2 & rdquo; Вопрос

Другим способом редактирования файла автозапуска является строка:

OnlyShowIn=GNOME;Unity;
1
задан 26 April 2012 в 05:47

2 ответа

Моя вторая попытка

Оглядываясь назад, я думаю, что мои предыдущие комментарии не имели никакой ценности, поэтому я удалил их.

Ваша основная проблема заключается в том, что update-grub не (автоматически) не находит и не включает вашу установку Windows в меню grub.cfg, которую она генерирует, правильно?

Предложение , Подумайте о том, чтобы изменить название вашего вопроса на что-то вроде строк Почему обновление-grub на ноутбуке UEFI Thinkpad не добавляет Windows в меню GRUB? Это может привлечь внимание того, кто, в отличие от меня, действительно знает, что происходит, когда update-grub зонды для операционных систем. :-)

Я перефразирую свое понимание вашего вопроса, чтобы вы могли исправить меня там, где я ошибаюсь.

Я думаю, что у вас есть Lenovo ThinkPad X220 (4291), который использует BIOS UEFI.

Предложение. Подумайте о том, чтобы изменить название вашего вопроса на что-то вроде строк Почему обновление-grub на ноутбуке UEFI Thinkpad не добавляет Windows в меню GRUB? Это может привлечь внимание того, кто, в отличие от меня, действительно знает, что происходит, когда update-grub зонды для операционных систем. : -)

На вашем ноутбуке уже установлена ​​и работает Windows 7. Затем вы установили Ubuntu 12.04 (Beta 2?). Однако после установки меню GRUB не содержало записи для загрузки Windows 7, исправьте?

Вы все еще можете загружать Windows 7, введя конфигурацию BIOS, выбрав меню Startup, а затем сделав Windows вводит первый в подменю Boot. Но, очевидно, это PITA, и вы хотели бы иметь запись в меню GRUB, которое вы можете использовать для загрузки Windows.

Предполагаю, что вы установили бета-версию Ubuntu 12.04. (64-бит?) Если это так, то теперь, когда 12.04 был выпущен, вы использовали update-manager для применения всех обновлений и amp; исправления? (Просто проверьте.)

. Одна из вещей, которую вы пытались, заключалась в добавлении пользовательской записи для окон в /etc/grub.d/40_custom, но она не отображалась. Я предполагаю, что вы основали это в разделе информации об UEFI не-Mac x86_64 UEFI в документации сообщества Ubuntu?

Все, о чем я могу думать, это предложить попробовать еще раз.

Загрузите Ubuntu, откройте окно терминала и запустите ls -l /etc/grub.d/40_custom, чтобы убедиться, что root принадлежит этот файл, и это исполняемый файл.     -rwxr-xr-x 1 root root 356 Apr 26 14:15 /etc/grub.d/40_custom Используйте sudo gedit /etc/grub.d/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. menuentry "Windows x86_64 UEFI-GPT" { search --fs-uuid --no-floppy --set=root 885C-ED1B chainloader (${root})/efi/Boot/bootx64.efi }

Сохраните файл и запустите sudo update-grub. Переведенное выше должно быть добавлено к /boot/grub/grub.cfg между строками ### BEGIN /etc/grub.d/40_custom ### и ### END /etc/grub.d/40_custom ###

. Если эти шаги были выполнены, попробуйте перезагрузить и посмотрите, есть ли у вас в настоящее время запись в меню GRUB, которая позволяет загружать Окна. (Ментально пересекая пальцы здесь.)

0
ответ дан 25 May 2018 в 12:24

Сначала вы должны проверить наличие загрузчика Windows на своем ESP. В Linux этот файл обычно присутствует как /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi. Если этого нет, проверьте, не пропал ли этот файл, или все /boot/efi/EFI/Microsoft исчезло. К сожалению, версии Ubuntu до 12.04 будут уничтожать ESP, включая любой ранее существующий загрузчик Windows и все его дерево каталогов. Если этот файл отсутствует, единственный способ его исправить - восстановить его из резервной копии или использовать диск восстановления Windows для выполнения ремонта. Как только это будет сделано, вам может потребоваться снова перезагрузить сервер, чтобы запустить GRUB (или какой-либо другой менеджер загрузки) по умолчанию.

Предполагая, что программа загрузчика Windows присутствует, есть несколько способов исправить эту проблему .

Один из них - установить rEFIt или rEFInd. Я разветвил rEFInd из rEFIt, потому что rEFIt, похоже, был оставлен; таким образом, ИМХО rEFInd - лучшее решение. Эти программы являются и менеджерами загрузки, которые при правильной установке запускаются до GRUB. Они могут автоматически обнаруживать GRUB и загрузчик Windows, предоставляя вам возможность загрузить один из них. Таким образом, не имеет значения, не может ли GRUB обнаружить Windows или не запустить его.

Второй подход заключается в добавлении записи в /etc/grub.d/40_custom, аналогичной тому, что предлагает иррациональный Джон; однако вы должны изменить серийный номер с 885C-ED1B на все, что есть в вашей системе, или указать ESP каким-либо другим способом. Кроме того, вы должны указать строку chainloader на загрузчике Windows, который является /EFI/Microsoft/Boot/bootmgfw.efi. (Он может быть дублирован в /EFI/Boot/bootx64.efi, но это не гарантируется). Например, это должно работать:

menuentry "Windows" {
    set root=(hd0,gpt1)
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Это из памяти; возможно, я что-то забыл или вошел в опечатку. Также, таким образом, вы должны правильно указать ESP на линии set root=; если ESP не является первым разделом на первом физическом диске, вы должны соответствующим образом скорректировать номера.

0
ответ дан 25 May 2018 в 12:24

Другие вопросы по тегам:

Похожие вопросы: