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

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

舊驅動器有:

  • sda1 fat32 電噴
  • sda2 ntfs
  • 未分配(必須為新磁碟機縮小少量)
  • SDA3 擴展4
  • 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 並查看您擁有的所有其他作業系統並組織它們。

答案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 目錄複製到根目錄將無法運作。您需要 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

答案3

謝謝各位的幫忙。我最終走上了這條路,因為 Clonezilla 無法nvme正確識別。我已經努力地嘗試讓這一切發揮作用,但所有嘗試都不起作用。最後,我求助於 usingdd來獲取我的克隆,它最終成功了dd if=/dev/sdX of=/dev/sdY bs=512 count=1 conv=noerror,sync。我真的不想走這條路,但最後還是成功了。

相關內容