восстановление загрузки NVMe-диска после копирования gparted

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

Я пытаюсь мигрировать на мой новый NVMe Samsung 950 pro.

chroot /mnt/boot-sav/nvme0n1p3 update-grub
grub-probe: ошибка: не удается найти GRUB-диск для /dev/sda1. Проверьте ваш device.map.

Процесс:

  • Скопировал/вставил через Gparted (последний gparted live-cd)
  • Запустил boot-repair (с 15.10 ubuntu desktop)
  • не удалось на update-grub

http://paste.ubuntu.com/13244403/

Старый диск имел:

  • sda1 fat32 EFI
  • sda2 ntfs
  • недоступно (пришлось уменьшить немного для нового диска)
  • sda3 ext4
  • sda4 linux-swap

Моя первая догадка: я больше не использую устройство с префиксом sd, а только с префиксом nvm.

Любые мысли/помощь приветствуются.

sudo fdisk -l

Устройство        Начало      Конец     Секторы   Размер Тип
/dev/nvme0n1p1     2048    206847    204800   100M Microsoft basic data
/dev/nvme0n1p2   206848 487878655 487671808 232.6G Microsoft basic data
/dev/nvme0n1p3 487878656 864057343 376178688 179.4G Linux filesystem
/dev/nvme0n1p4 864057344 897484799  33427456    16G Linux swap

Устройство     Загрузка   Начало     Конец Секторы  Размер Id Тип
/dev/sda1  *          0 2301535 2301536  1.1G  0 Пусто
/dev/sda2       2279532 2284075    4544  2.2M  c W95 FAT32 (LBA)

Обновление 11/14/15

Это последняя попытка:

sudo mount /dev/nvme0n1p3 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

sudo cp --remove-destination /etc/resolv.conf /mnt/etc/resolv.conf

sudo chroot /mnt
grub-install --efi-directory=/boot/efi --target=x86_64-efi --uefi-secure-boot 

Результаты:

Установка завершена. Ошибок не сообщено.

$ update-grub
grub-probe: ошибка: не удается найти GRUB-диск для /dev/sda1. Проверьте ваш device.map.

Когда я смотрю в /boot/grub, у меня НЕТ device.map. Я читал, что он не нужен для grub2, но я его сгенерировал, запустил update-grub и столкнулся с тем же сообщением, что и выше.

Я все равно попробовал перезагрузиться, и мой EFI показывает только Windows Boot Manager как загрузочный элемент, в результате чего я попадаю на экран восстановления Windows. Раздел Ubuntu не указан как загрузочный диск в EFI.

sudo fdisk -l

Затем посмотрите, на каком разделе установлен ubuntu (тип файла ext4), затем:

sudo mount -t ext4 /dev/sda6 /mnt 

(признавая, что sda6 — это мой раздел ubuntu)

и потом

sudo grub-install --root-directory=/mnt /dev/sda

это переустановит grub и увидит все остальные ОС, которые у вас есть, и организует их.

Это определенно должно сработать.

Устройство        Начало      Конец     Секторы   Размер Тип
/dev/nvme0n1p1     2048    206847    204800   100M Microsoft basic data
/dev/nvme0n1p2   206848 487878655 487671808 232.6G Microsoft basic data
/dev/nvme0n1p3 487878656 864057343 376178688 179.4G Linux filesystem
/dev/nvme0n1p4 864057344 897484799  33427456    16G Linux swap

Здесь я не вижу EFI-раздела, а также отдельного загрузочного раздела.

Копирование каталога EFI в корень не сработает. Вам нужен отдельный раздел типа fat32, около 100 МБ, чтобы разместить каталог EFI.

Поэтому мой совет — сократить /dev/nvme0n1p2 справа, чтобы создать место для раздела efi.

Затем загрузитесь с Ubuntu Live Media.

Смонтируйте корневой раздел

sudo mount /dev/nvme0n1pX /mnt/

Смонтируйте efi-раздел

sudo mount /dev/nvme0n1pX /mnt/boot/efi

; замените X на фактический идентификатор устройства

Chroot и переустановите Grub

sudo chroot /mnt
grub-install

Спасибо всем за помощь. Я оказался на этом пути, потому что Clonezilla не распознавала nvme должным образом. Я старательно пытался заставить все это работать, но ни одна из попыток не удалась. В конце концов, я прибегнул к использованию dd для получения моего клона, и это сработало dd if=/dev/sdX of=/dev/sdY bs=512 count=1 conv=noerror,sync. Я действительно не хотел идти по этому пути, но это сработало.

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

Как восстановить загрузчик GRUB на NVMe-устройстве после копирования с помощью GParted

В данной ситуации вы пытаетесь перенести свою систему на новое NVMe-устройство Samsung 950 Pro и столкнулись с проблемами при обновлении загрузчика GRUB после выполнения операций с разделами с помощью GParted. Рассмотрим шаги, которые помогут вам решить возникшую проблему и успешно восстановить загрузчик.

Шаг 1: Проверка конфигурации разделов

Во-первых, необходимо убедиться, что на новом NVMe-накопителе существует EFI-раздел. В вашем случае, судя по выводу fdisk -l, вы не создали EFI-раздел, который необходим для работы с загрузчиком GRUB в режиме UEFI.

Вам необходимо создать EFI-раздел с размером около 100 МБ и форматировать его в FAT32. Этот процесс можно выполнить с помощью GParted Live CD.

  1. Загрузите систему с Live CD GParted.
  2. Уменьшите размер существующего раздела, чтобы освободить место для EFI-раздела.
  3. Создайте новый FAT32-раздел на освобожденном пространстве и пометьте его как EFI.

Шаг 2: Подключение нужных разделов

После создания EFI-раздела, вам нужно подключить корневой раздел и новый EFI-раздел для выполнения последующих команд:

sudo mount /dev/nvme0n1p3 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi  # Предполагается, что nvme0n1p1 - это ваш новый EFI-раздел
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

Шаг 3: Вход в chroot и установка GRUB

Теперь вы можете войти в окружение chroot для дальнейших операций:

sudo chroot /mnt

Внутри chroot выполните следующие команды для установки GRUB на ваше новое NVMe-устройство:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
update-grub

Шаг 4: Проверка конфигурации GRUB

Также стоит проверить файл /boot/grub/grub.cfg. Убедитесь, что в него добавлены все необходимые записи для вашей операционной системы. Если файл отсутствует или его настройки некорректны, GRUB может не увидеть установленную ОС.

Шаг 5: Проверка загрузчиков

Если после выполнения всех вышеуказанных шагов вы по-прежнему видите только "Windows Boot Manager" в меню загрузки, вам может понадобиться обновить настройки BIOS вашего компьютера. Убедитесь, что устройство NVMe настроено как первое в списке загрузочных устройств.

Кроме того, проверьте, активирован ли режим UEFI в BIOS. Если он отключен, включите его и протестируйте систему снова.

Переход на dd как крайний вариант

Если все предложенные шаги не сработают, как вы упомянули, можно использовать команду dd для клонирования:

dd if=/dev/sdX of=/dev/nvme0n1 bs=512 conv=noerror,sync

Здесь sdX — ваш старый диск, а nvme0n1 — новое NVMe-устройство. Этот метод, хотя и не идеален, может быть полезным, если другие варианты не дали результата.

Вывод

Убедитесь, что ваш раздел EFI существует и правильно настроен. Четко следуйте приведенным шагам для установки GRUB, и это должно помочь решить проблему. Если возникают дополнительные вопросы, не стесняйтесь искать помощь из документации или сообществ, специализирующихся на Linux и GRUB.

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

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