我正在尝试将可启动的 1GB 紧凑型闪存克隆到第二个 1GB 紧凑型闪存,但是当我尝试安装它时,出现如下错误,
sudo 安装 /dev/sdb1 /media/frank/cloned/
frank@ThinkPad2:~$ sudo mount /dev/sdb1 /media/frank/cloned/
mount: /media/frank/cloned: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error.
我使用单个 USB CF 驱动器并交换原始 CF 和目标 CF。它似乎正在复制所有内容,甚至复制到 UUID(不确定这是否不好),但我无法安装克隆的 CF,或探索它。以下是我正在采取的步骤。
我克隆的CF是ext3。当我将卡插入驱动器时,它会自动安装并显示为 **/dev/sdb1 安装在 /media/frank/c44c8412-bf87-4fa4-a6fa-8259aa78bd24 **
我用命令格式化了目标CFmkfs.ext3 /dev/sdb1
然后使用从原始 CF 复制dd if=dev/sdb1 of=/home/frank/CFdisk.image
要检查图像是否良好: 安装 -o 循环 CFdisk.image /media/frank/compactflash
然后..ls /media/frank/compactflash
frank@ThinkPad2:~$ ls /media/frank/compactflash/
bin etc lib mnt proc sbin sys var
boot fifos lost+found opt root share tmp vmcores
dev home media overlay run srv usr www
所以看起来 CFdisk.image 文件已被正确复制。
然后将目标CF放入驱动器中,运行LSBLK我看到它在/dev/sdb1
使用ddif=CFdisk.image /dev/sdb1
之后就不会自动挂载了。如果我尝试手动将其安装到目录中, sudo 安装 /dev/sdb1 /media/frank/cloned/然后我收到错误....
frank@ThinkPad2:~$ sudo mount /dev/sdb1 /media/frank/cloned/
mount: /media/frank/cloned: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error.
命令lsblk-f显示克隆 CF 在系统上是...
sdb
└─sdb1
ext3 c44c8412-bf87-4fa4-a6fa-8259aa78bd24
在原来的CF上lsblk-f节目
sdb
└─sdb1 ext3 c44c8412-bf87-4fa4-a6fa-8259aa78bd24 311.2M 60% /media/frank/c44c8412-bf87-4fa4-a6fa-8259aa78b
那么,我做错了什么?
答案1
如果要克隆可启动驱动器,克隆一个分区是不够的,还应该克隆整个驱动器,包括头端。您可以使用dd
源(和目标)作为/dev/sdx
(不是/dev/sdx1
克隆第一个分区,也不是整个驱动器)。
但使用dd
这种方式是有风险的,因为它会毫无疑问地执行您告诉它的操作,并且很容易指向错误的驱动器并覆盖有价值的数据。因此,我建议您使用带有最终检查点的克隆工具,您可以在其中仔细检查设置是否正确。
当使用 MSDOS 分区表并且目标驱动器比源驱动器“不小一个字节”时,纯克隆应该可以工作。如果有GUID分区表、GPT,并且大小不同,则必须修复驱动器末尾的备份分区表。当您使用时,这是自动完成的姆库斯布从图像中克隆或提取。否则,您可以gdisk
在克隆后修复它。
您可能会发现以下链接很有帮助,