Grub не видит Windows 7

Обновлено: 04.07.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 для двойной загрузки

Теперь, когда у нас есть разделы на диске и установлена ​​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.

Читайте также: