LinuxデュアルブートPCでWindows10無料アップグレードしたらパーティションぶっ壊された話
- pu_kuma_pu
- 8983
- 12
- 2
- 1
先日、UbuntuとWindows7のデュアルブートpcで、Windows 10にアップグレードしようとしたらエラー起きてヒドイ目にあった。
2016-06-14 13:57:54Windows10にアップしている最中にエラーコードc1900101-20004を吐いてアップデートが中止された。再起動をかけると grub rescueモードに突入。
2016-06-14 14:00:46error: no such partition. Entering rescue mode... grub rescue> という表示
2016-06-14 14:01:41grubのlsコマンドを叩くと4つあったはずのパーティションが3つに減っている。ubuntuのルートディレクトリの入ったパーティションが消された模様。
2016-06-14 14:05:12調査してみるとWindows10アップグレードでは新しいパーティションが作られるらしく、その作業でおかしくなった可能性が大。askubuntu.com/a/662714
2016-06-14 14:10:51そこでパーティションを調べるために、壊れたpcにUbuntu16.04のLive USBを挿して立ち上げようと試みるも、Live USBのubuntuが起動中にエラー起こして止まってしまうという謎の現象が起きる。
2016-06-14 14:16:10さらには、昔作った幾つかのLinux Live CD(古いUbuntu, Puppy Linux etc)の起動にも失敗してしまう。HDDが壊れてしまうと、一時ファイル保管等にHDDを使うLinux Live CDも立ち上がらなくなる模様。
2016-06-14 14:21:00調査すると、壊れたパーティションの修復には testdisk というソフトウェアを使う必要があるらしい。pctrouble.net/software/testd… を見るとUltimate Boot CDを使うとよいらしいのでこれをまず試してみた。
2016-06-14 14:25:10でも Ultimate Boot CDからtestdiskを動かすために Parted Magicを起動させようとしたが、こいつもまた動いてくれなくて途方に暮れる。pctrouble.net/software/testd…
2016-06-14 14:27:41testdiskの公式ページによるとtestdiskが含まれるLive CDは色々選択肢があるらしい。 cgsecurity.org/wiki/TestDisk_…
2016-06-14 14:30:05その中からSystemRescueCdが実績豊富らしいのでこれを選択した。 system-rescue-cd.org/Main_Page
2016-06-14 14:31:25SystemRescueCDをUSBにインストするために次を参照。 system-rescue-cd.org/Sysresccd-manu… Aのisohybridコマンドを用いるやり方を選んだ。
2016-06-14 14:34:52Ubuntu16.04 Live USBを起動させた別のpcから sudo apt install syslinux-utils してisohybridをインストール。次に、ダウンロードした ISOファイルを isohybridで下処理してから、USBにddでコピーした。
2016-06-14 14:37:27SystemRescueCDは問題なく起動できた。一番上のデフォルトブートオプションを選択し、途中で日本語キーボードを選択して、しばらく待つと root@sysresccd /root % のプロンプトが出てくる。 system-rescue-cd.org/Screenshots
2016-06-14 14:44:18そうしたら、 testdisk と打ち込めば testdiskが起動してくれる。 あとは pctrouble.net/software/testd… に書いてあるやり方どおりにやったらパーティションを元の構成に回復できた。
2016-06-14 14:50:03ここでpcを再起動すると再び grub rescue が出てしまう。 grubが壊れているため今度はgrubを再インストする必要がある。このgrub rescueで lsコマンドを叩くと、今度は元通りのパーティションが表示されているので一安心。
2016-06-14 14:52:31ubuntu Live USBを挿してそこからgrubを再インストしてようやく作業は終了。 help.ubuntu.com/community/Grub…
2016-06-14 14:56:30pcを起動させると、いつもの紫色したgrubの画面が出る。ubuntuを起動するも特にダメージ無し。grubの画面では Windows7 が項目に上がっていた。Windows 7を起動させると、いきなりWindows 10のアップ中の田んぼのマークが出てきた。
2016-06-14 15:01:37しばらくすると 「以前のバージョンのWindowsを復元しています...」のメッセージが出た。待っていると見慣れたWindows7のようこそ画面になって、すべて元通りになった。
2016-06-14 15:03:41Ubuntu側からGpartedを使ってHDDの構成を見ると、先頭のWindows7のパーティションの後ろに、見慣れない「未割り当て」の451MiBの領域が出来ていた。これがWindows10アップグレードの際にできたパーティションの残骸らしい。
2016-06-14 15:12:12もともと、パーティションは sda1がntfsでwindows7用 sda2がext4でubuntuのルート sda3がlinux-swap領域 sda1〜3はプライメリーパーティション。 sda4が拡張領域でその中にsda5としてubuntuの/homeが入っていた。
2016-06-14 15:16:33sda4の拡張パーティション内はext4のsda5がすべて占めていた。 この状態で新たにパーティションを作ろうとすると、sda5を縮小して論理パーティションを切り出す必要がある。しかしWindowsからはext4の操作ができないのでアップグレードに失敗したのかもしれない。
2016-06-14 15:19:36結局、HDDが小さいこともあって、余ってたHDDに一からUbuntuとWindows7を再インストすることにした。Ubuntuのパーティションは全て論理パーティションにするよう注意した。
2016-06-14 15:23:16今度は sda1が NTFS sda5,6,7 がUbuntu用のパーティションとした。 この状態ならsda1の後ろに新しいプライメリーパーティションを作ることが可能となる。 こうしてから再びWindows10のアップグレードをしたら今度は無事成功して一件落着。
2016-06-14 15:26:59