|
由于新机开荒,将win10的启动项冲掉了,于是就为了填这个坑,搞了好几天,新机的linux也重装了(这是另一个问题,请见相关报道)
一开机,报什么呢?报win10需要修复,于是找不到系统。
先试了几个第三方修复,easybcd等等,越修复问题越大,之后在linux上面装了rEFInd,重装了Linux,使用rEFInd启动,问题照旧。
下面是维修方法:
1、找一台能够运行的win10,然后“控制面板” --> “查找‘恢复’”-->建立系统恢复盘-->注意建盘的时候不能选择将系统文件安装到磁盘,否则系统文件体积太大,磁盘(U盘)一般装不下的。
2、用U盘启动机器。
3、在界面上选择输入法,之后选择疑难解答,之后:运行命令行
4、在命令行键入:
- bootrec /scanos
- bootrec /fixmbr
- bootrec /fixboot
- #到这一步会报“拒绝访问”,键入下面的命令:
- bootsect /nt60 sys /mbr #同时重写mbr和pbr
- #然后再
- bootrec /fixboot
- bootrec /rebuildbcd
复制代码 到/rebuildbcd 一般会出错了,会提示系统找不到指定的路径等等。
这时执行 diskpart
- > list disk
- >sel disk 1
- #sel 即select , disk1 是上面命令列出的硬盘中win所在的硬盘
- >list part
- >sel part 2 #这个必须是(win)的系统分区,也即ESP分区(win的,不是Linux的)
- >detail part
- 会显示
- Partition 2
- Type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b
- > sel part 5 #另一个system,即ESP,linux的。
- > detail part
- #显示的和part2差不多,type是一模一样的。
复制代码 上面rebuildbcd报错原因就是这里了: 两个系统盘(ESP),winRE工具无法分辨。解决办法就是修改一个系统盘的type:
> select part 5
>set id=c12a7328-f81f-11d2-ba4b-00a0c93ec930
这么改过之后,再执行bootrec /rebuildbcd, 可能还会报其他错误,不过没关系,下面继续运行 diskpart
>diskpart
>sel disk 1
>sel part 2
>assign letter u # 分配了盘符u给system no.1 ESP。
>exit
然后运行下面的:
cd c:
dir /a
看看windows目录是不是在C盘上,假设在C盘上:
bcdboot c:\Windows /s u: /f uefi /l zh-cn
基本上运行好之后就维修好了,如果有问题注意检查拼写和大小写。
exit
然后重启电脑,顺利进入win~!
再后来又实验进入Linux,由于有两个ESP,互不冲突,进Linux也很顺利。
维修结果就是这样的。
ref: win10修复启动菜单bootrec fixboot拒绝访问
处理BCD错误,解决自己的妄念
处理Windows引导错误的一种方法
|
|