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 Ubuntu デスクトップを使用)
  • 失敗したupdate-grub

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

古いドライブには次のものがありました:

  • sda1 fat32 EFI
  • sda2 ntfs
  • 未割り当て(新しいドライブ用に少し縮小する必要がありました)
  • sda3ext4 の
  • sda4 Linux スワップ

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 で起動可能なドライブとしてリストされていません。

答え1

sudo fdisk -l

次に、Ubuntu がインストールされているパーティションを確認します (ext4 ファイル タイプ)。

sudo mount -t ext4 /dev/sda6 /mnt 

(sda6 が私の Ubuntu パーティションであることを認めます)

その後

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 ディレクトリを保持するには、約 100 MB の fat32 タイプの別のパーティションが必要です。

したがって、ここでの私のアドバイスは、efi パーティション用のスペースを作成するために、/dev/nvme0n1p2 を右から縮小することです。

次に、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。この方法を採用したくなかったのですが、うまくいきました。

関連情報