我有一个可启动的 USB 驱动器,上面安装了 Windows 7。我想删除操作系统,但也想存储驱动器上的分区。我想以一种允许我稍后重新安装分区的方式执行此操作。我该怎么做?
答案1
有许多工具可以完成这项任务,它们会巧妙地处理您的数据,只复制需要的内容,提供良好的压缩等等。它们了解底层文件系统、元数据等。大多数时候,它们能够将您的数据和操作系统恢复到更大和更小的磁盘和 USB 棒上。通常它们可以很好地完成工作,但有时它们会错误地认为它们正在复制,从而弄乱您的数据。
为此,我使用了简单且非常确定的命令行工具dd
。与任何 Linux 发行版一样,Ubuntu 附带 dd。如果您的 USB 驱动器位于 /dev/sdb 上(您会看到,当您输入命令时df
,您可以
dd if=/dev/sdb of=/MY_ARCHIVE/USB-drive-Win7
获得 USB 驱动器的 1:1 副本。稍后您可以随时逆转该过程以恢复磁盘。
您可以了解逐字节复制整个磁盘的所有优点和缺点:
- 无论磁盘上有什么,也无论它是由哪个操作系统写入的 - 你都有它的正确副本
- 无论使用了多少 USB 磁盘空间,您都必须复制整个磁盘
如果副本的大小让您感到困扰,您可以用一个由 0 或重复文本模式组成的文件填充磁盘(仍然在 Win7 上),直到它完全填满。然后删除该文件以释放该空间。这样,您就用一个非常可压缩的模式填充了未使用的空间。在dd
-ing 之后,您可以压缩磁盘映像,甚至可以在拍摄图像时压缩,如下所示:
dd if=/dev/sdb | gzip >/MY_ARCHIVE/USB-drive-Win7.gz
您可能决定仅通过替换、、... 来保存单个分区/dev/sdb
,/dev/sdb1
也/dev/sdb2
可以通过保存第一个扇区来保存分区表,如下所示:
dd if=/dev/sdb count=1000 | gzip >/MY_ARCHIVE/USB-drive-Win7-first1000.gz
对于所有这些dd
命令,您需要 root 权限,因此您必须以 root 用户身份登录,或者必须sudo
在它们前面添加。