Windows 10 へのアップグレードどうしようか悩んでいたんですが、無償期間がもうすぐ終わってしまうし一念発起してやってみたら grub resque
と表示され、OS が起動しなくなってしまいました orz
環境
- Windows 8.1
- Linux Mint
いろいろ調べてみると、Windows 10 へのアップグレードの際に自動的にパーティションが作られるらしく、そのせいで MBR のレコードの順番が変わってしまって起動できなくなったようです。
現状の確認
まずは以下のコマンドを入力します。
grub rescue > ls
(hd0) (hd0,msdos5) (hd0,msdos4) (hd0,msdos2) (hd0,msdos1)
パーティションの一覧が表示されます。
私の場合は上記のように表示されました。
ここで表示された各パーティションについて、以下のようにコマンドを打って中身を確認します。
grub rescue > ls (hd0,msdos1)/
すると、全てのパーティションで
error: unknown filesystem
と表示されてしまいました。
完全に予想外。
どこかのパーティションが Linux のはずなので、何かしら認識できると思ったんですが。
とりあえず今度は次のコマンドを打ってみます。
grub rescue > set
cmdpath=(hd0)
prefix=(hd0,msdos6)/boot/grub
root=hd0,msdos6
ふむ。
もともとは msdos6 に Linux が入っていて、そこから起動していたのね。
でも msdos6 がなくなってしまったと。
なんでや。
とりあえず、LiveCD を利用して Ubuntu を起動し、以下のコマンドを打ってみる。
$ sudo parted -l
Number Start End Size Type File system Flags
1 32.3kB 199GB 199GB primary ntfs boot
2 199GB 199GB 471MB primary ntfs diag
3 199GB 377GB 178GB extended
5 369GB 377GB 7999MB logical linux-swap(v1)
4 377GB 500GB 123GB primary fat32
3番目のファイルシステムが空欄になっています。
多分ここに Linux が入っていると思うのですが、壊れてしまったのかもしれません。
とりあえず修復を試みます。
sudo fsck /dev/sda3
fsck from util-linux 2.27.1
e2fsck 1.42.13 (17-May-2015)
fsck.ext2: Attempt to read block from filesystem resulted in short read while trying to open /dev/sda3
Could this be a zero-length partition?
やはい、これは本格的に壊れたかな?
今度は testdisk というツールを試してみました。
まずはインストールから行いますが、先に設定を行わないと、見つからないと言われてしまいます。
sudo apt-get install testdisk
インストールが完了したら実行します。
sudo testdisk
ここから先はもう必死だったので、メモを取らずにやってました。
ここのサイトを参考にしてやりました。
大体以下のようなことをやったと思います。
Create
を選択Disk /dev/sda
を選択し、Proceed
を選択Intel
を選択Analyse
を選択- 分析結果が表示されたが、復元した情報では前述の No3 のパーティションが
*
になっており、No1 と No2 のパーティションが削除されていたので、No1 をP(Primary)
に変更し、Write
を選択 - 再起動
すると、再び grub rescue
と表示されました。
ここで以下のコマンドを入力すると
grub rescue > ls (hd0,msdos2)/
今度はちゃんと Linux のフォルダの中身が見れました。
というわけで、以下のようにコマンドを打ち、grub を起動します。
grub rescue > set prefix=(hd0,msdos2)/boot/grub
grub rescue > insmod (hd0,msdos2)/boot/grub/i386-pc/normal.mod
grub rescue > normal
Linux 起動後、以下のコマンドを打ち、GRUB を再インストールします。
$ sudo grub-install /dev/sda
これでひとまず GRUB は OK です。
しかし気になるのは Windows のほう。
Windows 8.1 から Windows 10 へのアップグレード中の再起動処理でおかしくなったので、中途半端な状態です。
案の定 Windows を起動すると、Windows 10 へのアップグレードに失敗したというメッセージが表示されました。
そして、元の Windows 8.1 の復元処理に入ったんですが、なんとそこも失敗してしまいました。
というわけで Windows が起動できなくなってしまいました。
ただ、Linux を起動すれば Windows 側の領域は覗くことができ、データはちゃんと残っていたので、バックアップを取って Linux も Windows も両方クリーンインストールすることにしました。
参考 URL
- http://blog.mamohacy.com/entry/2013/03/29/192149
- http://yamori-jp.blogspot.jp/2015/08/linuxwindows10grub-rescue.html
- http://tylerhandstone.hateblo.jp/entry/2014/05/06/182839
- http://tech.junkpot.net/archives/463/%E8%87%AA%E5%AE%85ubuntu%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%8C%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F.html