mav*_*vix 1 dual-boot backup dd
我一直在尝试让 CUDA 在我的系统上工作,并且在处理 nvidia 驱动程序的过程中,我已经严重破坏了 ubuntu,以至于我不得不多次重新格式化我的驱动器分区。我现在已经被那根棍子击中了足够多的时间,以至于我在安装了所有工具和程序后,尝试使用 dd(根据朋友的推荐)备份我的分区。
然而,当我跑
sudo dd if=/dev/sda4 of=~/backup.img
我最终得到一个错误,我的驱动器空间不足。这对我来说很奇怪,因为分区非常大,而且我只有一个全新的 ubuntu 安装以及一些(小)程序。
我想可能发生的事情是它正在递归地尝试写入它已经写入的副本,所以我尝试将文件直接写入另一个分区:
sudo dd if=/dev/sda4 of=/media/Ye\ Olde\ Data/ubuntu\ reinstall\ backup/backup.img
但这需要很长时间,一旦文件达到一个大小,我就中止了这个过程,我很确定它太大了,无法只包含我想要的数据。
怎么了?/media 是否安装了其他分区,因此将其他分区视为 /dev/sda4 的一部分?是不是 dd 逐字节复制整个分区,而忽略了哪些字节实际上有文件?
无论如何,我该如何正确地做我想做的事?
哦,这是我的磁盘信息,以防万一:
sudo sfdisk -l /dev/sda
Disk /dev/sda: 62260 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 * 0+ 12- 13- 102400 7 HPFS/NTFS/exFAT
/dev/sda2 12+ 14602- 14590- 117187500 7 HPFS/NTFS/exFAT
/dev/sda3 29192+ 62260- 33069- 265622493+ 5 Extended
/dev/sda4 14602+ 29191- 14590- 117193728 83 Linux
/dev/sda5 61228+ 62260- 1032- 8287232 82 Linux swap / Solaris
/dev/sda6 29192+ 61227 32036- 257329138+ 7 HPFS/NTFS/exFAT
Run Code Online (Sandbox Code Playgroud)
如果使用 复制分区 dd,则输出文件将与分区一样大。 dd对光盘进行物理复制,它不知道空白或已用空间。
但是,如果压缩结果文件,您将节省大量空间,因为空白空间会很好地压缩掉(请注意,这将在计算上非常繁重)。您甚至可以dd使用dd if=/dev/sdaX | gzip -c > compressed_file.gz.
此外,您不能(永远)
dd在活动(挂载)分区上执行操作,记录的数据将完全不一致并且绝对对备份没有用。想一想:不断地分配、移动和删除数据块;就像对移动目标拍摄长时间曝光的照片一样。要复制分区,
dd您必须从不同的分区启动 - live USB 或其他任何东西。
我会怎么做才能解决手头的问题(注意,只有通用说明,因为您需要知道自己在做什么)
首选购买 Norton Ghost,或探索开源选项:partimage和clonezilla(我自己从未测试过)。
第二个选项手动执行:
为备份创建一个额外的分区,将其命名为 /dev/sdX(或使用公共数据分区,无论如何)。
备份:
(cd /real && tar cvf /extra/mybck.tar.gz)恢复
(cd /real && tar xvpf /extra/mybck.tar.gz),注意p保留元数据的选项你可以tar用你喜欢的归档程序代替,只要确保它会尊重文件的所有权/模式。rsync值得探索。
| 归档时间: |
|
| 查看次数: |
240 次 |
| 最近记录: |