意外地做了dd / dev / sda

Modified on: Sun, 10 Jun 2018 00:50:23 +0800

我使用sudo dd if=image.iso of=/dev/sda将ISO映像写入我的硬盘。我的意思是/dev/sdc,现在运行sudo fdisk -l

我没有关闭(重启)我的电脑。

作者:Baaing Cow

最佳答案

由于您的计算机仍在运行,因此您很有可能保存计算机。

首先,sysfs公开内核在分区表的内存视图中。现在,你的内核没有重新读取磁盘的表,它会记住你的分区。在/sys/block/sda/内,每个分区应该有一个目录。每个这样的子目录都包含一个文件start和一个文件size,它们代表分区的位置和大小。运行fdisk,然后使用sysfs目录中的信息重新创建每个分区(按顺序!)。请注意,您还必须创建一个新的分区表。确保您的新分区表与之前的分区表相同。您可以在/sys/block/sda中查看。如果您看到sda1sda<em>7</em>,而您只有6个分区,则可能有MBR,否则可能是GPT。您还需要为这些分区设置标志和类型。查看/etc/fstab并尝试收集有关您拥有的分区类型的信息,然后检查Wikipedia以将其转换为您的分区方案的代码。

由于您似乎能够使用您的文件系统,因此您的dd可能无法覆盖任何文件系统,因为文件系统的大部分重要位都位于前端。检查/etc/fstab以查看哪些分区对应于系统的哪个部分,然后使用复制的数据量dd来估算您的核心数量。如果你只覆盖文件系统的一部分,一个好的fsck 可能能够修复它(但你已经丢失了很多数据)。

最有可能的是,你覆盖了/boot。您将不得不重新安装内核(使用aptitude)并重新安装GRUB2(使用grub-install)(这会破坏其第一和第二阶段)。 GRUB2配置了/etc中的文件,因此您不必手动重新创建任何内容。

作者:,HTNW

相关问答

添加新评论