
我正在嘗試遷移到我的新 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
。我真的不想走這條路,但最後還是成功了。