Linux не видит windows 7 при установке

Обновлено: 04.07.2024

Многие новички и опытные пользователи Linux держат также установленной на своем компьютере операционную систему Windows, например, последней, десятой версии. Новичкам это нужно чтобы иметь запасную операционную систему, к которой они смогут вернуться, если их Linux сломается. А для опытных пользователей важно программное обеспечение, которое не поддерживается ни в Linux, ни даже с помощью эмулятора Wine, а таких программ достаточно много.

Но временами случается такая ситуация, что загрузчик Grub не распознает установленную Windows и не отображает ее в списке для систем для загрузки. В этой статье мы рассмотрим почему возникает ошибка grub не видит Windows 10 и как ее решить.

Ошибка Grub не видит Windows 10

Причин такой ошибки может быть несколько, начиная от того, что система установлена на другом жестком диске, и заканчивая неизвестными глюками пакета os-prober, который и занимается определением операционных систем в Linux. Также, если у вас есть несколько версий Windows на компьютере, то программа может видеть только одну из них.

Сначала можно попытаться сделать наш с Windows раздел более видимым для программы. Для этого примонтируйте его в какую-либо папку. Например, в /mnt/:

sudo mount -t ntfs-3g -o ro /dev/sda1

Я предполагаю, что система Windows установлена на разделе, который определяется в Linux, как /dev/sda1. Дальше запустите утилиту os-prober:


Если программа обнаружит Windows, то вам останется обновить конфигурацию загрузчика Grub:


sudo grub2-mkconfig -o /boot/grub/grub.cfg

Если же этот способ не сработает, а он, скорее всего, не сработает, то вам останется только вручную добавить пункт меню для Windows. Это не самое простое, но зато эффективное решение. Сначала нам нужно узнать UUID раздела диска, на который установлена Windows, например, /dev/sda1:


Затем откройте файл /etc/grub.d/40_custom и добавьте туда такой код:

menuentry "Windows 10" insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set B4A6AEB7A6AE7A0E
chainloader +1
>


Если кратко, то здесь мы устанавливаем в качестве корня первый раздел первого диска, а затем указываем загрузчику, что нужно найти раздел с нужным нам UUID. Затем передаем управление загрузчику на этом разделе с помощью chainloader. Дальше осталось обновить конфигурацию Grub:


Мы использовали такой метод потому что теперь настройка не собьется после обновления ядра или другого процесса, инициализирующего обновление конфигурации. Потому что если бы мы добавили эти строки в /boot/grub/grub.cfg, то они были бы перезаписаны если не при первом, то при одном из следующих обновлений системы.

Когда конфигурация обновлена вы можете перезагрузить компьютер и загружать Windows с помощью нового пункта. Таким образом, можно добавить несколько пунктов, только для разных разделов нужно указывать их UUID.

Выводы

Звезда активна
Звезда активна
Звезда активна
Звезда активна
Звезда активна


Пришла идея поставить на ноутбук Ubuntu, рядом с уже имеющейся там Windows 7. Данная процедура уже не раз была мной проделана на других машинах и обычно не вызывала особых проблем. На этот раз, установщик Ubuntu приподнес сюрприз, показав, что диск не содержит никаких разделов и вовсе не размечен. Хотя, там было два раздела, на одном из которых стоит «семерка», другой отдан под файлы, и третий, скрытый загрузочный, создаваемый Windows 7 по умолчанию всегда.

Gparted — отдельная утилита для разметки дисков, показала то же самое — разделов нет, все пространство неразмечено. Только Disk Utility, также по умолчанию входящая в дистрибутив программа, вывела нормальную информацию. Сразу же стало понятно, что проблема в установщике. Как оказалось, новая версия установщика (я проверял на 12.04 версии системы), неправильно воспринимает разметку диска, которую делает Windows 7 на этапе установки. Говоря конкретнее — нестандартно размеченная таблица GPT (GUID).

Решение

Решается все просто и довольно быстро — установкой софтины FixParts.

Итак, если вам также, как мне, повезло поиметь «семерку» с подобной разметкой, то выполняем такие действия:

1. Загружаемся с LiveCD Ubuntu, настраиваем соединение с интернетом;
2. Заходим на страницу загрузки FixParts, выбираем последнюю версию. Переходим в каталог «fixparts-binaries», оттуда загружаем дистрибутив программы под вашу систему;
3. Устанавливаем, как любую другую программу;
4. Запускаем Терминал, там вводим:

sudo fixparts /dev/sda

Не забудьте изменить «sda» в этой команде на нужную букву вашего диска (sdb, sdc);
5. Программа сразу же просканирует диск на ошибки. На появившийся вопрос о лечении «кривых» GPT разделов, отвечаем да (yes);
6. Когда командная строка выдаст «MBR command….», закрываем Терминал;
7. На этом все! Можно запустить установку и радоваться тому, что наконец-то видно все разделы.

Накатил утром свежий пакет обновлений для манжаро. Grub2 перестал видеть винду (win7x64), хотя еще 8 часов назад все было в порядке и полтора года до этого момента все было в порядке.
os-prober видит запись

Generating grub configuration file…
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.4-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-5.4-x86_64.img
Found initrd fallback image: /boot/initramfs-5.4-x86_64-fallback.img
Adding boot menu entry for UEFI Firmware Settings…
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

За подсказки и помощь спасибо alexal9 и Agafron
Агафон вообще выручает часто, шикарный))

23 комментария

И Минт тоже перестала видеть, он тоже на отдельном ссд. Это проблема конкретно граба, так как стандартные способы перепробовал. Да и запуск биосом работает хорошо. Возможно кто-то решил что мы дофига олигархи и имеем ссд на 10 терабайт чтоб все на одном диске держать, например Kosh с его подходом владельца сервера

Откатитесь на последний бекап. Это же не проблема.

P.S.
Бекап — это не проявление трусости.

Линукс очень дружелюбная система, но она очень тщательно выбирает себе друзей! Опять же у меня ссд не на 10 терабайт и я не делаю снимки таймшифтом ежедневно. Только при обновлении ядра

И я не делаю.
Раз в неделю, вполне себе норм.

И хранить последние 3 версии.

Линукс очень дружелюбная система, но она очень тщательно выбирает себе друзей! Для ссд 120-240 это не сильно чтобы норм. У меня же набор программ довольно веский, я не токмо ютуб смотрю. На линь переехал давно и довольно плотно, винда чисто под фрутик и набор плагинов, чьи разраби ленятся запиливать бинарники и вшивают проверку лицензии в распаковщика .exe. А для ссд с хорошим объемом я не москвич еще чтоб выкладывать по 50 кусков за такое

Да, я можно сказать, москвич.
Общаюсь с вами с ноута 2008 года выпуска )))
Бекап бывает разный. Можно бекапить все, а можно выборочно.
Я бекаплю только систему, как раз на случай подобных сбоев и скрытые файлы хомяка. Из бекапа так же исключен кеш скачанных пакетов. В общем все занимает не особо много места на терабайтном HDD.

Это все конечно не отностится к вашему вопросу… Только дает тему для размышлений.

Линукс очень дружелюбная система, но она очень тщательно выбирает себе друзей! Ну опять же, терабайт не идет в сравнение с объемами массовых ссд. Заполнен он у меня примерно на 80 из 120, т.к. программ использую довольно много. А таймшифт почему-то упрямо отказывается закидывать снэпшоты на дополнительные харды в кучу файлов и кэша программ. Потому один бэкап для меня это норма и используется он при обновлении ядра. Ну и от граба такой подлянки не ожидаешь. Если он не видит — ну вбить ему ручками настройку и все ок. А то ведь система все видит, а граб конкретно не хочет и все тут. Жуть

Timeshift аккуратненько скадывает все ему нужное в одну папочку, на любом, даже внешнем диске. Попробуйте с ним подружиться.

Прошу вас простить разработчиков. Не ошибается тот, кто ничего не делает. Я уверен, они все поправят. Может через несколько дней, а может недель.
Все же пользуясь роллинг релизом, нужно страховаться и самому.

Я установил Windows на свой компьютер, а затем установил Ubuntu. Однако теперь я не могу загрузиться в моей установке Windows.

Я собираюсь сделать некоторые предположения:

  1. Эта Windows установлена ​​и настроена для загрузки через UEFI.
  2. Ubuntu установлен и настроен для загрузки через UEFI.
  3. В данный момент вы видите меню grub при загрузке.

Если какое-либо из этих предположений неверно, то следующий совет вам не поможет (хотя и ничего не повредит):

Создать файл, /boot/grub/custom.cfg (запустив sudo -H gedit /boot/grub/custom.cfg ) с этим содержанием:

(Скопируйте и вставьте вышеуказанное в открывшееся окно Gedit, затем сохраните и выйдите из Gedit)

GRUB меню не появляется

Если компьютер загружается в Ubuntu автоматически, вообще не показывая меню GRUB, иногда вы можете нажать клавишу BIOS/UEFI производителя во время загрузки и в режиме UEFI или BIOS из меню прошивки выбрать нужную операционную систему. Обычно используются клавиши Esc, Delete, F1, F2, F10, F11 или F12. На планшетах общими кнопками являются Увеличение громкости или Уменьшение громкости. Во время запуска часто появляется экран, в котором упоминается клавиша. Если его нет или экран отображается слишком быстро, проверьте его на веб-сайте производителя. *

Если это не работает, когда меню GRUB не появляется во время загрузки, сразу после заставки BIOS/UEFI во время загрузки с BIOS, быстро нажмите и удерживайте клавишу Shift , что вызовет экран меню GNU GRUB. С помощью UEFI нажмите (возможно, несколько раз) клавишу Esc, чтобы перейти к экрану меню GNU GRUB. Иногда заставка производителя является частью загрузчика Windows, поэтому, когда вы включаете компьютер, он сразу переходит к экрану меню GNU GRUB, а затем нажимать Shift не нужно.

Если это не работает, когда меню GRUB не появляется во время загрузки, попробуйте ответы на:

Из Ubuntu откройте терминал и введите:

Откройте приложение Boot Repair и выберите " Дополнительные параметры" -> вкладка " Другие параметры " -> " Восстановить загрузочные файлы Windows". Флаг загрузки должен быть размещен на том же разделе, на котором установлена ​​Ubuntu. Раздел, на котором установлена ​​Ubuntu, можно определить из приложения Disks, встроенного в Ubuntu.

Если вы не можете выбрать опцию Восстановить загрузочные файлы Windows, потому что она недоступна, обратитесь к этому ответу.

Rescatux - бесплатный загрузочный live CD/USB, который может восстановить GRUB и загрузчик Windows. Rescatux имеет графический интерфейс с меню задач по спасению операционной системы. Если ваш жесткий диск имеет формат разделов MBR, вы можете выбрать параметр Восстановить Windows MBR (BETA), чтобы восстановить загрузчик Windows. Если на вашем компьютере установлена ​​прошивка UEFI, вы можете выбрать один из вариантов загрузки UEFI.

Параметры загрузки:

  • (> = 0,41 бета 1) Обновить заказ UEFI
  • (> = 0,41 бета 1) Создать новую запись загрузки UEFI
  • (> = 0,41 бета 1) Статус раздела UEFI
  • (> = 0,41 бета 1) Поддельный Microsoft Windows UEFI
  • (> = 0,41 бета 1) Скрыть Microsoft Windows UEFI
  • (> = 0,41 бета 1) Переустановите Microsoft Windows EFI
  • (> = 0,41 бета 1) Проверьте загрузку UEFI

Варианты GRUB:

  • (> = 0,40 бета 11) Easy GNU/Linux Boot Fix
  • Восстановить GRUB и GRUB2
  • (> = 0,31 бета 4) Обновить любое меню GRUB2
  • Обновление меню Debian / Ubuntu GRUB

