そーすにっき

なんかいろいろのせておくばしょ

おひさしぶり

更新が止まっているのは実家に帰っていたせいということにしておきたいんです

(全然問題解けてない)

そしてその間にAtcoderでは水色になりました

今日は競技プログラミングとは全然関係ない話にしようかと

じゃあ何かというとwindows10の0xc0000034エラーについての話

Windows Boot Managerの中身がぶっ壊れたというエラーの模様

無償アップグレード組で突然ハマるようで、ストレージの状態も悪くないのに再起動後突然ブートファイルが壊れてるとかどうなってるんだこのOSは

友人が突然これに引っ掛かり、自分もそのうちやらかしそうなのでとりあえず書いておきます

ブート

MediaCreationTool.exeをWindowsのサイトからDLして適当な外付けの何かに焼く

起動時F12を押してブートメディア選択して終わり(できないものもある)

修復

一番簡単な解決(出来ればベター)

>bootrec /fixmbr
>bootrec /fixboot
>bootrec /rebuildbcd

でもこれが通らない場合も少なくない模様

bcdbootをいじる

>diskpart
DISKPART> list disk
DISKPART> select disk 0
DISKPART> list volume
DISKPART> select volume 3
DISKPART> assign letter=S:
DISKPART> exit
>cd /d S:\EFI\Microsoft\Boot\
>ren BCD BCD.bak
>bootrec /fixboot
>bcdboot c:\Windows /l ja-JP /s S: /f ALL
>bootrec /rebuildbcd

これでエラーがなければ簡単だけども、どうやらBCD自体壊れてることがあるらしい
その時はBCDの作り直しから始まるとか

bcdeditで色々やる(あまり詳しくないので省略)

>cd S:\EFI\Microsoft\Boot
>bcdedit /createstore BCD
>bcdedit /store BCD /create {bootmgr} /d “Windows Boot Manager”
>bcdedit /store BCD /create /d “Windows 10” /application osloader

※エントリ {xxxx} は正常に作成されました と出るはず

>bcdedit /store BCD /set {bootmgr} default {xxxx}

中括弧を忘れるとエラー(1敗)

>bcdedit /store BCD /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi
>bcdedit /store BCD /set {bootmgr} locale ja-jp
>bcdedit /store BCD /set {bootmgr} displayorder {default}
>bcdedit /store BCD /set {bootmgr} timeout 10
>bcdedit /store BCD /set {default} device partition=c:
>bcdedit /store BCD /set {default} osdevice partition=c:
>bcdedit /store BCD /set {default} path \windows\system32\winload.efi
>bcdedit /store BCD /set {default} systemroot \windows
>exit

後は起動出来れば勝ちなんだとか

出典

http://tooljp.com/Windows10/doc/system-recovery/trouble-shooting/0xc0000034/0xc0000034-Windows-not-start.html
https://panyaa.herokuapp.com/blog/54
http://qiita.com/Tats_U_/items/2639fab7cda852ad5143