使用dd将ssd复制到hdd,hdd无法启动

使用dd将ssd复制到hdd,hdd无法启动

我正在尝试将 64G SSD 上的 ubuntu 20.04 复制到两台计算机之间的 160G HDD。

我已经使用 dd 创建了 SSD 磁盘映像并将映像恢复到 HDD。然而,带有 HDD 的新系统在 Linux 引导加载程序之前卡在引导屏幕(PCI 设备列表)上。

这是磁盘映像信息。

~$ file /mnt/usb/linux.iso
/mnt/usb/linux.iso: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x3ff,255,63), startsector 1, 125045423 sectors, extended partition table (last)

~$ sfdisk -l /mnt/usb/linux.iso
GPT PMBR size mismatch (125045423 != 125045503) 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 /mnt/usb/linux.iso: 59.64 GiB, 64023298048 bytes, 125045504 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
Disklabel type: gpt
Disk identifier: BBF8B52F-C483-418B-9A3C-22A48CEC051A

Device                Start       End   Sectors  Size Type
/mnt/usb/linux.iso1    2048   1050623   1048576  512M EFI System
/mnt/usb/linux.iso2 1050624   3147775   2097152    1G Linux filesystem
/mnt/usb/linux.iso3 3147776 125042687 121894912 58.1G Linux filesystem

这是SSD信息。

~$ sudo parted -l
Model: ATA INTEL SSDSCKKR06 (scsi)
Disk /dev/sda: 64.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  538MB   537MB   fat32              boot, esp
 2      538MB   1612MB  1074MB  ext4
 3      1612MB  64.0GB  62.4GB 

更新

我还在源计算机上运行了以下命令:

~$ efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000
Boot0000* ubuntu    HD(1,GPT,6931776f-1471-44d8-bd59-29746673cdb1,0x800,0x100000)/File(\EFI\UBUNTU\SHIMX64.EFI)


~$ ls -lR /boot/efi/EFI/
/boot/efi/EFI/:
total 8
drwxr-xr-x 2 root root 4096 Aug 16 14:56 BOOT
drwxr-xr-x 2 root root 4096 Aug 16 14:56 ubuntu

/boot/efi/EFI/BOOT:
total 1860
-rwxr-xr-x 1 root root 954592 Aug 16 14:56 BOOTX64.EFI
-rwxr-xr-x 1 root root  85672 Aug 16 14:56 fbx64.efi
-rwxr-xr-x 1 root root 856232 Aug 16 14:56 mmx64.efi

/boot/efi/EFI/ubuntu:
total 3480
-rwxr-xr-x 1 root root     108 Aug 16 14:56 BOOTX64.CSV
-rwxr-xr-x 1 root root     121 Aug 16 14:56 grub.cfg
-rwxr-xr-x 1 root root 1734528 Aug 16 14:56 grubx64.efi
-rwxr-xr-x 1 root root  856232 Aug 16 14:56 mmx64.efi
-rwxr-xr-x 1 root root  954592 Aug 16 14:56 shimx64.efi

目标机器与源机器具有相同的 /boot/efi/EFI/ 内容。

我不太熟悉这个领域,因此非常感谢详细说明。谢谢!

答案1

如果您只是想将整个系统从较小的驱动器移动到较大的驱动器,请尝试磁盘映像实用程序。我在 Clonezilla 上运气很好(https://clonezilla.org/downloads/download.php?branch=stable)。

从理论上讲, dd 应该有效,但在实践中,可能会出现一些细微差别。最简单的方法是使用比 dd 更智能的东西。

答案2

gdisk使用GPT,一旦映像被转储,就需要在目标驱动器上运行,只需点击w写入,它就会纠正一些错误,它会在写入或验证时通知您。我一直这样做,所以如果您正确复制了映像,我相信这可以解决您的启动问题。

相关内容