我正在尝试将 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
写入,它就会纠正一些错误,它会在写入或验证时通知您。我一直这样做,所以如果您正确复制了映像,我相信这可以解决您的启动问题。