Grub не видит Windows 7
Обновлено: 21.11.2024
Я установил Elementary OS рядом с Windows 10 на отдельный раздел. После запуска в меню загрузчика - Grub - могу выбрать и Elementary OS и Windows. Linux запускается корректно, но при выборе windows возвращается то же самое меню, ситуация зацикливается.
Какой способ восстановления Windows вы рекомендуете, мой метод кажется хорошим, вы рекомендуете какие-либо материалы или советы по процессу?
1 Ответ 1
Linux запускается правильно, но при выборе окон возвращается то же самое меню, ситуация зацикливается.
Похожих вопросов много, поэтому я не пишу об этом здесь.
Я рекомендую вам выполнить следующие действия!! Сам пробовал!!
Как использовать загрузчик Windows для загрузки Linux
Предполагается, что BIOS + MBR
Написано для Ubuntu, но применимо ко всем дистрибутивам
Кратко, что мы собираемся делать
Это потребует копирования загрузочной записи нашего раздела Ubuntu в Windows и использования BCDEdit для создания новой записи в хранилище BCD, которая будет указывать на этот файл. Таким образом, Windows будет отображать меню во время загрузки, которое даст вам выбор между Windows и Ubuntu.
Предположим, что диск разбит на разделы (соответствующим образом измените для вашего случая)
/dev/sda1 — 100 МБ — Win зарезервировано
/dev/sda2 — 252 ГБ — Win (диск c:)
/dev/sda3 — 31000 МБ — Ubuntu
/dev/sda5 — 1000 МБ — подкачка
/dev/sda6 — необязательно создается для переноса сгенерированного файла .bin из Linux в Windows — файловая система FAT32 —
< /цитата>Пропустить часть установки перед выбором дисков, так как это зависит от предпочтений.
Важный шаг: нам нужно указать установщику Ubuntu, где установить системный загрузчик (GRUB 2). Мы НЕ хотим устанавливать загрузчик на /dev/sda, так как это перезапишет основную загрузочную запись нашего диска, и мы не хотим устанавливать его на /dev/sda1 или /dev/sda2, так как это перезапишет файлы менеджера загрузки Windows. и данные конфигурации загрузки, или сама операционная система. Вместо этого пусть Ubuntu установит свой загрузчик на раздел, который будет содержать операционную систему Ubuntu — в нашем случае /dev/sda3. Для этого щелкните раскрывающийся список под
«Устройство для установки загрузчика»
Выберите «Установить сейчас», и Ubuntu начнет установку. Когда он завершится, вас спросят, хотите ли вы перезагрузить компьютер или «продолжить тестирование». Вам следует выбрать «Продолжить тестирование», так как для следующих шагов требуется доступ к терминалу. Примечание: важно не перезагружаться сейчас, иначе эти методы не будут работать
Настройка Ubuntu для двойной загрузки
Теперь, когда у нас есть разделы на диске и установлена Ubuntu, давайте настроим нашу систему для загрузки Windows или Ubuntu.
Нам нужен способ переместить сгенерированный файл загрузочной записи в Windows. Этого можно добиться разными способами, используя диски ntfs/USB или драйверы EXT4. Поскольку я создал раздел в FAT32, я буду использовать его здесь !! Используйте любой другой способ, если хотите !!
Сначала создадим точку монтирования для созданного нами раздела FAT32.
Далее подключим нужное устройство к этому каталогу. Вспомним из приведенных выше шагов по созданию разделов, что раздел FAT32 расположен на устройстве /dev/sda6:
Создание файла .bin для загрузочной записи
Запишите первые 512 байт нашего раздела Ubuntu в файл и скопируйте этот файл в наш раздел FAT32:
Примечание: использование раздела FAT32 в вышеупомянутых шагах необязательно. Вы можете использовать другое устройство, например USB-накопитель, для копирования на него файла *.bin.
Выйдите из операционной системы Ubuntu и перезагрузитесь в Windows. Попутно вы можете увидеть, как Windows выполняет проверку диска (не волнуйтесь, это нормально и должно происходить только один раз в результате этих процедур). Войдите в Windows и откройте созданный вами том FAT32, и вы должны увидеть файл ubuntu.bin. Скопируйте этот файл в корень тома Windows (например, C:).
Настройка двойной загрузки Windows
Теперь мы воспользуемся BCDEdit, чтобы добавить запись в хранилище BCD Windows. Для использования BCDEdit требуются права администратора, поэтому используйте Win+R, введите cmd и нажмите
<р>. Начнем с создания записи для нашего дистрибутива Linux. Обратите внимание, что при желании вы можете выбрать другое имя записи:BCDEdit вернет буквенно-цифровой идентификатор для этой записи, на который я буду ссылаться в оставшихся шагах. Вам нужно будет заменить фактический возвращаемый идентификатор. Примером является . Далее давайте укажем, в каком разделе находится копия файла linux.bin:
Путь к нашему файлу ubuntu.bin:
Вход в отображаемое меню во время загрузки:
и, наконец, давайте укажем, как долго будут отображаться пункты меню:
Вот оно! Теперь перезагрузитесь, и вам будет представлено меню, в котором вы можете выбрать загрузку с Windows или Ubuntu. Когда вы выберете Ubuntu, вы попадете в меню загрузчика, где вы можете продолжить загрузку Ubuntu.
И последнее замечание: если вы когда-либо захотите удалить опцию меню Ubuntu, просто удалите запись хранилища BCD, созданную вами, с помощью следующей команды:
Мои разделы следующие:
/dev/sda1 *загрузочный 100 МБ ntfs (я думаю, загрузочный раздел Windows)
/dev/sda2 не загрузочный 78 ГБ ntfs
/dev/sda3 нет загрузочный 241.2G ntfs
/dev/sda4 *загрузочный 146.5GB ID - 83 Linux (это корневой раздел ext4, во время установки я не создавал отдельно домашний или загрузочный каталоги, только смонтировал /dev/sda4 /mnt ). РЕДАКТИРОВАТЬ ПРИМЕЧАНИЕ. Я сделал это основным разделом на cfdisk, когда создавал и форматировал разделы. Не расширенный раздел, а основной.Я устанавливал как можно проще, без создания раздела подкачки или домашнего раздела. Я использовал cfdisk, чтобы сделать чистый нераспределенный раздел размером 146,5 ГБ загрузочным, и mkfs преобразовал его в ext4. Полностью следовал руководству по установке.
По какой-то причине в том месте в руководстве по установке на вики, где предлагается установить загрузчик (после установки пароля root), я получил сообщение «Нет свободного места, раздел заполнен», хотя, как вы можете видеть, Я использую достаточно большой раздел для установки Arch Linux (или что-то в этом роде). Погуглил и нашел решение здесь — https://www.ostechnix.com/adjust-size-r…rch-linux/, здесь — https://bbs.archlinux.org/viewtopic.php?id=212345, а здесь - https://bbs.archlinux.org/viewtopic.php?id=205967. Один из них связан с изменением файловой системы с ntfs на ext4 (вина используемого мной диспетчера разделов, который оставил его как ntfs), а в двух других упоминается команда " mount -o remount,size=2G /run/archiso/cowspace " для устранения ошибки «раздел заполнен». Но в ходе поиска этих решений мне также пришлось переустановить все это, поэтому я удалил раздел /dev/sda4 и переустановил его.
А теперь важная часть. Когда я установил os-prober, а затем запустил « grub-mkconfig -o /boot/grub/grub.cfg », я помню, что в результате одного из двух я увидел в консоли строку «Windows 7 обнаружена на /dev/ sda1' или что-то в этом роде. Но при второй установке, когда я использовал вышеуказанные решения, я не видел строки, что была обнаружена Windows 7. Это вызвало тревожный звон. Как и ожидалось, когда я перезагрузился в первый раз после установки, я мог видеть только Arch Linux в меню загрузки GRUB, а не Windows 7. Даже пытаясь «Загрузить существующую ОС» с живого USB-накопителя Arch Linux (последний ISO на момент написания этого поста) не дает мне Windows 7 или Arch Linux. Это просто возвращает меня в главное меню Live USB Arch ISO, где я просто выбираю «Arch Linux» (живая среда), чтобы попытаться найти решение.
Мой /etc/fstab в новой установленной системе содержит только /dev/sda4 с большим количеством текста. Две записи /dev/sda4. Загрузка не упоминается, как я видел в некоторых других файлах fstab других людей. Кроме того, при загрузке появляется короткое сообщение, которое я не могу прочитать достаточно быстро, но в нем говорится: «невозможно создать файл модуля монтирования» (или, может быть, файл загрузочного модуля, где-то в той же строке записана загрузка), а затем «дублировать запись fstab?".
Я здесь новичок, извините за лишнюю и ненужную информацию. Я попытался предоставить все, что, по моему мнению, имело значение. Также через 8 часов мое интернет-соединение вернется в нормальное состояние, поэтому я смогу установить графическую среду и браузер (сейчас это очень медленно, и у меня установлен только базовый пакет, даже не base-devel). Так что через 8 часов я смогу обеспечить вывод команд и логов, которые нужны хелперам. Пожалуйста, помогите мне, я не хочу переустанавливать в третий раз, и я чувствую, что это очень простая проблема, ничего не сломано или очень неправильно установлено как таковое. Спасибо.
РЕДАКТИРОВАТЬ 2. После ввода кода, приведенного в статье для двойной загрузки Windows, установленной в режиме MBR, вот код (в файле /etc/grub.d/40_custom) -
if [ "$ " == "ПК"]; затем
элемент меню "Microsoft Windows Vista/7/8/8.1/10 BIOS-MBR" insmod part_msdos
insmod ntfs
insmod search_fs_uuid
insmod ntldr
search --fs -uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 69B235F6749E84CE
ntldr /bootmgr
>
фиЯ вижу параметр Windows в меню загрузки, но нажатие на него просто возвращает меня в меню загрузки без загрузки Windows. Интересно, uuid какого раздела мне следует использовать, тот, на котором установлена Windows (обычно C:), или тот, на котором находится загрузочный раздел Windows (обычно размером 100 или 200 МБ).
РЕДАКТИРОВАТЬ 3: Использовались идентификаторы uuid для обоих разделов в приведенном выше коде: для того, где установлена Windows (/dev/sda3), и для того, где находится bootmgr для Windows (/dev/sda1).Использовал lsblk --fs, чтобы убедиться, что /dev/sda1 является «зарезервированным системой» и разделом, в котором установлен диспетчер загрузки Windows. Оба дают тот же результат, что и раньше, показывая меню загрузки с надписью Windows, но возвращая меня в меню загрузки после его выбора.
EDIT 4: Я решил одну часть проблемы. Я не монтировал загрузочный раздел Windows, /dev/sda1, при создании grub conf. Теперь os-prober и «grub-mkconfig -o /boot/grub/grub.cfg» также находят Windows /dev/sda1 :chain: или что-то в этом роде. Но все же в меню загрузки, когда я нажимаю ввод в опции Windows, я возвращаюсь в меню загрузки вместо загрузки в Windows.
EDIT 5: Установлен ntfs-3g, который устранил проблему, которая отправляла меня в аварийный режим после добавления вышеуказанного кода, но все еще не изменило поведение параметра Windows.
Вы загрузили Ubuntu Linux одновременно с Windows, но при перезагрузке вы не видите экран Grub, позволяющий выбирать между Windows и Linux. Вместо этого он загружается прямо в Windows.
Или, возможно, у вас была работающая система с двойной загрузкой, но вы обновили Windows, и теперь ваша система загружается прямо в Windows. Обычного меню grub нигде нет. Он просто загружался в Windows 10 при каждом запуске.
Я столкнулся с обоими сценариями в моем долгом путешествии с Linux и компьютерами. Я также видел людей, паникующих по этому поводу. Некоторые пользователи даже думают, что их раздел Linux был удален, и они потеряли свои данные. Уверяю вас, это не так.
Здесь не нужно паниковать. Просто успокойтесь, сделайте глубокий вдох и зайдите в настройки загрузки. Проблема начинается там и заканчивается там.
Если вы тоже не можете загрузиться в Grub и постоянно перезагружаете Windows 10, вот несколько шагов, которые вы можете предпринять для устранения неполадок и устранения проблемы.
Внимательно прочитайте весь текст, иначе вы можете пропустить что-то важное. Кроме того, параметры загрузки выглядят по-разному для разных систем. Скриншоты могут выглядеть иначе.
Способ 1: переместить Grub вверх по порядку
Одна из причин, по которой система с двойной загрузкой автоматически загружается в Windows, заключается в том, что диспетчер загрузки Windows имеет приоритет в порядке загрузки.
Вам необходимо получить доступ к настройкам загрузки. Перезагрузите систему. Когда компьютер загружается и показывает логотип производителя, быстро нажмите клавиши F10/F12 или F2, чтобы получить доступ к меню загрузки или настройкам.
Ключи зависят от производителя. Вы можете переключаться между темами одну за другой, чтобы избежать многократной загрузки.
В некоторых системах на вкладке загрузки отображается меню загрузки с возможными вариантами загрузки. Если вам повезет, он покажет параметры загрузки следующим образом:
Если вы видите параметры загрузки Windows и Linux, а загрузка Windows выполняется выше Linux, вам необходимо изменить порядок загрузки.
Вы должны увидеть возможность доступа к настройкам загрузки. Доступ к нему. Здесь укажите вариант загрузки Linux. Выберите его и переместите вверх по порядку с помощью клавиши F5. После этого нажмите F10, чтобы сохранить и выйти. Полезные сочетания клавиш всегда отображаются в меню загрузки.
Если вам повезет, это должно решить вашу проблему. Если через несколько недель или месяцев проблема возникает снова после обновления Windows, вы можете использовать тот же метод здесь.
А если в меню загрузки нет пункта Ubuntu/Linux?
Способ 2. Добавьте загрузочную запись Linux в настройки загрузки
Еще одна распространенная проблема, с которой сталкиваются многие люди, — это отсутствие записи Linux grub в параметрах загрузки. Это означает, что в настройках загрузки есть только Windows, а не Linux.
Если у вас так же, зайдите в настройки BIOS. На вкладке загрузки найдите пункт Добавить вариант загрузки.
Это должно дать вам возможность добавить файл EFI.
Я использовал это при установке Debian Linux. Вот почему вы увидите Debian на скриншотах здесь. Для вас должно отображаться название вашего дистрибутива Linux, например Ubuntu.
Существует каталог EFI с файлами efi, относящимися к операционным системам на вашем компьютере, например Windows и Linux.
Должна отображаться папка с названием вашего дистрибутива Linux вместе с некоторыми другими папками. Выберите папку Linux.
В этой папке вы найдете такие файлы, как grubx64.efi, shimx64.efi. Выберите shimx64.efi.
Вы можете дать этому файлу подходящее имя, которое легко идентифицировать. Последний экран может выглядеть следующим образом.
Теперь у вас должен быть этот вариант загрузки. Поскольку я назвал его Debian, он показывает два варианта загрузки Debian (я думаю, один из них исходит из файла efi). Нажмите F10, чтобы сохранить и выйти из настроек BIOS.
Когда ваша система загрузится сейчас, вы должны увидеть экран grub.
Примечание. В Acer и, возможно, в некоторых других системах добавление нового параметра загрузки может оказаться сложной задачей. Вы можете использовать шаги, указанные в исправлении ошибки «загрузочное устройство не найдено». Также была добавлена опция загрузки, но она требует изменений на вкладке безопасности.
То, что вы сделали здесь, также можно сделать из командной строки Windows. Пробуйте, только если ваши настройки не учитываются.
Способ 3: настроить загрузку Linux для EFI из Windows (крайнее средство)
Внимание!
Игра с настройками загрузки может испортить вашу систему. Я советую иметь при себе диск восстановления или установочный диск Windows, чтобы изменить настройки загрузки. Сохранение USB-накопителя с Linux также может помочь во многих ситуациях.
Шаг 1
В Windows перейдите в меню.
Шаг 2
Найдите командную строку, щелкните ее правой кнопкой мыши, чтобы запустить от имени администратора.
Шаг 3
Это строго для Ubuntu. Другие дистрибутивы могут иметь другое имя папки.
Скопируйте и вставьте приведенную ниже команду:
Вам не нужно вводить пароль или что-то в этом роде. Команда должна работать нормально, если у вашей учетной записи есть права администратора.
Шаг 4
Перезапустите, и вас встретит знакомый экран Grub. Я надеюсь, что это краткое руководство помогло вам решить проблему с Grub.
Нет успеха? Отменить изменения
Если описанный выше метод ничего не изменил, отмените изменения. Если вы не можете загрузиться, не паникуйте.
Доступ к параметрам загрузки во время загрузки системы. Здесь перейдите к параметрам загрузки и измените порядок загрузки Windows. Сохраните и выйдите.
Теперь при загрузке Windows. вы можете отменить то, что вы сделали, используя приведенную ниже команду с командной строкой, открытой от имени администратора:
Далее используйте приведенную ниже команду, чтобы снова установить загрузку Windows.
Если вы не можете загрузиться с установкой Windows, вставьте установочный диск Windows, после чего вы получите доступ к командной строке. Если вы видите ошибку «загрузка не найдена», вы можете попробовать это или это решение.
Сработало?
Разочаровывает, не правда ли? Казалось, что доступа к Linux вообще не было. Казалось, что раздел Linux исчез, но нет — установка Linux на другой раздел прошла в целости и сохранности. Просто в диспетчере загрузки были другие настройки UEFI. Я все проверил, зайдя в настройки прошивки UEFI в Windows 10.
Я надеюсь, что приведенные здесь советы помогли вам вернуть загрузочное меню Grub, и теперь вы можете использовать его для работы как в Windows, так и в Linux.
sda 8:0 0 232,9G 0 диск
├─sda1 8:1 0 100M 0 часть (это 100 МБ, которые Windows всегда резервирует при установке)
├─sda2 8:2 0 126,9G 0 часть (раздел Windows)
├─sda3 8:3 0 512M 0 часть /boot (раздел Efi для grub)
└─sda4 8:4 0 105,4G 0 часть / (раздел Arch)
Есть идеи, как заставить grub найти и Windows 7, и Arch, чтобы я мог, наконец, выполнить двойную загрузку?
Возможно, вам вообще не нужно, чтобы grub находил раздел Windows. У меня была такая же проблема некоторое время назад, однако при нажатии клавиши «выбрать загрузочное устройство» во время запуска я могу выбрать диспетчер загрузки Windows непосредственно из меню загрузки UEFI.
Я попадаю в какую-то оболочку uefi, но не могу запустить оттуда windows, но спасибо.
Вместо этого я бы посоветовал вам попробовать gummiboot или rEFInd. rEFInd должен «просто работать», даже не настраивая его
Есть идеи, как мне переключиться на rEFInd из grub?
Вы установили os-prober? У меня было много проблем (ошибка при загрузке Windows), пока я только что не установил os-prober, и он нашел его автоматически.
Пробовал, но не работает.
Если у вас есть только один зарезервированный раздел для Windows, значит, он установил BIOS, а не UEFI. (статья о технической сети).
При установке Windows UEFI создается обязательный загрузочный раздел размером 512 МБ, затем раздел MSR, загружающий базовое ядро NT, а затем настоящий раздел Windows.
Вы устанавливаете с компакт-диска? Или вы использовали инструмент загрузки Windows USB для загрузки ISO-образа Windows на USB-накопитель? Если это так, вы получите только установки BIOS для Windows. Чтобы получить установку UEFI, вам нужно отформатировать флэш-накопитель объемом 32 ГБ или меньше в FAT32 и использовать утилиту (например, 7-zip) для извлечения файлов из iso прямо на USB-накопитель. Полученный установщик Windows будет правильно установлен только на машинах с поддержкой UEFI, которые загружаются с USB-накопителя с использованием параметра загрузки UEFI. Это странно специфично (и действительно раздражает), но MS параноидально относится к идиотам, пытающимся загрузиться с UEFI на машинах, не поддерживающих UEFI.
Читайте также: