LINUX.ORG.RU

При загрузке компьютера отсутствует окно выбора ОС после установки Linux Mint 19.3 к Windows 8.1

 ,


0

1

Здравствуйте! Впервые обращаюсь с каким-либо техническим вопросом на форуме. Я абсолютный новичок в Linux, и хотел с сегодняшнего дня начать своё знакомство с Linux Mint 19.3. Сделал всё как было написано в инструкциях и сказано в видео-гайдах на YouTube. Linux работает идеально, но он сразу запускается, не выдав окно выбора ОС. Как мне сделать этот выбор, ибо у меня очень много важных программ и материалов на Windows для работы, и если я не верну к ней доступ, то это будет ужасно. Что мне сделать, если я даже не умею здесь пользоваться терминалом?

наброс защитан

Что мне сделать, если я даже не умею здесь пользоваться терминалом?

не умеешь – научим.

задание #0:

  • открывай терминал
  • выполни команду
 sudo fdisk -l |less
  • нажми клавишу «s» и набери фразу «list-of-partion», нажми клавишу «Enter»

Выполнил? Поздравляю, ты сохранил информацию о разделах своего компьютера в файле list-of-partion.

задание #1:

  • размести файл list-of-partion на pastebin-сервисе (любом общедоступном).
  • опубликуй ссылку в своём ответе в этой теме.
anonymous ()

В «видео-гайдах на YouTube» нет решения?
Ты бы хоть ссылку на инструкцию запостил.
Ладно, попробуем экстасенсорные навыки - при загрузке подержи Shift и ты скорее всего попадешь в menu grub, где сможешь выбрать загрузку windows.

adn ★★ ()
Последнее исправление: adn (всего исправлений: 1)

тем временем я повангую

Так-то у тебя UEFI (99,999%, но проверить не мешает). Mint загружается grub-ом. Достаточно немного подправить конфиг grub и будет тебе выбор ОС при загрузке…

anonymous ()
Ответ на: комментарий от izzholtik

Посмотрел, почитал, нашёл и у меня следующие строчки:

GRUB_TIMEOUT_STYLE=hidden GRUB_TIMEOUT=0

Когда изменил на:

GRUB_TIMEOUT_STYLE=menu GRUB_TIMEOUT=30

Не даёт сохранить файл. Сейчас ещё правда попробую

KILLERIX_FX ()
Ответ на: комментарий от KILLERIX_FX

Поздравляю! Ты делаешь успехи :)

Да всё верно. В твоём компьютере UEFI. А grub не предлагает выбора OS при загрузке т.к. о Windows «ему не сказали».

Самое простое решение (например здесь) указать grub на windows

задание #2:

  • выполни в терминале
sudo nano /etc/grub.d/40_custom
  • откроется редактор nano. набери в нём текст
set timeout=5

