end Kernel Panic – not syncing: VFS: Unable to mount root fs on unknown-block(179,7)出た(泣)

ラズパイをSSD化しようとしてSSDをフォーマットして再起動したらカーネルパニックになりました(泣)多分あやまってMicroSDカードをフォーマットしようと^^;したみたい・・・

バックアップもとってなかったので困った・・・なのでこれから復旧していきます。

ラズパイ以外のOSはWindows10しかないので、VitualBoxでUbuntuを使って復旧作業していきます。

VitualBox + Ubuntu インストール・設定

VitualBoxダウンロード

Downloads – Oracle VM VirtualBox

こちらでWindows hostsを選ぶ。

Ubuntuダウンロード

仮想ハードディスクイメージのダウンロード | Ubuntu Japanese Team

VitualBox起動

バーチャルOSを使えるようにしていきます。

今回はUbuntuを使います。

「すでにある仮想は~を使用する」でダウンロードしたUbuntuのパスを選びます。

先程ダウンロードしたubuntu-ja-14….amd64.vhdを選ぶ。

これでUbuntu登録完了

Ubuntu起動するにはVT-xを有効にしないと起動しない

早速Ubuntuを起動してみますが途中でエラーになって起動しませんでした・・・

以下のようにVT-xがなんちゃらとエラー表示がでます。

BIOSで設定しないとダメみたい・・・面倒だ!仕方がないので再起動

ASUS BIOSでVT-xをEnabledにする

起動時にASUSアイコンが表示されたらBIOSに入るために[F2]連打する。

Advanced > CPU Configuration に「Intel VT-x Technology Supported」と表示されている。

さらに下の方に「Intel Virtualization Technology」がDisableになっているのでEnabledに変更してExitに移動してセーブして再起動。

これでUbuntu起動するようになるでしょう。

Ubuntu起動

VT-xを有効にしたら無事にUbuntuが起動できた。

コピペできるように設定

Windows10とUbuntuがコピペできるようにならないと不便なので設定します。Ubuntuを終了してVirtualBoxマネージャー画面でUbuntuを選択して右上に「設定」が出てくるので押す。

以下のように一般 > 高度タブを選んでクリップボードの共有を「双方向」についでにファイルのドラッグ&ドロップも双方向にしておいた。

シェルがない!

Ubuntuもカッコいいデザインで使いやすくなっている!とおもったらシェルがない!アプリリストが無いのがちょっと不便。自分で好きなアプリを左側に登録しろということでしょう。

最初はびっくりした。左上のアプリリストアイコンでXtermと検索すると出てきた。

Terminalと検索しても出てきた。

で、起動してるときに右クリックでランチャーに登録すれば次回から検索する必要はないでしょう。

MicroSDマウント

Ubuntuが無事立ち上がったので、いよいよMicroSDをマウント・修復していきます。

ラズパイが入ったMicroSDマウント

まずはマウントしてMicroSDの状態をみていく。MicroSDをUSBアダプタに装着してパソコンに刺します。

自分の場合は デバイス > USB > TS-RDFS Transcend がUSBアダプタなので選択する。

デバイスを見てみると↓「SETTINGS」と「boot」がマウントされた。

dmesgとlsblk・fdiskでデバイス名を確認

$ dmesg

MicroSDカードはsdbのようです。

sdaがWindows10内にあるUbuntuのディスクでsdbがMicroSDにあるラズパイのシステムですね。

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk 
├─sda1   8:1    0    98G  0 part /
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0     2G  0 part [SWAP]
sdb      8:16   1  58.9G  0 disk 
├─sdb1   8:17   1   1.8G  0 part 
├─sdb2   8:18   1     1K  0 part 
├─sdb5   8:21   1    32M  0 part /media/go/SETTINGS
├─sdb6   8:22   1    69M  0 part /media/go/boot
└─sdb7   8:23   1    57G  0 part 
sr0     11:0    1  1024M  0 rom  

/dev/sdbの5個のパーティションを修復すればよさそう。

$ sudo fdisk /dev/sdb
コマンド (m でヘルプ): p
Disk /dev/sdb: 63.2 GB, 63229132800 bytes
ヘッド 4, セクタ 16, シリンダ 1929600, 合計 123494400 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00026445

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            2048     3656250     1827101+   e  W95 FAT16 (LBA)
/dev/sdb2         3656251   123494399    59919074+   5  拡張領域
/dev/sdb5         3661824     3727357       32767   83  Linux
/dev/sdb6         3727360     3868671       70656    c  W95 FAT32 (LBA)
/dev/sdb7         3874816   123494399    59809792   83  Linux

これらの/dev/sdb1,2,5,6,7パーティションを修復していきます。

アンマウント

修復はアンマウントしないとできないsdb5,sdb6がマウントされているので取り出す。

$ sudo umount /dev/sdb5
$ sudo umount /dev/sdb6

ラズパイのMicroSDカード修復

MicroSDのデバイス名が分かったのでいよいよ修復していきます。

$ sudo fsck /dev/sdb6
fsck from util-linux 2.20.1
fsck.fat 3.0.26 (2014-03-07)
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1

sdb6は修復できない??Dirty bit is set.というのが出てきたので調べるとfsckのオプション w rを入れると良いみたい。

$ sudo fsck -w -r /dev/sdb6
fsck from util-linux 2.20.1
fsck.fat 3.0.26 (2014-03-07)
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
Perform changes ? (y/n) y
/dev/sdb6: 180 files, 45083/139106 clusters

うまくいった。続いてsdb7、これがラズパイ本体が入っているパーティションで壊れてました。

$ sudo fsck /dev/sdb7
fsck from util-linux 2.20.1
e2fsck 1.42.9 (4-Feb-2014)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
root was not cleanly unmounted, check forced.
Pass 1: Checking iノードs, blocks, and sizes
Pass 2: Checking ディレクトリ structure
Pass 3: Checking ディレクトリ connectivity
Pass 4: Checking reference counts
Pass 5: Checking グループ summary information
Block ビットマップ differences:  -(885761--1048575) -(1081344--1572863) -(1606657--2097151) -(2195456--2621439) -(2719744--3145727) -(3244032--3670015) -(3702784--4095999) -(4097025--4194303) -(4227072--4718591) -(4784128--5242879) -(5275648--5767167) -(5799936--6291455) -(6422528--6815743) -(7012352--7340031) -(7503872--7864319) -(7963649--8388607) -(8519680--8912895) -(9011200--9437183) -(9535488--9961471) -(10059776--10485759) -(10780672--11010047) -(11108352--11239423) -(11240449--11534335) -(11665408--12058623) -(12189696--12582911) -(12648448--13107199) -(13139968--13631487) -(13664256--14155775) -(14188544--14680063) -(14712832--14942207)
修正<y>? yes
Free blocks count wrong for グループ #1 (31743, counted=5427).
修正<y>? yes
Free blocks count wrong for グループ #2 (32768, counted=645).
修正<y>? yes
・・・省略
root: ***** ファイルシステムは変更されました *****
root: 159554/3743744 files (0.2% non-contiguous), 1815595/14952448 blocks

修復完了!!

これでラズパイ3B+にMicroUSBを刺して起動したら!ヤッター無事起動♪

 

すぐにでもラズパイを他のディスクにまるごとコピーしてバックアップしなければヤバイですね。imgに入れてWindows10で保存するのがよさそう。

コメント

タイトルとURLをコピーしました