Варианты Windows:

  • Восстановить Windows MBR (BETA)
  • Очистить пароли Windows
  • (> = 0,31 бета 4) Повышение роли пользователя Windows до роли администратора
  • (> = 0,41 бета 1) Переустановите Microsoft Windows EFI
  • (> = 0.31 beta 4) Разблокировать пользователя Windows

Параметры пароля:

  • Изменить пароль GNU/Linux
  • Восстановить файл sudoers
  • Очистить пароли Windows



Rescapp - хороший мастер, который проведет вас через ваши задачи по спасению.

Как сделать Rescatux live USB из Ubuntu

Вставьте флэш-накопитель USB и проверьте, включен ли флаг загрузки на флэш-накопителе с помощью приложения GParted. Размонтируйте флешку. Откройте GParted и выберите USB-накопитель из списка меню накопителей. В меню GParted выберите: Раздел -> Управление флагами -> проверить загрузку.

Очень важно убедиться, что устройство, на которое вы устанавливаете Rescatux live USB, действительно является вашей флэш-памятью, чтобы не перезаписывать какие-либо системные или личные файлы, которые могут сделать вашу операционную систему не загружаемой. В Ubuntu вы можете найти имя устройства флэш-накопителя с помощью приложения Disks.

Размонтируйте USB-раздел устройства. Допустим, USB-раздел устройства /dev/sdc1

Изменить каталоги с помощью cd путь к каталогу, в котором находится загруженный вами iso-файл Rescatux.

Запишите ISO-файл Rescatux на USB-накопитель. В следующей команде замените rescatux_0.xxxx.iso с именем загруженного вами iso-файла Rescatux.

Я также смог сделать Rescatux Live USB с помощью встроенного приложения Startup Disk Creator.

Невозможно отменить изменения раздела в Windows. Вам придется переустановить или восстановить Windows, а затем переустановить Ubuntu.

Сначала попробуйте запустить Boot-Repair ( info) и посмотрите, поможет ли это. Чтобы запустить это:

Загрузитесь с живого DVD или USB Ubuntu.

Введите эти строки в терминале по одной строке за раз.

Найдите Boot-Repair в Dash и запустите его.

Если Boot Repair не работает, запустите восстановление с компакт-диска Windows Recovery (попросите его у производителя вашего ПК).

Загрузитесь с компакт-диска восстановления. Вы должны увидеть это.

Откройте приложение командной строки и введите bootrec /fixmbr ,



(изображения из HowtoGeek)

Закройте окно и на этот раз выберите "Восстановление при запуске". Подождите, пока процесс не будет завершен. Обычно это занимает около 30 минут -2 часа.

Если Windows успешно отремонтирована, все готово. Если это не так, вам придется переустановить Windows с установочного компакт-диска Windows.

Если у вас нет установочного компакт-диска Windows, вы можете загрузить Ubuntu live DVD/USB и установить загрузчик с эквивалентной функцией в загрузчик Windows.

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

Затем, после установки или восстановления Windows, вам придется удалить разделы Ubuntu. Определите их и удалите с помощью утилиты управления дисками в Windows.

введите описание здесь

После этого переустановите Ubuntu таким же образом.

Если ОС были установлены в разных режимах, двойная загрузка Windows и Ubuntu не может работать. Если ваша Windows установлена ​​в режиме BIOS, рекомендуется установить Ubuntu в режиме BIOS, но если она установлена ​​в режиме UEFI, сделайте то же самое с Ubuntu. Самый простой способ узнать, используете ли вы UEFI или BIOS, это найти папку с именем /sys/firmware/efi , Папка будет отсутствовать, если ваша система использует BIOS.


BIOS против UEFI

Если вы установили Ubuntu в устаревшем режиме на тот же диск с разделением GPT, вы можете использоватьдополнительные параметры Boot Repair для удаления grub-pc и установки grub-efi-amd64. Это преобразует установку Ubuntu из загрузки BIOS в загрузку UEFI, то же самое программное обеспечение, что и у большинства недавно выпущенных ноутбуков с предустановленной Windows.

Преобразование Ubuntu в режим UEFI

  1. Запустите Boot-Repair и выберитеДополнительные параметры-> вкладкаGRUB location.
  2. Если вы не видите параметрОтдельный раздел / boot / efi, это означает, что на вашем компьютере нет раздела UEFI.

