用dd创建的图像为无分区


0

我在Acer C720P Chromebook上安装了Bodhi。在我开始升级之前,我创建了一个备份

dd if=/dev/sda1 of=/path/to/image
当然升级出错了。我可以再次设置chromebook,现在我尝试访问我的备份。 但我无法挂载图像,fdisk告诉我没有分区

fdisk -l chromi.img
Disk chromi.img: 23.6 GB, 23623172096 bytes
255 heads, 63 sectors/track, 2872 cylinders, total 46139008 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 identifier: 0x00000000
Disk chromi.img doesn't contain a valid partition table

有人可以帮助我吗?

Answers:


2

让我们从出错的地方开始:

您没有备份磁盘(/ dev / sda)。
您只备份了一个分区。

在ASCII图形中:

-------------------- whole disk sda --------------------------    
[MBR]  [partition sda1]  [possible second partition sda2] ...

你的dd命令告诉计算机只备份分区/ dev / sda1。
但是现在你告诉fdisk要查找MBR,它不在/ dev / sda1中,因此没有被备份。

简而言之,fdisk是正确的'chromi.img不包含有效的分区表'。


现在试图解决这个问题:

你的目标是什么:

  • 将旧图像复制回现有分区?
  • 还是从备份中读取旧数据?

要复制回来,您可以从某些东西启动,访问您的映像(无论它在哪里。我假设您将其存储在外部HDD或SD卡上的某处)并反转dd命令以恢复到备份前的情况。

dd of=/dev/sda1 if=/path/to/image

安装 文件系统 您将在图像中(而不是整个磁盘):

  • 创建一个环回设备(例如 losetup -d /dev/loop0
  • 并告诉它使用图像( losetup /dev/loop0 /path/to/image
  • 然后,您可以像使用常规设备一样安装环回设备。 (例如mount / dev / loop0 / mnt`)


供将来参考(和其他有类似问题的读者):
您可能想要做的是备份整个磁盘,包括引导记录,所有分区和空白区域。为此,您将使用/ dev / sda(不带分区号)。你可能想通过gzip和/或netcat来填充它。

通过使用偏移量(例如losetup / dev / loop0 disk.img -o NUMBER_HERE)可以在这样的整个磁盘备份中访问文件系统


嗨,谢谢你的回答。主要是我想尝试访问旧数据。我试图挂载文件系统,但我得到错误 mount: wrong fs type, bad option, bad superblock on /dev/loop1 好像我的形象腐败了?
fondue
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.