gparted 복사 후 NVMe 드라이브 부팅 복구

gparted 복사 후 NVMe 드라이브 부팅 복구

새로운 NVMe Samsung 950 pro로 마이그레이션하려고 합니다.

chroot /mnt/boot-sav/nvme0n1p3 update-grub
grub-probe: error: cannot find a GRUB drive for /dev/sda1.  Check your device.map.

프로세스:

  • Gparted를 통해 복사/붙여넣기(마지막 gparted live-cd)
  • 부팅 복구 실행(15.10 우분투 데스크탑 사용)
  • 실패update-grub

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

이전 드라이브에는 다음이 있었습니다.

  • sda1 fat32 EFI
  • sda2 NTFS
  • 할당되지 않음(새 드라이브에 대해 소량을 줄여야 함)
  • sda3 ext4
  • sda4 리눅스 스왑

내 첫 번째 추측은 더 이상 을 사용하지 sd않고 nvm접두사가 붙은 장치를 사용하고 있다는 것입니다.

어떤 생각이나 도움이라도 주시면 감사하겠습니다.

sudo fdisk -l

Device             Start       End   Sectors   Size Type
/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

Device     Boot   Start     End Sectors  Size Id Type
/dev/sda1  *          0 2301535 2301536  1.1G  0 Empty
/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 

결과:

Installation finished. No error reported.

$ update-grub
grub-probe: error: cannot find a GRUB drive for /dev/sda1.  Check your device.map.

내가 볼 때 /boot/grub나는 그렇습니다아니다가지고있다 device.map. grub2에는 필요하지 않다는 것을 읽었지만 하나를 생성하고 실행하여 update-grub위와 동일한 메시지를 만났습니다.

어쨌든 재부팅을 시도했지만 EFI에는 Windows Boot Manager부팅 가능한 항목으로만 표시되어 Windows 복구 화면에 표시됩니다. Ubuntu 파티션은 EFI에서 부팅 가능한 드라이브로 나열되지 않습니다.

답변1

sudo fdisk -l

그런 다음 우분투가 설치된 파티션(ext4 파일 유형)을 확인하십시오.

sudo mount -t ext4 /dev/sda6 /mnt 

(sda6이 내 우분투 파티션임을 인정)

그런 다음

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

이렇게 하면 grub을 다시 설치하고 보유하고 있는 다른 모든 OS를 확인하고 모두 정리할 수 있습니다.

답변2

이것은 확실히 작동합니다.

Device             Start       End   Sectors   Size Type
/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 디렉터리를 루트에 복사하면 작동하지 않습니다. EFI 디렉토리를 보관하려면 약 100MB의 fat32 유형의 별도 파티션이 필요합니다.

따라서 여기서 제 조언은 /dev/nvme0n1p2를 오른쪽에서 축소하여 efi 파티션을 위한 공간을 만드는 것입니다.

그런 다음 Ubuntu Live Media로 부팅합니다.

루트 파티션 마운트

sudo mount /dev/nvme0n1pX /mnt/

efi 파티션 마운트

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

; 바꾸다엑스실제 장치 ID로

Chroot 및 Grub 재설치

sudo chroot /mnt
grub-install

답변3

모든 도움을 주셔서 감사합니다. Clonezilla가 제대로 인식하지 못하기 때문에 이 경로로 이동하게 되었습니다 nvme. 나는 이 모든 것이 작동하도록 부지런히 노력했지만 시도한 것 중 어느 것도 작동하지 않았습니다. 결국 나는 dd복제본을 얻기 위해 를 사용했고 결국 작동하게 되었습니다 dd if=/dev/sdX of=/dev/sdY bs=512 count=1 conv=noerror,sync. 나는 정말로 이 길을 가고 싶지 않았지만 결국 성공했습니다.

관련 정보