编辑:我已经审查了“重复声明”,坦率地说,它没有回答我的疑问,就像我的大多数问题一样,现有的重复问题没有回答我的疑问。
除此之外,我正在放弃 Ubuntu,因为我已经厌倦了它持续存在的问题,今天还能正常工作,明天就不能了,每次更新后一切都会崩溃,我相信我无法更新的主要原因是我的系统出了问题 :)
所以够了,我已经找到了一个不包含像 Ubuntu 那样的间谍软件的稳定版本的软件。
祝各位吸烟者愉快。
再见。
我曾多次询问如何克隆驱动器,有人建议我使用dd
或cat
,但都不起作用,dd 也可以,但不如预期。我使用的命令是:
dd if=/dev/sda | gzip -c > "/media/mark/Seagate Expansion Drive/ssd.img.gz"
结果是,对于一个非常小的映像文件(3.9GiB),容器异常大(51.3GiB),而且花了 10 多个小时才完成。我能够在大约 45 分钟内通过复制和粘贴从驱动器中复制数据,然后卸载驱动器映像才能完成。
因此,从一开始就把事情说清楚……
要复制的驱动器- SSD 驱动器,标签上为 64GB,有两个分区,称为/dev/sda/
启动/dev/sda2
分区未安装
将图像转储到的驱动器- USB HDD,标签上显示为 2TB,末尾有一个带 144MB 缓冲区的分区/dev/sdc1
已安装
复制自和复制到的驱动器不用作启动驱动器,启动设备/分区已打开/dev/sdb1
(即 SD 卡),并且在此过程中未使用任何设备。是的,sda
驱动器已卸载,必须重复这一点,因为第一次可能遗漏了这一点。
每次我被告知应该使用dd if=/dev/sda | gzip -c > "/media/mark/Seagate Expansion Drive/ssd.img.gz"
图像时,都会出现一个非常奇怪的文件,大小为 51.3GiB,而该文件中有一个 3.9GiB 的文件,那就是图像!?!?! 嗯,驱动器几乎满了!
每次我尝试使用 ZIP 来执行此操作时,我都想要这样做,这样我就可以在 Windows 中访问,我是否需要进行全面重新安装并从 ZIP 文件中提取我需要的文件,但是当我使用时,dd if=/dev/sda | zip "/media/mark/Seagate Expansion Drive/ssd.img.zip"
我收到一条消息,提示该程序has nothing to do!
我尝试使用相同的cat
命令,但结果出现错误,提示“无事可做!”尽管我指出了我的需求,但我得到的答案是覆盖现有分区,而这并不是我想要的。
是的“我有 ZIP 库”,是的“要写入的驱动器已安装”,否“源驱动器未安装”,我没有存储问题,因此 ZIP 可以是未压缩格式。
有人可以帮忙吗?
**编辑**
抱歉,我很沮丧,但是 Ububntu 有任何可以使用的软件吗?
我的问题很简单,我有一个 64GiB 大小的 SSD,大约已满 98%。
我按照网上的例子和 askubuntu 上的建议做了,每个人都发布了类似我之前发布的内容。
使用生成的图像文件dd
产生了一个名为 ssd.img.gz 的 51.3GiB 文件,在该 gz 存档中有一个名为 ssd.img 的文件,其大小为 3.9GiB。
现在忘记所有关于容器的事情......
我想制作一个驱动器的映像,以便以后可以通过 ZIP 程序访问,我有 gzip 和 zip 库,我偏爱 ZIP,因为 Windows 无需任何外部程序即可读取 ZIP 文件。
我如何制作一个可用的驱动器映像,以便我可以验证它是相同的,然后我可以满怀信心地修复/损坏驱动器,将其内容恢复到原来的状态。
请问我该怎么做?
答案1
我认为您要求能够打开此 zip 文件,并在浏览 zip 时查看 Windows 资源管理器中的文件列表。
您使用的“图像文件”一词的含义您可能并不清楚。图像文件不是没有特殊工具就可以查看的东西。这与对可以浏览文件的 zip 文件的要求完全相反。您似乎不想要磁盘的图像,您似乎想要一个包含所有磁盘文件内容的 zip 文件。
有许多原因可以证明这是一个坏主意,并且说明为什么您还没有收到想要的答案。
- Zip 格式不支持 unix 设备。这意味着 /dev/ 都无法工作,您无法使用此文件恢复系统。
- Zip 格式不支持 unix 文件权限。这意味着您的大部分系统将无法运行,因为可执行文件不会被标记为可执行文件。
- 非 UNIX 上的 Zip 格式不支持符号链接,因此它将无法工作。
- Zip 格式不支持扩展属性。对于简单的用例来说,这可能没问题,这也是我们使用 tar 而不是 zip 的另一个原因。
- 这不是标准的 unix、linux 或 ubuntu 做事的方式。
除此之外,下面是如何压缩文件系统的方法:
zip -ry '/media/mark/Seagate Expansion Drive/ssdfiles.zip' /
它可能无法工作,因为它使用 /tmp,而 /tmp 在你的系统上可能已满,因此使用 -b 告诉它使用与 tmp 相同的外部驱动器
zip -ry -b '/media/mark/Seagate Expansion Drive' '/media/mark/Seagate Expansion Drive/ssdfiles.zip' /
祝你好运。
答案2
您可以使用以下方式制作纯文本图像文件:
dd if=/dev/sda of=/path/to/outputfile.img
在此阶段不要附加 .zip。如果您希望在备用分区(示例中为 sdx)上恢复此文件,以将其与真实的 /dev/sda 进行检查,则:
dd if=/path/to/outputfile.img of=/dev/sdx
一旦您对这是一个好的映像感到满意(也许使用 diff 命令进行比较),那么您应该能够压缩 .img 文件,该文件不会受到之前的 dd 命令的影响。然后:
zip /path/to/outputfile /path/to/outputfile.zip
当然,您可以随时更改文件名。