
我有一台配備 500GB SSD 的雙啟動 (Windows/Linux) 筆記型電腦,並使用下面描述的程序將 SSD 更換為 1TB SSD。當我重新啟動時,它直接啟動到 Windows,沒有 grub 選單。為什麼會發生這種情況?
這就是我所做的:
- 從即時啟動棒啟動筆記型電腦(運行 Linux Mint)
- 使用 dd 將整個 500GB SSD 複製到網路磁碟機
- 關閉筆記型電腦並將 SSD 更換為 1GB SSD。
- 使用即時啟動棒再次啟動,並使用 dd 將網路磁碟機上的檔案複製回 SSD。
- 無需即時啟動棒即可重新啟動
我知道這會使我的新 SSD 的一半未使用;我希望稍後能解決這個問題。
dd 運作正常,或至少我可以從引導棒掛載所有分割區,包括活動分割區。這是以下的輸出fdisk -l
:
Disk /dev/loop0: 1.8 GiB, 1912557568 bytes, 3735464 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
GPT PMBR size mismatch (1000215215 != 1953525167) will be corrected by write.
The backup GPT table is not on the end of the device. This problem will be corrected by write.
Disk /dev/nvme0n1: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: KINGSTON SKC2500M81000G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 282E2059-1738-4156-802F-50E4A4E71652
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1026047 1024000 500M EFI System
/dev/nvme0n1p2 1026048 1288191 262144 128M Microsoft reserved
/dev/nvme0n1p3 1288192 205020339 203732148 97.2G Microsoft basic data
/dev/nvme0n1p4 205021184 206086143 1064960 520M Windows recovery environment
/dev/nvme0n1p5 206088192 214087679 7999488 3.8G Linux swap
/dev/nvme0n1p6 214087680 969730047 755642368 360.3G Linux filesystem
/dev/nvme0n1p7 969730048 970651647 921600 450M Microsoft basic data
/dev/nvme0n1p8 970651648 997961727 27310080 13G Windows recovery environment
/dev/nvme0n1p9 997961728 1000204287 2242560 1.1G Windows recovery environment
Disk /dev/mapper/vg-root: 60 GiB, 64424509440 bytes, 125829120 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/vg-home: 300.32 GiB, 322462285824 bytes, 629809152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 14.93 GiB, 16008609792 bytes, 31266816 sectors
Disk model: Cruzer Blade
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5b137364
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 0 3974271 3974272 1.9G 0 Empty
/dev/sda2 632 8567 7936 3.9M ef EFI (FAT-12/16/32)
/dev/sda3 3977216 31266815 27289600 13G 83 Linux
我嘗試使用以下命令(來自即時啟動棒)重新安裝 grub。這些命令有助於在早期的 Windows 更新後恢復 grub,並且在運行時沒有錯誤,但這次沒有恢復 grub。
mount /dev/mapper/vg-root /mnt
mkdir /efi
mount /dev/nvme0n1p1 /efi
grub-install --directory=/mnt/usr/lib/grub/x86_64-efi --boot-directory=/mnt/boot --efi-directory=/efi
問題是否是由新磁碟的 UUID 不同引起的?我可能是錯的,但據我所知,磁碟 UUID 儲存在磁碟本身上,因此應該與其餘資料一起複製。那麼,可能出了什麼問題以及如何重新啟動 grub?
以下是一些硬體詳細資訊:
筆記型電腦:戴爾 XPS 15 (9550)
舊SSD:PM951 NVMe SAMSUNG 512GB
新款固態硬碟:金士頓科技 KC2500 M.2 1000 GB PCI Express 3.0 3D TLC NVMe