the*_*ega 6 linux partitioning
嘿,我不小心在linux上覆盖了我硬盘的前1M(使用dd)。所以,分区表不见了。我仍然可以使用 /dev/sda2(等等)访问所有分区(第一个分区除外),因此数据仍然存在。我只需要分区边界来恢复表。我怎样才能做到这一点?Linux 内核必须仍然知道它们,因为所有挂载点仍然有效。fdisk -l /dev/sda不起作用,因为它实际上读取了分区表。
谢谢!
可以从 读取分区的范围/sys/block/sda/sda1/start,/sys/block/sda/sda1/size依此类推。值以扇区为单位。在做任何其他事情之前写下这些值,尤其是重新启动。
获得这些值后,您可以使用fdisk. 使用u命令将单位切换到扇区,然后通过输入创建分区
nprimary / logical / extended+ 部门规模距离提出这个问题已经快两年了。昨天我们处于完全相同的情况:我们有一个带有 2 个磁盘的 Linux 软件 RAID 级别 1。其中一个磁盘坏了,必须更换。我们交换了磁盘,然后想将分区表从剩余(工作)磁盘复制到新磁盘。不幸的是,我们将空分区表从新磁盘复制到旧磁盘。幸运的是,我们在重新启动机器之前立即发现了这一点,因此正确的分区表在内核中仍然处于活动状态。以下是我们为解决此问题所做的工作:
/sys/block/文件系统中提取了分区数据,如 Gilles 的回答中所述。fdisk而不得不使用gdisk。gdiskfdisk除了不需要指定u扇区外,工作原理几乎相同。/sys/block/。对于类似问题,还有其他答案说将分区大小减一,但这对我们来说不是必需的。sys/block文件系统不包含有关文件系统类型的信息,所以我们提取他们mount。BIOS boot partition(通常是第一个分区)。用 写入分区表后gdisk,我们能够重新启动系统,一切运行正常。
| 归档时间: |
|
| 查看次数: |
3060 次 |
| 最近记录: |