- Вопрос или проблема
- Процесс:
- Ответ или решение
- Как восстановить загрузчик GRUB на NVMe-устройстве после копирования с помощью GParted
- Шаг 1: Проверка конфигурации разделов
- Шаг 2: Подключение нужных разделов
- Шаг 3: Вход в chroot и установка GRUB
- Шаг 4: Проверка конфигурации GRUB
- Шаг 5: Проверка загрузчиков
- Переход на dd как крайний вариант
- Вывод
Вопрос или проблема
Я пытаюсь мигрировать на мой новый 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.
- Загрузите систему с Live CD GParted.
- Уменьшите размер существующего раздела, чтобы освободить место для EFI-раздела.
- Создайте новый 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.