Если вы видите параметрОтдельный раздел / boot / efi, установите флажок слева от него, а затем нажмите кнопкуПрименить в правом нижнем углу.


Настройте BIOS так, чтобы он загружал жесткий диск в режиме UEFI. Способ настройки этого параметра зависит от конкретной модели компьютера, но обычно этот параметр находится в настройках приоритетазагрузки на вкладке Boot утилиты настройки BIOS / UEFI.

Загрузчик grub также может быть преобразован в обратном направлении из UEFI в BIOS. Linux может нормально загружаться с GPT-диска в режиме BIOS. Смотрите этот ответ: конвертировать из EFI в BIOS загрузки

Уже установленная ОС Windows не была обнаружена при установке Ubuntu. os-prober по умолчанию репозитории Ubuntu обнаруживают другие операционные системы, доступные в системе, и выводят результаты в терминал. Если os-prober не работает, проверьте, если команда sudo fdisk -l может найти раздел Windows.

Если вы нашли раздел Windows, введите sudo update-grub , sudo update-grub обновляет загрузчик GRUB и исправляет неправильные записи. Эта команда решила мою проблему, которая показана ниже.

sudo update-grub && sudo reboot обновляет загрузчик GRUB и перезагружается.


Я установил Ubuntu вместе с Windows 10. Теперь я не вижу опции для запуска Windows в меню загрузки GRUB.

Примечание: разделы все еще существуют.

Boot-Repair позаботится об этом.

Сначала откройте новый терминал, затем введите:

Boot-Repair

Убедитесь, что вы загружаетесь в режиме UEFI. использование sudo efibootmgr -t nn использовать меню вашей EFI. Вы можете выбрать Windows Boot Manager или Ubuntu (GRUB).
ЗАМЕЧАНИЕ. Windows будет стирать установку GRUB в своем собственном системном разделе EFI при каждом обновлении BOOTMGR.

Method1

1. Войдите в режим восстановления Windows, нажав "esc" (может быть другим способом на вашем компьютере) во время загрузки.

2.Нажмите "Устранение неполадок".

3.Нажмите "Дополнительные параметры"

4. Выберите "Командная строка"

5.Введите следующие команды:

6. Теперь перезагрузите компьютер

Хорошо, если это работает для вас, если нет, то попробуйте

Method2.

1. Используйте Rufus, чтобы сделать Ubuntu живым USB-накопителем и загрузиться в Ubuntu.

2. Стартовый тип терминала

3. Запишите корневой раздел установки linux.
Пример: (/ dev / sda8) в моем случае.
и ваш загрузочный раздел, который обозначен * знак.
Пример: (/ dev / sda6) в моем случае.

4. Теперь смонтируйте корневой раздел, чтобы внести некоторые изменения и связывание. Ниже замените "/ dev / sda8" на ваш корневой раздел.

5. Теперь измените корневой каталог с USB-диска на корневой каталог жесткого диска

6. Теперь установите grub в свой загрузочный раздел, который вы отметили при помощи * знак замените "/ dev / sda6" на ваш загрузочный раздел.

8. Несмонтированный раздел, ранее смонтированный ранее.

9. Удалите Pendrive и перезагрузите компьютер.

И в следующий раз, когда окно двойной загрузки и Linux ссылаются на этот ответ, Windows двойной загрузки и Linux

Сначала попробуйте этот источник :

Вставьте установочный DVD/USB-диск Windows и загрузитесь с него. Выберите ваш язык и нажмите Далее. Когда будет предложено установить сейчас, просто посмотрите в это окно и нажмите " Восстановить компьютер". Подождите, и появится новое окно с операционными системами, установленными на вашем ПК. Нажмите на Windows 7/8/10 и нажмите Далее. В следующем окне нажмите Командная строка. Когда появится командная строка, введите:

Нажмите Enter и введите:

Нажмите Enter еще раз, затем закройте окно командной строки и перезагрузите компьютер. Не забывайте пространство между bootrec а также / ,

