Win10 14393.321 更新失败删了分区表

今天更新14393.321失败了,在撤销更改后重启,结果系统进不去了,发现连分区表都删了。由于是SSD,不存在磁盘损坏一说,网上流传一种说法,Win10安装会删Linux分区,不过我的情况更狠,所有的分区都被删除。

磁盘分区如下,为mbr格式分区:
1. Linux boot 分区,含Grub
2. Ntfs, Win 10 单一分区,含Win 10启动加载程序
3. Ntfs, 数据分区
4. 扩展分区
4.1. Linux 根分区
4.2. Linux Swap

用GParted刻录成的U盘启动后,查看磁盘情况,发现除了/dev/sda,并无下挂分区,说明分区表已被破坏。

由于之前在linux 根分区备份了mbr,所以当务之急是要找回mbr备份,用另一U盘刻录WinPE启动后,用R-Studio扫描全盘后恢复出该文件。还原后分区找回, /dev/sdaX也回来了,但系统依旧不能启动,估计是连各个分区上的Boot loader程序都被删了,用Gparted U盘启动后,挂载Linux根分区,文件都在,执行分区下的usr/sbin/grub-install,发现执行不了,估计是内核版本不匹配,只好重新再刻录一个Debian 8.6的LiveCD到U盘,这样内核版本和发行版就与硬盘上的一致了。

接下来要做的是把Grub重新安装到硬盘上,先把硬盘挂载到liveCD系统里,挂在后的结构如下

Live CD文件系统 /
    \- mnt/linux  挂载硬盘 Linux根分区
        \- boot 挂载硬盘boot分区

接下来用apt安装grub2,然后执行命令

grub-install --root-directory=/mnt/linux /dev/sda

grub会自动安装boot loader 1阶段到/mnt/linux/boot/grub/stage1,重启电脑后终于恢复。折腾了3小时……


后续跟踪:由于该电脑先安装Windows,再安装Linux,导致MBR活动分区被标记到Linux Boot分区,在把活动分区重新指向Windows分区后,问题可以得到解决。