Почему обе операционные системы отображаются на одном диске при двойной загрузке?

Вопрос или проблема

Я работал над тем, чтобы добавить Ubuntu на мой ПК для ROS2. Я добавил Samsung 990 в свой компьютер, чтобы установить его на отдельный SSD.

Сначала я выбрал “Попробовать Ubuntu” и запустил lsblk –nvme. Это показало мне, что nvme0n1 – это старый Samsung 970 (на котором у меня Windows), а nvme1n1 – это Samsung 990, новый пустой диск.

Я попытался установить Ubuntu с помощью “Стереть диск и установить Ubuntu” и указал nvme1n1, однако после завершения установки BIOS показал, что Ubuntu находится на 970, а загрузка Windows пропала.

Затем я попробовал загрузку с флешки с установкой Windows и указал Диск 1. Похоже, это сработало правильно; теперь я могу загружать как Windows, так и Ubuntu из BIOS.

Тем не менее, моя единственная проблема заключается в том, что в BIOS, в разделе Приоритет загрузки, указано…

  • Диспетчер загрузки Windows (M.2_3: Samsung SSD 970 EVO Plus 1 TB)
  • Ubuntu (M.2_3: Samsung SSD 970 EVO Plus 1 TB)

То есть, они оба находятся на 970, хотя в GParted, похоже, показывает, что все файлы Microsoft/ntfs на nvme1 (см. изображение ниже). Кроме того, когда GRUB впервые открывается перед загрузкой Linux, нет возможности запустить Windows, мне нужно запускать его из BIOS.

GParted показывает, что Ubuntu на nvme0, а Windows на nvme1:

IMAGE: GParted показывает, что ubuntu на nvme0, а windows на nvme1

Кто-нибудь знает, что вызвало несоответствие между моей установкой и тем, что показывает BIOS? Спасибо!

Это не несоответствие, это только загрузчик, который был установлен в уже существующий ESP (раздел EFI системы).

Вы можете проверить с помощью команды терминала lsblk -f в Ubuntu, какие разделы используются для вашего /-раздела и ESP.

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

GRUB_DISABLE_OS_PROBER=false

в /etc/default/grub и выполнить sudo update-grub после этого.

Но прежде чем это делать, просто выполните sudo update-grub и посмотрите на его вывод, он точно скажет вам, проверяет ли grub другие операционные системы или нет. Вот пример из моей системы:

~$ sudo update-grub
[sudo] пароль для mook: 
Подключение файла `/etc/default/grub'
Генерация файла конфигурации grub ...
Найдены изображения linux: /boot/vmlinuz-6.8.0-48-generic
Найдено изображение initrd: /boot/initrd.img-6.8.0-48-generic
Найдены изображения linux: /boot/vmlinuz-6.8.0-47-generic
Найдено изображение initrd: /boot/initrd.img-6.8.0-47-generic
Предупреждение: os-prober будет выполнен для обнаружения других загрузочных разделов.
Его вывод будет использоваться для обнаружения загрузочных бинарных файлов и создания новых записей загрузки.
Найден Ubuntu 22.04.4 LTS (22.04) на /dev/sdc4
Найден Ubuntu 24.04.1 LTS (24.04) на /dev/sdc5
Добавление записи меню загрузки для настроек UEFI Firmware ...
Найдено изображение memtest86+ 64bit EFI: /boot/memtest86+x64.efi
готово

Ответ или решение

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

Контекст

Вы установили Ubuntu на новый SSD Samsung 990, в то время как Windows находится на старом SSD Samsung 970. После попытки установки Ubuntu с выбором опции «Стереть диск и установить Ubuntu» и указанием nvme1n1 (новый диск), вы заметили, что BIOS теперь отображает оба загрузчика на 970. Это создало неоднородность между отображаемыми дисками в BIOS и тем, что показывает GParted.

Основные причины проблемы

  1. Загрузка и EFI: Ситуация, когда оба операционных системы отображаются на одном и том же SSD в BIOS, объясняется тем, как система управления загрузкой (например, GRUB) устанавливается. Во время установки Ubuntu загрузчик GRUB может быть установлен во встроенный EFI-системный раздел на SSD 970, а не на 990, что и вызывает его отображение в списке загрузки.

  2. ESP (EFI System Partition): Когда вы устанавливали Ubuntu и выбрали опцию «Стереть диск», у вас, вероятно, не было полной уверенности, какой именно EFI системный раздел (ESP) будет использоваться для загрузки. Если в BIOS у вас уже был установлен загрузчик Windows в ESP на 970, Ubuntu мог выбрать этот же раздел в качестве точки установки GRUB. Это приводит к тому, что видно как Windows, так и Ubuntu загружаются через один и тот же раздел.

Решения проблемы

Чтобы исправить данную ситуацию и добиться корректного отображения операционных систем, вам следует выполнить несколько действий:

  1. Проверка разделов: Используйте команду lsblk -f в терминале Ubuntu для проверки, какие разделы используются для корневой (/) файловой системы и ESP. Это поможет вам понять, действительно ли GRUB установлен на SSD 970.

  2. Обновление конфигурации GRUB: Ваша текущая проблема заключается в том, что GRUB не обнаруживает Windows при загрузке. Для этого выполните sudo update-grub. Посмотрите на вывод этой команды, он должен указать, ищет ли GRUB другие операционные системы. Если обнаружение отключено, добавьте строку GRUB_DISABLE_OS_PROBER=false в файл /etc/default/grub и снова выполните sudo update-grub.

  3. Проблемы с гибернацией Windows: Обратите внимание, что Windows может быть в состоянии гибернации. Если это так, это может помешать GRUB увидеть другую операционную систему. Убедитесь, что Windows полностью выключена, а не в состоянии гибернации.

Заключение

Таким образом, проблема, с которой вы столкнулись, связана с установкой загрузчика GRUB в разделе EFI на SSD 970 и его неправильной конфигурацией, что мешает корректному обнаружению Windows. Следуя вышеизложенным шагам, вы сможете привести вашу систему к нормальному состоянию и настроить правильную конфигурацию загрузки.

Если возникнут трудности, то не стесняйтесь обращаться за дополнительной помощью, и я с радостью помогу вам!

Оцените материал
Добавить комментарий

Капча загружается...