修复分区表

修复分区表

我刚刚覆盖了系统硬盘的分区表。我cfdisk在错误的设备(/dev/sda而不是/dev/sdd)上创建了,删除了所有分区,创建了一个覆盖整个设备的新主分区,将其类型设置为07(NTFS)并点击write

现在我的系统正在运行。在重新启动之前,我希望/猜测不会发生任何变化 - 意思是:我的所有数据都可以访问(我目前正在对dd整个设备进行备份,并计划.tar.gz稍后对最重要的数据进行备份)。我还备份了/proc/partitions/proc/diskstats(尽管我猜这更多是关于吞吐量和类似的东西...)和/sys/block/sda/sda?/{start,size}

我还知道一些其他的事情:

  • 4 个主分区
  • 第一个分区:~100Mb,ext3,/boot
  • 第二个分区:~100Mb,“Win7 启动分区”,ntfs(?)
  • 第三个分区:~20...30GB,Win7,ntfs
  • 第四个分区:~20...30GB,luks 加密设备
  • 卢克斯加密设备是 LVM-PV
  • //home&分区swap均为上述 PV 上的 LV(VG 上的)

我的问题是:

  • 将内核分区表写入磁盘的最简单方法是什么?
  • 获取上述(也许还有其他我不知道的......)数据并生成分区表的最简单方法是什么?
  • 关于 luks 和/或 lvm 是否存在什么问题需要处理?
  • 在重新启动之前我应该​​备份什么数据吗(比如内核[/sys/..., /proc/...]等等中的内容,它们可以帮助我重新生成分区表)?

答案1

希望不是太难。

首先,请注意 /dev/sda 上所有分区的大小和顺序:

challenger:/home/michael # grep . /sys/block/sda/sda*/{start,size}
/sys/block/sda/sda1/start:63
/sys/block/sda/sda2/start:228690000
/sys/block/sda/sda3/start:257040
/sys/block/sda/sda1/size:256977
/sys/block/sda/sda2/size:83885760
/sys/block/sda/sda3/size:228432960

在 /dev/sda 上运行 fdisk 并将单位更改为扇区:

Command (m for help): u
Changing display/entry units to sectors

然后开始创建分区。为每个分区使用适当的数字start和。size
避免出现差一错误 - 在size将其输入到 fdisk 之前减一。

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First sector (63-312581807, default 63): 
Using default value 63
Last sector, +sectors or +size{K,M,G} (63-312581807, default 312581807): +256976

Command (m for help): p

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x02b002af

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63      257039      128488+  83  Linux

不要忘记设置分区 ID 并在正确的分区上切换启动标志

现在重新安装你的 MBR,你就可以开始了。


当然,您可以使用您最喜欢的分区编辑器完成所有这些操作...parted 也可以很好地工作。

如果您丢失了有关分区开始/结束的信息 - parted 有“救援”选项来搜索磁盘中丢失的分区。但您不需要这些。

答案2

如果分区表损坏,我建议使用 RIP 的启动盘(Linux 可以进行救援)来运行 testdisk。哎呀,您可能能够从正在运行的系统运行 testdisk 以扫描和恢复分区,但我不会尝试这样做,因为我不知道它会对正在运行且打开文件的系统造成什么影响。

如果您想尝试备份重要数据(您还没有备份?),现在正是时候......

相关内容