我刚刚覆盖了我系统硬盘的分区表。 我在错误的设备( /dev/sda而不是/dev/sdd )上做了一个cfdisk ,删除了所有的分区,在整个设备上创build了一个新的主分区,并将其types设置为07 (NTFS)
所以在这里我与我的系统运行。 直到我重新启动,我希望/猜测什么都不会改变 – 意思是说:我所有的数据都是可以访问的(我现在正在对整个设备进行dd备份,并计划在以后对最重要的数据做一个.tar.gz备份)。 我还备份/proc/partitions , /proc/diskstats (即使我猜这是更多的吞吐量和这样的东西…)和/sys/block/sda/sda?/{start,size} 。
还有一些我知道的事情:
/ , /home & swap -partitions是上面提到的PV上的(VG)上的所有LV 所以我的问题:
不太棘手。 希望。
首先,请记下/ 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 。
避免出现错误 – 在将其input到fdisk之前,从size减去一个。
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,你应该准备好了。
当然,你可以使用你最喜欢的分区编辑器来做这一切…分手的作品也很好。
如果您丢失了关于分区开始/结束的信息 – 分区有“search”选项来search磁盘丢失的分区。 但是你不应该需要这些。
如果分区表损坏,我build议使用RIP(救援可能是Linux)的启动盘来运行testing盘。 哎呀,你可能能够从正在运行的系统运行testing磁盘来扫描和恢复分区,但是我不会尝试这样做,因为我不知道对于正在运行的系统打开文件会有什么影响。
如果你想尝试重要数据的备份(你现在还没有?)现在是一个好时机。