menuentry "Windows" {
 regexp -s root '\((.+)\)' "$cmdpath"
 chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
  • у меня нет dualboot-систем под рукой. этот код я не проверял и он может не работать или работать неправильно :( но… это решаемая ситуация

  • сохрани файл, нажав «Ctrl+O» (потребуется также подтвердить это)

  • закрой nano, нажав «Ctrl+X»

  • обнови конфиг grub, выполнив в терминале команду

sudo grub-update
  • осталось проверить результат. перезагрузи компьютер. должно появится меню загрузчика как минимум из 2 пунктов. оно должно показываться 5 секунд, если за это время не сделать выбор загрузиться Mint

я эту часть проверить на ошибки не могу. поэтому использование google обязательно. Удачи!

anonymous ()
Ответ на: комментарий от KILLERIX_FX

Как и какой программой ты редактируешь файл? Если в графическом редакторе, то порой бывает не совсем тривиально открыть файл через файл-менеджер под рутом.

Если уже смог в vi/vim, то используй его: sudo vim /etc/default/grub (ну, или какой ты файл правишь)

lovermann ()
Ответ на: комментарий от lovermann

ТС говорит:

Что мне сделать, если я даже не умею здесь пользоваться терминалом?

замечательный совет:

Если уже смог в vi/vim, то используй его: sudo vim /etc/default/grub

ждем следующий тред

мне посоветовали отредактировать файл в vi. и у меня…

anonymous ()
Ответ на: комментарий от anonymous

Всё сделал как вы сказали, только перед этим (гугл в помощь) скачал Grub Customizer и настроил через него файл. Теперь отобразилось меню выбора ОС при загрузке, но там были три пункта:

  1. Linux Mint
  2. Дополнительные параметры Linux Cinnamon или как-то так
  3. Setup System, которая вела в UEFI Это было страшно видеть, что Windows отсутствует в этом списке. Потом через редактор nano прописал и сохранил, но при выполнении команды «sudo grub-update» терминал пишет, что такой команды нет, а если я меняю (по руководству) порядок на «sudo update-grub», то он пишет, что для выполнения этой команды требуются права суперпользователя, а я не понимаю, как ему их дать
KILLERIX_FX ()
Ответ на: комментарий от KILLERIX_FX

Самое обидное, что у меня даже отображаются диски с данными. Один из них прям и называется: «OS Windows 8.1 PRO» с файлами всеми Windows. Может через него как-то можно запустить её?

KILLERIX_FX ()

https://losst.ru/nastrojka-zagruzchika-grub Почитай вот здесь, там есть несколько разных способов. Рекомендую разобраться и настроить grub вручную. Графическую утилиту я ни разу не использовал, потому не знаю, насколько она хорошо работает. Плюс придется ее ставить скорее всего через ppa.

another ★★★★★ ()
Ответ на: комментарий от KILLERIX_FX

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

  • установить пакет os-prober и «найти и добавить» windows в конфиг grub с его помощью. Подробности погугли.
  • разобраться с ручной правкой конфига. (от советов я воздержусь по-меньшей мере пока)
  • загрузить windows из командной строки grub. Только я не уверен, что тебя такой метод устроит.

Setup System, которая вела в UEFI

это именно настройки BIOS/UEFI были или «черная консоль»?

при выполнении команды «sudo grub-update» терминал пишет, что такой команды нет,

сорри, протупил :(

а если я меняю (по руководству) порядок на «sudo update-grub», то он пишет, что для выполнения этой команды требуются права суперпользователя, а я не понимаю, как ему их дать

это должно решиться следующими командами в терминале:

sudo bash

может затребовать пароль пользователя

update-grub
exit

exit – необходим для завершения оболочки суперпользователя.

anonymous ()
Ответ на: комментарий от anonymous

Попробуй сначала обновить конфиг grub. И посмотри в терминале добавился пункт с windows или нет?

Если я ничего не путаю, то grub.cfg будет в /boot/grub/ и команда

cat /boot/grub/grub.cfg | grep menuentry

выдаст список всех пунктов меню, в том числе и windows должен быть.

anonymous ()
Ответ на: комментарий от anonymous

После ввода команды: «update-grub exit» он начал ругаться на синтаксис того, что я написал в nano: «Добавление записи в загрузочное меню для конфигурации с микропрограммой EFI /etc/grub.d/40_custom: 3: /etc/grub.d/40_custom: menuentry: not found /etc/grub.d/40_custom: 4: /etc/grub.d/40_custom: regexp: not found /etc/grub.d/40_custom: 5: /etc/grub.d/40_custom: chainloader: not found /etc/grub.d/40_custom: 6: /etc/grub.d/40_custom: Syntax error: «}» unexpected» P.S. Несколько строчек кода сверху я не стал писать Вроде я в nano написал без ошибок, в гугле информации только не нашёл

KILLERIX_FX ()
Ответ на: комментарий от KILLERIX_FX

Не надо ничего удалять или переустанавливать. Можешь, пока с grub не решиться, в System Setup выбрать загрузку windows. Mint при этом грузиться перестанет. Не знаю может там и настроить можно загрузку разных ОС, хотя это вряд ли.

anonymous ()
Ответ на: комментарий от KILLERIX_FX

в общем я разобрался, где тебя подставил :(

сохрани этот текст, как /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" {
 regexp -s root '\((.+)\)' "$cmdpath"
 chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
anonymous ()
Ответ на: комментарий от KILLERIX_FX

я выложил этот файл на pastebin

тебе нужно его загрузить и «залить» в /etc/grub.d/40_custom командами

sudo bash
cat "имя загруженного файла" > /etc/grub.d/40_custom

проверить права и пользователя (в этой чехарде могло что-то изменится)

ls -l /etc/grub.d/40_custom

правильный ответ

-rwxr-xr-x 1 root root ...

троеточием я заменил неважный нам вывод, если будет что-то другое пиши что не так. если всё совпало, обновляй конфиг.

и закрой оболочку суперпользователя командой exit.

anonymous ()
Ответ на: комментарий от anonymous

Простите, наверное глупый вопрос, но не могу не много разобраться. Терминал постоянно, как бы я не записывал, пишет «Нет такого файла или каталога», когда я прописываю имя загружаемого файла

KILLERIX_FX ()
Ответ на: комментарий от KILLERIX_FX

он же в каталоге Download (Загрузки или иначе как-то), а терминал вероятно в домашней директории пользователя. Не обижайся, я всё забываю что многое тебе неочевидно…

выполни в терминале

find ./ -name "имя файла"
anonymous ()
Ответ на: комментарий от KILLERIX_FX

я вот думаю «а не ошибся ли я снова?». конфиг не обновляется?

тогда

sudo chmod +x /ect/grub.d/40_custom
ls -l /ect/grub.d/40_custom
less /ect/grub.d/40_custom

первая команда вернет права на исполнение файла. вторая позволит в этом убедиться. третья покажет содержимое файла

anonymous ()
Ответ на: комментарий от anonymous

О, после второй команды вывелось то, что нам требовалось: «-rwxr-xr-x 1 root root», вошёл в оболочку суперпользователя, ещё раз убедился в том, что вывелось то, что нам надо, обновил конфиг и опять вывелись эти ошибки: «https://pastebin.com/p7Lp1dVn»

KILLERIX_FX ()
Ответ на: комментарий от anonymous

Получилось! Разыскал в интернете команду по удалению файлов, разобрался, что эти файлы «40.custom.save.1» и т.д. понасоздавал я сам, видимо через Nano, когда разбирался в его функционале. Сейчас обновил конфиг с правами суперпользователя и мне написало: «Добавление записи в загрузочное меню для конфигурации с микропрограммой EFI завершено» - Это хороший знак?

KILLERIX_FX ()
Ответ на: комментарий от KILLERIX_FX

молодец, догадался убрать не нужное.

мне написало: «Добавление записи в загрузочное меню для конфигурации с микропрограммой EFI завершено» - Это хороший знак?

думаю, да. посмотри grub.cfg

cat /boot/grub/grub.cfg|grep windows

или

less /boot/grub/grub.cfg

если добавился пункт с windows, пора проверять работоспособность этого пункта :)

Удачи!

anonymous ()
Ответ на: комментарий от KILLERIX_FX

пункта с Windows так и не появилось

Потому, что начали не с того конца.

Первое, что нужно сделать, выяснить, БИОС у тебя или УЕФИ. Вроде выяснили, что УЕФИ. Следующий шаг, какой режим включен в УЕФИ: ЕФИ или легаси.

Главное правило, все должно быть в одном режиме: УЕФИ, загрузчики, системы.

Без этого никакая магия не поможет тебе запускать системы.

Следующий шаг. Выяснить, в каком режиме запущен линукс. В файловом менеджере идешь в каталог /boot/grub. Если видишь в нем каталог i386-pc, то установлен грубПС. Если видишь каталог x86_64-efi, то установлен грубЕФИ. Зайди в каталог /sys/firmware. Если видишь там каталог efi, и в этом каталоге тоже есть файлы, то система запущена в режиме ЕФИ. Если каталога efi нет, то система запущена в режиме легаси. После этого выяснить, в каком режиме установлена Виндовс.

andytux ()

По идее все должно быть довольно просто (но это не точно).

Устанавливаешь os-prober или как то так, поищи в репозитории.

Затем: grub-install /boot/efi (убедись что efi раздел примонтирован- команда mount). Эта команда переустановит загрузчик.

Далее: grub-mkconfig -o /boot/grub/grub.cfg Эта команда сконфигурирует конфиг и выведет на экран разделы efi

reboot

PS в системе должен быть установлен efibootmgr

anonymous ()
Ответ на: комментарий от andytux

любезный, не в коем случае не ставлю под сомнение ваши знания и опыт, но

  • значительную часть этого треда я пытался помочь ТС добавить в меню grub пункт для загрузки Windows … и ничего не получилось. Действительно, магия какая-то :(

  • Оставим за скобками содержание этого пункта (я вполне допускаю, что там что-то может быть не верно), но вот почему он не добавляется в конфиг? Вопрос о его работоспособности не стоит на повестке дня просто потому, что он не добавляется в конфиг.

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

anonymous ()
Ответ на: комментарий от anonymous

можете пояснить почему его отвергают?

Учитывая опыт ТС, сам боюсь того момента, когда придется объяснять ему, как редактировать конфиг. Честно говоря, в голом терминале или с помошью nano я бы не рискнул это делать. Без MC как без рук.

andytux ()
Ответ на: комментарий от KILLERIX_FX

эти вещи не взаимосвязаны

  • пункт с Windows в меню загрузчика
  • загрузочные файлы винды

если есть и то и другое, то windows будет загружаться из меню загрузчика Mint. только и всего.

Ладно, давай действительно проверим есть ли там загрузчик Windows. Раздел /dev/sda7 должен быть примонтирован в точку /boot/efi примонтирован?

mount|grep sda7
anonymous ()
Ответ на: комментарий от andytux

ну, не знаю… человеческий фактор (в данном случае ТС) причина очевидная. мне показалось, что он быстро учиться и элементарные ошибки сам устраняет. вроде бы все исправили, а результата нет :(

я подумал, что вы свежим взглядом укажете на какой-то очевидный ляп… я вот не вижу ничего «криминального».

anonymous ()
Ответ на: комментарий от anonymous

укажете на какой-то очевидный ляп…

Иногда, при генерации конфига, udate-grub видит ошибки и даже создает конфиг, но с другим именем (не помню с каким), но действующим остается старый. Иногда ошибка может попасть в новый конфиг. В этом случае бывает так, что часть конфига до ошибки выводится на экран и работает, а часть после ошибки не выводится. Поэтому новый, непроверенный код лучще помещать в конце конфига. Есть шанс, что хотя-бы часть конфига до ошибки останется рабочей.

Сегодня попробовал, добавил твой код в 40_custom. Конфиг сгенерировался без ошибок. Проверить работу не могу, нет УЕФИ, да и винды нет. Если проанализировать, то вторая строка вроде правильная, но чтобы она сработала, в первой нужно как минимум установить правильное значение переменной root. Не очень знаком с командой regexp, не уверен, что она делает то, что нужно.

andytux ()
Ответ на: комментарий от anonymous

Продолжаем разговор. Решил практически посмотреть. В конфиг груба добавил код:

menuentry "Windows" {
  echo "[$root] $cmdpath"
 regexp -s root '\((.+)\)' "$cmdpath"
 echo '[$root]; sleep -v 16
 chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

До регекспа в переменной root (hd0,msdos1). Это было-бы правильным значенем. В переменной cmdpath (hd0). После регекспа в переменной root hd0, т.е. команда вырезала скобки. Но хоть со скобками, хоть без, это значение неверно. Загрузчик не будет найден.

andytux ()