После этого у вас больше не будет возможности выбирать между операционными системами для загрузки при запуске. Вам придется починить личинку. Вы можете сделать это с помощью живого DVD/USB Ubuntu. Самый простой способ - восстановить загрузчик Windows, отформатировать разделы Ubuntu и переустановить Ubuntu. Чтобы восстановить grub после восстановления загрузчика Windows, попробуйте это.

Для ремонта личинки:

Загрузка с Ubuntu Live DVD/USB.

Откройте терминал и запустите sudo fdisk -l чтобы увидеть, где установлена ​​Ubuntu.

Бегать sudo mount /dev/sdaX /mnt где X это номер раздела, в котором вы нашли Ubuntu.

Бегать sudo grub-install --root-directory=/mnt /dev/sda

Чтобы установить grub:

Бегать sudo update-grub обновить grub, и если эта команда не работает, запустите ее после перезагрузки.

Перезагрузиться с sudo reboot ,

Примечание. Для меня команда на шаге 5. не сработала, поэтому я перезагрузил компьютер, и после перезагрузки компьютер загрузился непосредственно в Ubuntu, поэтому я вошел в систему как пользователь root и запустил эту команду:

Это решило проблему.

у меня тоже есть загрузчик. нет (извините, я не удержался;)

Запуск update-grub с live Stick испортил мои загрузочные записи. но позвольте мне загрузиться в установленную систему. (убунту 20.04)

В моем простом случае мне просто нужно было бежать update-grub снова из установленной и правильно загруженной системы linux. который найдет загрузчик Windows. и после этого `` установка grub'' сохранит его.

У меня система тройной загрузки. так что это становится обычным процессом. уже не как 10 лет назад;)

Некоторые безопасные загрузочные машины не могут загружать Windows из grub. Обходной путь - предоставить различный набор файлов EFI для каждого типа загрузки, поместив второй набор для Ubuntu на USB-накопитель и оставив файлы EFI на жестком диске для Windows.

У вас есть рабочий набор файлов EFI в Ubuntu, который уже находится на жестком диске, поэтому возьмите (маленькую) флешку (пустую, поскольку вы потеряете на ней все данные), поместите на нее таблицу разделов GPT и создайте раздел 250 МБ для файлы EFI. Скопируйте EFI-файлы жесткого диска на карту памяти. Они появятся в /boot/efi каталог, под каталогом EFI ,

Возьмите каталог EFI и все его содержимое и поместите его в раздел USB. Я бы посоветовал отредактировать версию EFI/ubuntu/grub.cfg изменить название пункта меню "Ubuntu" на "Ubuntu on USB" или что-то еще, чтобы было понятно, с каким набором файлов вы загружаетесь.

Теперь попробуйте загрузиться с USB и посмотрите, есть ли у вас измененный пункт меню, и работает ли он. Когда загрузка через USB работает, вы можете просто перейти к /boot/efi/EFI/Boot , который должен быть разделом EFI жесткого диска и содержать копии (возможно, с разными именами) версий загрузочных файлов Ubuntu, которые также должны находиться в /boot/efi/EFI/ubuntu ,
Используйте md5sum, чтобы подтвердить, что у вас есть копии всех файлов, которые находятся в /boot/efi/EFI/Boot потому что вы собираетесь удалить их! Скопируйте и переименуйте файл /boot/efi/EFI/Microsoft/bootxmgfw.efi в /boot/efi/EFI/Boot/bootx64.efi и вы сможете снова загрузить Windows с жесткого диска - выньте флешку и попробуйте загрузку Windows.

Когда вы обновите ядро ​​и получите новый файл grub.cfg, сгенерированный на жестком диске (не используется, поскольку жесткий диск загружается только Windows), вам придется скопировать его самостоятельно на USB-накопитель. EFI/ubuntu/grub.cfg ,

Надеюсь, в какой-то момент проблема grub не загружать Windows на вашем компьютере будет решена, и вы можете просто заменить жесткий диск EFI/Boot файл с теми на палке EFI/Boot ,

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

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