使用 dd 克隆后无法查看分区

使用 dd 克隆后无法查看分区

我使用以下命令将 250GB SSD 克隆到 500GB SSD:

sudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress

从进度来看,克隆过程似乎进展顺利。在开始将不存在的空间从较小的磁盘克隆到较大的磁盘后,它确实开始出错(在尝试复制 239 GB 左右的数据后出现输入/输出错误),但我认为这是正常的。

我将两个 SSD 外部连接到运行 Ubuntu 16.04 的计算机来执行此操作。之后,我将原来的 SSD 驱动器放回笔记本电脑,启动,并尝试可视化通过 USB 连接的新克隆 SSD 的内容:

sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

这是我所期望的(大致):

sdb            460G            
├─sda4 ntfs     1000M            WinRE_DRV
├─sda2            16M            
├─sda5 ext4       28G /          
├─sda3 ntfs    139,6G            Windows
├─sda1 vfat      260M /boot/efi  SYSTEM
└─sda6 ext4     69,7G /home 
[sd7 with extra space?]

sda            238,5G            
├─sda4 ntfs     1000M            WinRE_DRV
├─sda2            16M            
├─sda5 ext4       28G /          
├─sda3 ntfs    139,6G            Windows
├─sda1 vfat      260M /boot/efi  SYSTEM
└─sda6 ext4     69,7G /home    

...但这就是我得到的:

sdb           1023,8M            
sda            238,5G            
├─sda4 ntfs     1000M            WinRE_DRV
├─sda2            16M            
├─sda5 ext4       28G /          
├─sda3 ntfs    139,6G            Windows
├─sda1 vfat      260M /boot/efi  SYSTEM
└─sda6 ext4     69,7G /home    

上面sda是我的主 250GB 驱动器,也是sdb新驱动器。克隆之前,sdb它关联了大约 460G 的空间,没有分区。

为什么sdb显示没有任何分区?为什么它与 1023,8M 而不是 ~500G 相关联?

编辑:重新启动后,第二个 SSD 通过 USB 连接,我得到:

NAME   FSTYPE   SIZE MOUNTPOINT LABEL
sdb           465,8G            
├─sdb4         1000M            
├─sdb2           16M            
├─sdb5           28G            
├─sdb3        139,6G            
├─sdb1 vfat     260M            SYSTEM
└─sdb6         69,7G            
sda           238,5G            
├─sda4 ntfs    1000M            WinRE_DRV
├─sda2           16M            
├─sda5 ext4      28G /          
├─sda3 ntfs   139,6G            Windows
├─sda1 vfat     260M /boot/efi  SYSTEM
└─sda6 ext4    69,7G /home 

这要好得多,但仍然不是我想要看到的。为什么 ntfs 和 ext4 文件系统类型不可见?为什么剩余的 ~220G 没有显示在任何地方?

编辑#2:这是输出sudo fdisk -l

Disk /dev/sda: 238,5 GiB, 256060514304 bytes, 500118192 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: 214236EA-A3F6-48D6-876E-E94A1F829226

Device         Start       End   Sectors   Size Type
/dev/sda1       2048    534527    532480   260M EFI System
/dev/sda2     534528    567295     32768    16M Microsoft reserved
/dev/sda3     567296 293269503 292702208 139,6G Microsoft basic data
/dev/sda4  498069504 500117503   2048000  1000M Windows recovery environment
/dev/sda5  293269504 351862783  58593280    28G Linux filesystem
/dev/sda6  351862784 498069503 146206720  69,7G Linux filesystem

Partition table entries are not in disk order.


GPT PMBR size mismatch (500118191 != 976773166) will be corrected by w(rite).
Disk /dev/sdb: 465,8 GiB, 500107861504 bytes, 976773167 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: 214236EA-A3F6-48D6-876E-E94A1F829226

Device         Start       End   Sectors   Size Type
/dev/sdb1       2048    534527    532480   260M EFI System
/dev/sdb2     534528    567295     32768    16M Microsoft reserved
/dev/sdb3     567296 293269503 292702208 139,6G Microsoft basic data
/dev/sdb4  498069504 500117503   2048000  1000M Windows recovery environment
/dev/sdb5  293269504 351862783  58593280    28G Linux filesystem
/dev/sdb6  351862784 498069503 146206720  69,7G Linux filesystem

我注意到有两点不太对劲。首先,这个警告/错误以红色显示:GPT PMBR size mismatch (500118191 != 976773166) will be corrected by w(rite).。其次,两个 SSD 具有相同的磁盘标识符号。

答案1

我觉得有些地方不对劲,至少克隆的副本是这样的。也许在 [原始驱动器和克隆副本] 都连接的情况下,从其中一个驱动器启动时损坏了某些东西。

  • 请仔细检查,当原始驱动器单独安装在计算机中时,它是否仍能正常工作。

    如果是,我认为最好再次克隆。请从第三个驱动器启动(例如带有实时 Ubuntu 系统的 USB 闪存盘或 Clonezilla 实时驱动器)。您可以下载 Clonezilla iso 文件并创建启动驱动器,然后使用 Clonezilla 进行克隆,

    clonezilla.org

    它比 更安全、更快捷dd

  • 克隆操作完成后关闭计算机。

  • 将原始驱动器和克隆副本分开放置。切勿在其中一个驱动器处于连接状态时从另一个驱动器启动。

  • 启动实时系统并运行gdisk以修复克隆副本末尾的备份分区表。之后检查gdisk驱动器是否满意,即不会抱怨分区表。gpt-fix根据此链接,您可能会发现该脚本很方便,

    help.ubuntu.com/community/Installation/UEFI-and-BIOS/stable-alternative#gpt-fix

  • 现在您可以从克隆副本启动计算机(应移除原始驱动器)。它应该与原始系统完全一样工作。

  • 完成此测试后,您可以编辑分区表以开始使用仍未分配的驱动器空间(通过增加某些现有分区的大小或创建新分区)。请注意,如果您移动分区的头端/boot(根分区或单独的启动分区),您还必须修复/重新安装 grub。

相关内容