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)
  • Ran boot-repair(15.10 ubuntu桌面)
  • update-grub上失败了

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

旧车有:

  • sda1 fat32 EFI
  • sda2 ntfs
  • 未分配(不得不为新驱动器缩小一小部分)
  • sda3 ext4
  • sda4 linux-swap

我的第一个猜测是我不再使用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) 

2015年11月14日更新

这是最新的尝试:

 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中列为可引导驱动器。

 sudo fdisk -l 

那么,看看你安装了ubuntu的分区(ext4 filetype)然后:

 sudo mount -t ext4 /dev/sda6 /mnt 

(承认sda6是我的ubuntu分区)

然后

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

这将重新安装grub,并查看所有其他操作系统,并组织所有这些操作系统。

这绝对有用。

 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目录复制到root将不起作用。 您需要fat32类型的单独分区,大约100MB来保存EFI目录。

所以我的建议是从右边缩小/ dev / nvme0n1p2为efi分区创建空间。

然后启动到Ubuntu Live Media。

装山根分区

 sudo mount /dev/nvme0n1pX /mnt/ 

挂载efi分区

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

; 将X替换为实际的设备ID

Chroot并重新安装Grub

 sudo chroot /mnt grub-install 

谢谢各位的帮助。 我最终走上了这条道路,因为Clonezilla不会正确识别nvme 。 我努力工作以使所有这一切工作,但没有一个尝试会工作。 最后,我使用dd来获取我的克隆,并且它最终工作dd if=/dev/sdX of=/dev/sdY bs=512 conv=noerror,sync 。 我真的不想走这条路,但它最终工作了。